use of org.eclipse.mylyn.wikitext.parser.markup.MarkupLanguage in project mylyn.docs by eclipse.
the class ServiceLocatorTest method testFQN.
@Test
public void testFQN() {
MarkupLanguage markupLanguage = locator.getMarkupLanguage(MockMarkupLanguage.class.getName());
assertNotNull(markupLanguage);
assertEquals(MockMarkupLanguage.class, markupLanguage.getClass());
}
use of org.eclipse.mylyn.wikitext.parser.markup.MarkupLanguage in project mylyn.docs by eclipse.
the class ServiceLocatorTest method testLoadClassNotFound.
@Test
public void testLoadClassNotFound() throws MalformedURLException {
final URL url = new URL("file://example");
final AtomicBoolean wasThrown = new AtomicBoolean();
locator = new ServiceLocator(ServiceLocatorTest.class.getClassLoader()) {
@Override
protected Class<?> loadClass(ResourceDescriptor resource, String className) throws ClassNotFoundException {
wasThrown.set(true);
throw new ClassNotFoundException(className);
}
@Override
protected List<ResourceDescriptor> discoverServiceResources() {
return Collections.singletonList(new ResourceDescriptor(url));
}
@Override
protected List<String> readServiceClassNames(URL url) {
return Collections.singletonList("test.TestLanguage");
}
@Override
void logFailure(String className, Exception e) {
}
};
Set<MarkupLanguage> languages = locator.getAllMarkupLanguages();
assertTrue(wasThrown.get());
assertNotNull(languages);
assertTrue(languages.isEmpty());
}
use of org.eclipse.mylyn.wikitext.parser.markup.MarkupLanguage in project mylyn.docs by eclipse.
the class ServiceLocatorTest method getAllMarkupLanguagesFiltersDuplicates.
@Test
public void getAllMarkupLanguagesFiltersDuplicates() {
final MarkupLanguage language1 = new TestMarkupLanguage("Language 1");
final MarkupLanguage language1b = new MarkupLanguage() {
{
setName("Language 1");
}
@Override
public void processContent(MarkupParser parser, String markupContent, boolean asDocument) {
throw new IllegalStateException();
}
};
final MarkupLanguage language2 = new TestMarkupLanguage("Language 3");
final MarkupLanguage language2b = new TestMarkupLanguage("Language 3");
ServiceLocator locator = new ServiceLocator(ServiceLocatorTest.class.getClassLoader()) {
@Override
void loadMarkupLanguages(MarkupLanguageVisitor visitor) {
visitor.accept(language1);
visitor.accept(language1b);
visitor.accept(language2);
visitor.accept(language2b);
}
};
Set<MarkupLanguage> markupLanguages = locator.getAllMarkupLanguages();
assertEquals(3, markupLanguages.size());
assertTrue(markupLanguages.containsAll(ImmutableSet.of(language1, language1b)));
assertTrue(markupLanguages.contains(language2) || markupLanguages.contains(language2b));
}
use of org.eclipse.mylyn.wikitext.parser.markup.MarkupLanguage in project mylyn.docs by eclipse.
the class ShowCheatSheetCommand method execute.
public Object execute(ExecutionEvent event) throws ExecutionException {
// $NON-NLS-1$
Object activeFocusControl = HandlerUtil.getVariable(event, "activeFocusControl");
if (activeFocusControl instanceof Control) {
Control control = (Control) activeFocusControl;
MarkupLanguage markupLanguage = (MarkupLanguage) control.getData(MarkupLanguage.class.getName());
ISourceViewer viewer = (ISourceViewer) control.getData(ISourceViewer.class.getName());
if (markupLanguage != null && viewer != null) {
ToolBarManager toolBarManager = new ToolBarManager();
toolBarManager.add(new ContextHelpAction());
final InformationPresenter informationPresenter = InformationPresenterUtil.getHtmlInformationPresenter(viewer, new InformationPresenterUtil.SizeConstraint(50, 200, true, true), toolBarManager, computeCheatSheet(markupLanguage));
// show information asynchronously since on Eclipse 3.4 it will disappear otherwise
Display.getCurrent().asyncExec(new Runnable() {
public void run() {
informationPresenter.showInformation();
}
});
}
}
return null;
}
use of org.eclipse.mylyn.wikitext.parser.markup.MarkupLanguage in project mylyn.docs by eclipse.
the class MarkupLanguageProviderTest method getMarkupLanguagesNullName.
@Test
public void getMarkupLanguagesNullName() {
MarkupLanguageProvider provider = new MarkupLanguageProvider() {
@Override
protected Set<MarkupLanguage> loadMarkupLanguages() {
MockMarkupLanguage language = new MockMarkupLanguage();
language.setName(null);
return ImmutableSet.<MarkupLanguage>of(language);
}
};
thrown.expect(NullPointerException.class);
thrown.expectMessage("Provided languages must have a name");
provider.getMarkupLanguages();
}
Aggregations