blob: a6e49b2415fc1f7baafaf60d07305e16a6af789d [file] [log] [blame]
package org.eclipse.dltk.core.tests.parser;
import org.eclipse.dltk.ast.parser.ISourceParser;
import org.eclipse.dltk.core.DLTKLanguageManager;
import org.eclipse.dltk.core.IDLTKContributedExtension;
import org.eclipse.dltk.core.tests.model.AbstractModelTests;
import org.eclipse.dltk.core.tests.model.TestConstants;
import org.eclipse.dltk.core.tests.model.TestSourceParser;
public class SourceParserTests extends AbstractModelTests {
private static final String PARSER_NAME = "Test Source Parser";
private static final String PARSER_ID = "org.eclipse.dltk.core.tests.sourceParser";
private static final int PARSER_PRIORITY = 1;
public SourceParserTests(String name) {
super("org.eclipse.dltk.core.tests", name);
}
public void testGetSourceParser() {
ISourceParser parser = null;
parser = DLTKLanguageManager.getSourceParser(TestConstants.NATURE_ID);
assertNotNull(parser);
assertTrue((parser instanceof TestSourceParser));
/*
* these tests are 'dependent' upon the two test tests above working -
* this could be broken out into its own top level test
*/
testParserConfig(parser);
}
private void testParserConfig(ISourceParser parser) {
final IDLTKContributedExtension extension = (IDLTKContributedExtension) parser;
// these are configured to the same value in plugin.xml
assertEquals(PARSER_NAME, extension.getName());
assertEquals(PARSER_NAME, extension.getDescription());
assertEquals(PARSER_ID, extension.getId());
assertEquals(TestConstants.NATURE_ID, extension.getNatureId());
assertEquals(PARSER_PRIORITY, extension.getPriority());
}
}