/******************************************************************************* * Copyright (c) 2013, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Bruno Medeiros - initial API and implementation *******************************************************************************/ package dtool.parser; import static melnorme.utilbox.core.Assert.AssertNamespace.assertTrue; import melnorme.lang.tooling.ast.SourceRange; import melnorme.utilbox.concurrency.OperationCancellation; import org.junit.Test; import dtool.ast.definitions.Module; import dtool.parser.common.AbstractParser.ParseHelper; import dtool.tests.CommonDToolTest; public class DeeParserAdditionalTests extends CommonDToolTest { @Test public void testModule() throws Exception { testModule$(); } public void testModule$() throws Exception { Module module = new DeeParser("").parseModule("defaultModuleName", null).node; assertTrue(module.defName.hasSourceRangeInfo()); module = new DeeParser(" int x;").parseModule("defaultModuleName", null).node; assertTrue(module.defName.hasSourceRangeInfo()); assertTrue(module.defName.getSourceRange().equals(SourceRange.srStartToEnd(0, 0))); } @Test public void testArgList() throws Exception { testArgList$(); } public void testArgList$() throws Exception { assertTrue(parseArgumentList("(").ruleBroken); assertTrue(parseArgumentList("()").ruleBroken == false); } public ParseHelper parseArgumentList(String source) throws OperationCancellation { DeeParser parser = new DeeParser(source); ParseHelper parse = parser.new ParseHelper(); parser.parseParenthesesDelimited_ExpArgumentList(parse);; return parse; } }