package org.eclipse.xtext.xdoc; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import javax.inject.Inject; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.junit4.InjectWith; import org.eclipse.xtext.junit4.XtextRunner; import org.eclipse.xtext.junit4.validation.ValidationTestHelper; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.Exceptions; import org.eclipse.xtext.xbase.lib.Extension; import org.eclipse.xtext.xbase.lib.IntegerRange; import org.eclipse.xtext.xbase.lib.IterableExtensions; import org.eclipse.xtext.xdoc.XdocInjectorProvider; import org.eclipse.xtext.xdoc.util.ParseHelperExtensions; import org.eclipse.xtext.xdoc.util.ParserTestConstants; import org.eclipse.xtext.xdoc.xdoc.AbstractSection; import org.eclipse.xtext.xdoc.xdoc.Chapter; import org.eclipse.xtext.xdoc.xdoc.Code; import org.eclipse.xtext.xdoc.xdoc.CodeBlock; import org.eclipse.xtext.xdoc.xdoc.Document; import org.eclipse.xtext.xdoc.xdoc.Emphasize; import org.eclipse.xtext.xdoc.xdoc.Identifiable; import org.eclipse.xtext.xdoc.xdoc.Item; import org.eclipse.xtext.xdoc.xdoc.LangDef; import org.eclipse.xtext.xdoc.xdoc.Link; import org.eclipse.xtext.xdoc.xdoc.OrderedList; import org.eclipse.xtext.xdoc.xdoc.Ref; import org.eclipse.xtext.xdoc.xdoc.Section; import org.eclipse.xtext.xdoc.xdoc.Section2; import org.eclipse.xtext.xdoc.xdoc.Section3; import org.eclipse.xtext.xdoc.xdoc.Section4; import org.eclipse.xtext.xdoc.xdoc.Table; import org.eclipse.xtext.xdoc.xdoc.TableData; import org.eclipse.xtext.xdoc.xdoc.TableRow; import org.eclipse.xtext.xdoc.xdoc.TextOrMarkup; import org.eclipse.xtext.xdoc.xdoc.TextPart; import org.eclipse.xtext.xdoc.xdoc.UnorderedList; import org.eclipse.xtext.xdoc.xdoc.XdocFile; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(XtextRunner.class) @InjectWith(XdocInjectorProvider.class) @SuppressWarnings("all") public class ParserTest { @Inject @Extension private ParseHelperExtensions<XdocFile> _parseHelperExtensions; @Inject @Extension private ValidationTestHelper _validationTestHelper; @Test public void testSimple() { try { final String title = "Title vom Kapitel"; final String firstPart = "Hier kommt dann mal text "; final String emphasized = "manchmal fett"; final String secondPart = " und manchmal nicht.\nNewlines und so gibt es auch."; StringConcatenation _builder = new StringConcatenation(); _builder.append("chapter["); _builder.append(title, ""); _builder.append("]"); _builder.newLineIfNotEmpty(); _builder.newLine(); _builder.append(firstPart, ""); _builder.append("e["); _builder.append(emphasized, ""); _builder.append("]"); _builder.append(secondPart, ""); _builder.newLineIfNotEmpty(); _builder.newLine(); final String text = _builder.toString(); String _string = text.toString(); final XdocFile model = this._parseHelperExtensions.parse(_string); this._validationTestHelper.assertNoErrors(model); AbstractSection _mainSection = model.getMainSection(); final Chapter chapter = ((Chapter) _mainSection); TextOrMarkup _title = chapter.getTitle(); EList<EObject> _contents = _title.getContents(); EObject _head = IterableExtensions.<EObject>head(_contents); String _text = ((TextPart) _head).getText(); Assert.assertEquals(title, _text); EList<TextOrMarkup> _contents_1 = chapter.getContents(); int _size = _contents_1.size(); Assert.assertEquals(1, _size); EList<TextOrMarkup> _contents_2 = chapter.getContents(); final TextOrMarkup p = IterableExtensions.<TextOrMarkup>head(_contents_2); EList<EObject> _contents_3 = p.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents_3); String _text_1 = ((TextPart) _head_1).getText(); Assert.assertEquals(firstPart, _text_1); EList<EObject> _contents_4 = p.getContents(); Iterable<EObject> _tail = IterableExtensions.<EObject>tail(_contents_4); EObject _head_2 = IterableExtensions.<EObject>head(_tail); EList<TextOrMarkup> _contents_5 = ((Emphasize) _head_2).getContents(); TextOrMarkup _head_3 = IterableExtensions.<TextOrMarkup>head(_contents_5); EList<EObject> _contents_6 = _head_3.getContents(); EObject _head_4 = IterableExtensions.<EObject>head(_contents_6); String _text_2 = ((TextPart) _head_4).getText(); Assert.assertEquals(emphasized, _text_2); EList<EObject> _contents_7 = p.getContents(); Iterable<EObject> _tail_1 = IterableExtensions.<EObject>tail(_contents_7); Iterable<EObject> _tail_2 = IterableExtensions.<EObject>tail(_tail_1); EObject _head_5 = IterableExtensions.<EObject>head(_tail_2); String _text_3 = ((TextPart) _head_5).getText(); Assert.assertEquals(secondPart, _text_3); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testsmallestDoc() { try { StringConcatenation _builder = new StringConcatenation(); _builder.append("chapter[foo bar]"); XdocFile _parse = this._parseHelperExtensions.parse(_builder); this._validationTestHelper.assertNoErrors(_parse); StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append("section[foo]"); _builder_1.newLine(); _builder_1.newLine(); _builder_1.append("bar"); _builder_1.newLine(); XdocFile _parse_1 = this._parseHelperExtensions.parse(_builder_1); this._validationTestHelper.assertNoErrors(_parse_1); StringConcatenation _builder_2 = new StringConcatenation(); _builder_2.append("section2[foo]"); _builder_2.newLine(); _builder_2.newLine(); _builder_2.append("bar"); _builder_2.newLine(); XdocFile _parse_2 = this._parseHelperExtensions.parse(_builder_2); this._validationTestHelper.assertNoErrors(_parse_2); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testAnchoredReference() { try { final String anchor = " a[refName]"; final String fill = " Jump "; final String refText = " to "; StringConcatenation _builder = new StringConcatenation(); _builder.append(" "); _builder.append("ref:refName["); _builder.append(refText, " "); _builder.append("]"); final String ref = _builder.toString(); StringConcatenation _builder_1 = new StringConcatenation(); _builder_1.append(ParserTestConstants.CHAPTER_HEAD, ""); _builder_1.append(anchor, ""); _builder_1.append(fill, ""); _builder_1.append(ref, ""); final XdocFile file = this._parseHelperExtensions.parse(_builder_1); AbstractSection _mainSection = file.getMainSection(); EList<TextOrMarkup> _contents = _mainSection.getContents(); final TextOrMarkup textOrMarkup = IterableExtensions.<TextOrMarkup>head(_contents); EList<EObject> _contents_1 = textOrMarkup.getContents(); int _size = _contents_1.size(); Assert.assertEquals(4, _size); EList<EObject> _contents_2 = textOrMarkup.getContents(); Iterable<EObject> _tail = IterableExtensions.<EObject>tail(_contents_2); final EObject a = IterableExtensions.<EObject>head(_tail); EList<EObject> _contents_3 = textOrMarkup.getContents(); EObject _get = _contents_3.get(3); final Ref r = ((Ref) _get); Identifiable _ref = r.getRef(); Assert.assertEquals(a, _ref); EList<TextOrMarkup> _contents_4 = r.getContents(); TextOrMarkup _head = IterableExtensions.<TextOrMarkup>head(_contents_4); EList<EObject> _contents_5 = _head.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents_5); String _text = ((TextPart) _head_1).getText(); Assert.assertEquals(refText, _text); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testCode() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "codeTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); final Document doc = ((Document) _mainSection); EList<Chapter> _chapters = doc.getChapters(); Chapter _head = IterableExtensions.<Chapter>head(_chapters); final EList<TextOrMarkup> contents = _head.getContents(); TextOrMarkup textOrMarkup = IterableExtensions.<TextOrMarkup>head(contents); EList<EObject> _contents = textOrMarkup.getContents(); int _size = _contents.size(); Assert.assertEquals(1, _size); EList<EObject> _contents_1 = textOrMarkup.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents_1); CodeBlock cb = ((CodeBlock) _head_1); EList<EObject> _contents_2 = cb.getContents(); EObject _head_2 = IterableExtensions.<EObject>head(_contents_2); final Code code = ((Code) _head_2); StringConcatenation _builder = new StringConcatenation(); _builder.newLine(); _builder.append("class Foo {"); _builder.newLine(); _builder.append("public static void main(String\\[\\] args){"); _builder.newLine(); _builder.append("System.out.println(\"Hello World\\n\");"); _builder.newLine(); _builder.append("}"); _builder.newLine(); _builder.append("}"); _builder.newLine(); String _string = _builder.toString(); String _contents_3 = code.getContents(); Assert.assertEquals(_string, _contents_3); Iterable<TextOrMarkup> _tail = IterableExtensions.<TextOrMarkup>tail(contents); TextOrMarkup _head_3 = IterableExtensions.<TextOrMarkup>head(_tail); textOrMarkup = _head_3; EList<EObject> _contents_4 = textOrMarkup.getContents(); EObject _head_4 = IterableExtensions.<EObject>head(_contents_4); cb = ((CodeBlock) _head_4); EList<EObject> _contents_5 = cb.getContents(); int _size_1 = _contents_5.size(); Assert.assertEquals(0, _size_1); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testCodeWithLanguage() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile( (ParserTestConstants.TEST_FILE_DIR + "codeWithLanguageTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); final Document abstractSection = ((Document) _mainSection); EList<Chapter> _chapters = abstractSection.getChapters(); Chapter _get = _chapters.get(0); EList<TextOrMarkup> _contents = _get.getContents(); final TextOrMarkup textOrMarkup = _contents.get(0); EList<EObject> _contents_1 = textOrMarkup.getContents(); int _size = _contents_1.size(); Assert.assertEquals(1, _size); EList<EObject> _contents_2 = textOrMarkup.getContents(); EObject _get_1 = _contents_2.get(0); final CodeBlock cb = ((CodeBlock) _get_1); StringConcatenation _builder = new StringConcatenation(); _builder.newLine(); _builder.append("\t", ""); _builder.append("/* a testclass */"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("class Foo {"); _builder.newLine(); _builder.append("\t\t"); _builder.append("public static void main(String\\[\\] args){"); _builder.newLine(); _builder.append("\t\t\t"); _builder.append("System.out.println(\"Hello World\"+\'\\n\'); // say \"hello\""); _builder.newLine(); _builder.append("\t\t"); _builder.append("}"); _builder.newLine(); _builder.append("\t"); _builder.append("}"); _builder.newLine(); String _string = _builder.toString(); EList<EObject> _contents_3 = cb.getContents(); EObject _head = IterableExtensions.<EObject>head(_contents_3); String _contents_4 = ((Code) _head).getContents(); Assert.assertEquals(_string, _contents_4); LangDef _language = cb.getLanguage(); String _name = _language.getName(); Assert.assertEquals("Java", _name); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testComment() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "commentTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); EList<TextOrMarkup> _contents = _mainSection.getContents(); int _size = _contents.size(); Assert.assertEquals(1, _size); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testLink() throws Exception { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "linkTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); EList<TextOrMarkup> _contents = _mainSection.getContents(); TextOrMarkup _head = IterableExtensions.<TextOrMarkup>head(_contents); EList<EObject> _contents_1 = _head.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents_1); final Link link = ((Link) _head_1); String _url = link.getUrl(); final URL url = new URL(_url); final URLConnection connection = url.openConnection(); Assert.assertNotNull(connection); } @Test public void testNamedReference() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile( (ParserTestConstants.TEST_FILE_DIR + "namedRefAndTextTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); EList<TextOrMarkup> _contents = _mainSection.getContents(); TextOrMarkup _head = IterableExtensions.<TextOrMarkup>head(_contents); EList<EObject> _contents_1 = _head.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents_1); final Ref r = ((Ref) _head_1); AbstractSection _mainSection_1 = file.getMainSection(); Identifiable _ref = r.getRef(); Assert.assertEquals(_mainSection_1, _ref); EList<TextOrMarkup> _contents_2 = r.getContents(); TextOrMarkup _head_2 = IterableExtensions.<TextOrMarkup>head(_contents_2); EList<EObject> _contents_3 = _head_2.getContents(); EObject _head_3 = IterableExtensions.<EObject>head(_contents_3); String _text = ((TextPart) _head_3).getText(); Assert.assertEquals("a Chapter", _text); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testNestedList() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "nestedListTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); EList<TextOrMarkup> _contents = _mainSection.getContents(); TextOrMarkup _head = IterableExtensions.<TextOrMarkup>head(_contents); EList<EObject> _contents_1 = _head.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents_1); final UnorderedList outer = ((UnorderedList) _head_1); EList<Item> items = outer.getItems(); int _size = items.size(); Assert.assertEquals(1, _size); Item _head_2 = IterableExtensions.<Item>head(items); EList<TextOrMarkup> itemContents = _head_2.getContents(); int _size_1 = itemContents.size(); Assert.assertEquals(1, _size_1); TextOrMarkup _head_3 = IterableExtensions.<TextOrMarkup>head(itemContents); final EList<EObject> contents = _head_3.getContents(); int _size_2 = contents.size(); Assert.assertEquals(3, _size_2); EObject _head_4 = IterableExtensions.<EObject>head(contents); String _text = ((TextPart) _head_4).getText(); boolean _matches = _text.matches("\\s+"); Assert.assertTrue(_matches); EObject _get = contents.get(2); String _text_1 = ((TextPart) _get).getText(); boolean _matches_1 = _text_1.matches("\\s+"); Assert.assertTrue(_matches_1); Iterable<EObject> _tail = IterableExtensions.<EObject>tail(contents); EObject _head_5 = IterableExtensions.<EObject>head(_tail); final UnorderedList inner = ((UnorderedList) _head_5); EList<Item> _items = inner.getItems(); items = _items; int _size_3 = items.size(); Assert.assertEquals(1, _size_3); Item _head_6 = IterableExtensions.<Item>head(items); EList<TextOrMarkup> _contents_2 = _head_6.getContents(); itemContents = _contents_2; int _size_4 = itemContents.size(); Assert.assertEquals(1, _size_4); TextOrMarkup _head_7 = IterableExtensions.<TextOrMarkup>head(itemContents); EList<EObject> _contents_3 = _head_7.getContents(); int _size_5 = _contents_3.size(); Assert.assertEquals(1, _size_5); TextOrMarkup _head_8 = IterableExtensions.<TextOrMarkup>head(itemContents); EList<EObject> _contents_4 = _head_8.getContents(); EObject _head_9 = IterableExtensions.<EObject>head(_contents_4); String _text_2 = ((TextPart) _head_9).getText(); Assert.assertEquals("some item", _text_2); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testSimpleRef() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "simpleRefTest.xdoc")); final AbstractSection section = file.getMainSection(); final EList<TextOrMarkup> contents = section.getContents(); int _size = contents.size(); Assert.assertEquals(1, _size); final TextOrMarkup textOrMarkup = IterableExtensions.<TextOrMarkup>head(contents); EList<EObject> _contents = textOrMarkup.getContents(); int _size_1 = _contents.size(); Assert.assertEquals(2, _size_1); EList<EObject> _contents_1 = textOrMarkup.getContents(); EObject _head = IterableExtensions.<EObject>head(_contents_1); String _text = ((TextPart) _head).getText(); Assert.assertEquals("This is ", _text); EList<EObject> _contents_2 = textOrMarkup.getContents(); Iterable<EObject> _tail = IterableExtensions.<EObject>tail(_contents_2); EObject _head_1 = IterableExtensions.<EObject>head(_tail); Identifiable _ref = ((Ref) _head_1).getRef(); Assert.assertEquals(section, _ref); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testEscape() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "testEscape.xdoc")); AbstractSection _mainSection = file.getMainSection(); EList<TextOrMarkup> _contents = _mainSection.getContents(); final TextOrMarkup textOrMarkup = IterableExtensions.<TextOrMarkup>head(_contents); EList<EObject> _contents_1 = textOrMarkup.getContents(); int _size = _contents_1.size(); Assert.assertEquals(1, _size); EList<EObject> _contents_2 = textOrMarkup.getContents(); EObject _head = IterableExtensions.<EObject>head(_contents_2); final TextPart p = ((TextPart) _head); String _text = p.getText(); Assert.assertEquals("\\\\ \\[ \\]", _text); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testImg() { try { XdocFile _docFromFile = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "imgTest.xdoc")); this._validationTestHelper.assertNoErrors(_docFromFile); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testUL() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "ulTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); final Chapter chapter = ((Chapter) _mainSection); EList<TextOrMarkup> contents = chapter.getContents(); int _size = contents.size(); Assert.assertEquals(1, _size); TextOrMarkup textOrMarkup = IterableExtensions.<TextOrMarkup>head(contents); EList<EObject> _contents = textOrMarkup.getContents(); int _size_1 = _contents.size(); Assert.assertEquals(1, _size_1); EList<EObject> _contents_1 = textOrMarkup.getContents(); EObject _head = IterableExtensions.<EObject>head(_contents_1); final UnorderedList list = ((UnorderedList) _head); EList<Item> _items = list.getItems(); int _size_2 = _items.size(); Assert.assertEquals(2, _size_2); EList<Item> _items_1 = list.getItems(); Item _head_1 = IterableExtensions.<Item>head(_items_1); EList<TextOrMarkup> _contents_2 = _head_1.getContents(); contents = _contents_2; int _size_3 = contents.size(); Assert.assertEquals(1, _size_3); TextOrMarkup _head_2 = IterableExtensions.<TextOrMarkup>head(contents); textOrMarkup = _head_2; EList<EObject> _contents_3 = textOrMarkup.getContents(); int _size_4 = _contents_3.size(); Assert.assertEquals(1, _size_4); EList<EObject> _contents_4 = textOrMarkup.getContents(); EObject _head_3 = IterableExtensions.<EObject>head(_contents_4); String _text = ((TextPart) _head_3).getText(); Assert.assertEquals("An item", _text); EList<Item> _items_2 = list.getItems(); Iterable<Item> _tail = IterableExtensions.<Item>tail(_items_2); Item _head_4 = IterableExtensions.<Item>head(_tail); EList<TextOrMarkup> _contents_5 = _head_4.getContents(); contents = _contents_5; int _size_5 = contents.size(); Assert.assertEquals(2, _size_5); TextOrMarkup _head_5 = IterableExtensions.<TextOrMarkup>head(contents); textOrMarkup = _head_5; EList<EObject> _contents_6 = textOrMarkup.getContents(); int _size_6 = _contents_6.size(); Assert.assertEquals(1, _size_6); EList<EObject> _contents_7 = textOrMarkup.getContents(); EObject _head_6 = IterableExtensions.<EObject>head(_contents_7); String _text_1 = ((TextPart) _head_6).getText(); Assert.assertEquals("A paragraph", _text_1); Iterable<TextOrMarkup> _tail_1 = IterableExtensions.<TextOrMarkup>tail(contents); TextOrMarkup _head_7 = IterableExtensions.<TextOrMarkup>head(_tail_1); textOrMarkup = _head_7; EList<EObject> _contents_8 = textOrMarkup.getContents(); int _size_7 = _contents_8.size(); Assert.assertEquals(1, _size_7); EList<EObject> _contents_9 = textOrMarkup.getContents(); EObject _head_8 = IterableExtensions.<EObject>head(_contents_9); String _text_2 = ((TextPart) _head_8).getText(); Assert.assertEquals("\titem", _text_2); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testOL() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "olTest.xdoc")); AbstractSection _mainSection = file.getMainSection(); final Chapter chapter = ((Chapter) _mainSection); EList<TextOrMarkup> contents = chapter.getContents(); int _size = contents.size(); Assert.assertEquals(1, _size); TextOrMarkup textOrMarkup = IterableExtensions.<TextOrMarkup>head(contents); EList<EObject> _contents = textOrMarkup.getContents(); int _size_1 = _contents.size(); Assert.assertEquals(1, _size_1); EList<EObject> _contents_1 = textOrMarkup.getContents(); EObject _head = IterableExtensions.<EObject>head(_contents_1); final OrderedList list = ((OrderedList) _head); EList<Item> _items = list.getItems(); int _size_2 = _items.size(); Assert.assertEquals(2, _size_2); EList<Item> _items_1 = list.getItems(); Item _head_1 = IterableExtensions.<Item>head(_items_1); EList<TextOrMarkup> _contents_2 = _head_1.getContents(); contents = _contents_2; int _size_3 = contents.size(); Assert.assertEquals(1, _size_3); TextOrMarkup _head_2 = IterableExtensions.<TextOrMarkup>head(contents); textOrMarkup = _head_2; EList<EObject> _contents_3 = textOrMarkup.getContents(); int _size_4 = _contents_3.size(); Assert.assertEquals(1, _size_4); EList<EObject> _contents_4 = textOrMarkup.getContents(); EObject _head_3 = IterableExtensions.<EObject>head(_contents_4); String _text = ((TextPart) _head_3).getText(); Assert.assertEquals("An item", _text); EList<Item> _items_2 = list.getItems(); Iterable<Item> _tail = IterableExtensions.<Item>tail(_items_2); Item _head_4 = IterableExtensions.<Item>head(_tail); EList<TextOrMarkup> _contents_5 = _head_4.getContents(); contents = _contents_5; int _size_5 = contents.size(); Assert.assertEquals(2, _size_5); TextOrMarkup _head_5 = IterableExtensions.<TextOrMarkup>head(contents); textOrMarkup = _head_5; EList<EObject> _contents_6 = textOrMarkup.getContents(); int _size_6 = _contents_6.size(); Assert.assertEquals(1, _size_6); EList<EObject> _contents_7 = textOrMarkup.getContents(); EObject _head_6 = IterableExtensions.<EObject>head(_contents_7); String _text_1 = ((TextPart) _head_6).getText(); Assert.assertEquals("A paragraph", _text_1); Iterable<TextOrMarkup> _tail_1 = IterableExtensions.<TextOrMarkup>tail(contents); TextOrMarkup _head_7 = IterableExtensions.<TextOrMarkup>head(_tail_1); textOrMarkup = _head_7; EList<EObject> _contents_8 = textOrMarkup.getContents(); int _size_7 = _contents_8.size(); Assert.assertEquals(1, _size_7); EList<EObject> _contents_9 = textOrMarkup.getContents(); EObject _head_8 = IterableExtensions.<EObject>head(_contents_9); String _text_2 = ((TextPart) _head_8).getText(); Assert.assertEquals("\titem", _text_2); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testTable() { try { final String tableStart = "table["; final String row = "tr["; final String dataString = "this is"; final String dataString2 = "a two paragraph table entry"; StringConcatenation _builder = new StringConcatenation(); _builder.append(ParserTestConstants.CHAPTER_HEAD, ""); _builder.newLineIfNotEmpty(); _builder.newLine(); _builder.append(tableStart, ""); _builder.append(row, ""); _builder.append("td["); _builder.append(dataString, ""); _builder.newLineIfNotEmpty(); _builder.newLine(); _builder.append(dataString2, ""); _builder.append(ParserTestConstants.CLOSE_BRACKET, ""); _builder.append("td[]"); _builder.append(ParserTestConstants.CLOSE_BRACKET, ""); _builder.append(ParserTestConstants.CLOSE_BRACKET, ""); _builder.newLineIfNotEmpty(); final XdocFile file = this._parseHelperExtensions.parse(_builder); AbstractSection _mainSection = file.getMainSection(); final EList<TextOrMarkup> textOrMarkup = _mainSection.getContents(); int _size = textOrMarkup.size(); Assert.assertEquals(1, _size); TextOrMarkup _head = IterableExtensions.<TextOrMarkup>head(textOrMarkup); EList<EObject> _contents = _head.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents); final Table t = ((Table) _head_1); EList<TableRow> _rows = t.getRows(); int _size_1 = _rows.size(); Assert.assertEquals(1, _size_1); EList<TableRow> _rows_1 = t.getRows(); TableRow _head_2 = IterableExtensions.<TableRow>head(_rows_1); final EList<TableData> data = _head_2.getData(); int _size_2 = data.size(); Assert.assertEquals(2, _size_2); TableData td = data.get(0); final EList<TextOrMarkup> contents = td.getContents(); int _size_3 = contents.size(); Assert.assertEquals(2, _size_3); TextOrMarkup _head_3 = IterableExtensions.<TextOrMarkup>head(contents); EList<EObject> _contents_1 = _head_3.getContents(); EObject _head_4 = IterableExtensions.<EObject>head(_contents_1); TextPart text = ((TextPart) _head_4); String _text = text.getText(); Assert.assertEquals(dataString, _text); Iterable<TextOrMarkup> _tail = IterableExtensions.<TextOrMarkup>tail(contents); TextOrMarkup _head_5 = IterableExtensions.<TextOrMarkup>head(_tail); EList<EObject> _contents_2 = _head_5.getContents(); EObject _head_6 = IterableExtensions.<EObject>head(_contents_2); text = ((TextPart) _head_6); String _text_1 = text.getText(); Assert.assertEquals(dataString2, _text_1); Iterable<TableData> _tail_1 = IterableExtensions.<TableData>tail(data); TableData _head_7 = IterableExtensions.<TableData>head(_tail_1); td = _head_7; EList<TextOrMarkup> _contents_3 = td.getContents(); int _size_4 = _contents_3.size(); Assert.assertEquals(0, _size_4); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testCodeLangDef() { try { final String name = "Java"; final ArrayList<String> expectedKeywords = CollectionLiterals.<String>newArrayList("final", "const", "goto", "strictfp"); StringConcatenation _builder = new StringConcatenation(); _builder.append(ParserTestConstants.DOC_HEAD, ""); _builder.append("codelanguage-def["); _builder.append(name, ""); _builder.append("]["); String _join = IterableExtensions.join(expectedKeywords, ","); _builder.append(_join, ""); _builder.append("]"); _builder.newLineIfNotEmpty(); _builder.append("chapter[foo]"); _builder.newLine(); _builder.newLine(); _builder.newLine(); final XdocFile file = this._parseHelperExtensions.parse(_builder); AbstractSection _mainSection = file.getMainSection(); final Document doc = ((Document) _mainSection); final EList<LangDef> defs = doc.getLangDefs(); int _size = defs.size(); Assert.assertEquals(1, _size); final LangDef def = IterableExtensions.<LangDef>head(defs); String _name = def.getName(); Assert.assertEquals(name, _name); final EList<String> keywords = def.getKeywords(); int _size_1 = expectedKeywords.size(); int _size_2 = keywords.size(); Assert.assertEquals(_size_1, _size_2); int _size_3 = keywords.size(); int _minus = (_size_3 - 1); IntegerRange _upTo = new IntegerRange(0, _minus); for (final Integer i : _upTo) { String _get = expectedKeywords.get((i).intValue()); String _get_1 = keywords.get((i).intValue()); Assert.assertEquals(_get, _get_1); } } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } @Test public void testFullSectionHirarchy() { try { final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "downToSection4Test.xdoc")); AbstractSection _mainSection = file.getMainSection(); final Document doc = ((Document) _mainSection); TextOrMarkup _title = doc.getTitle(); EList<EObject> _contents = _title.getContents(); int _size = _contents.size(); Assert.assertEquals(1, _size); TextOrMarkup _title_1 = doc.getTitle(); EList<EObject> _contents_1 = _title_1.getContents(); EObject _head = IterableExtensions.<EObject>head(_contents_1); TextPart textPart = ((TextPart) _head); String _text = textPart.getText(); Assert.assertEquals("foo", _text); EList<Chapter> _chapters = doc.getChapters(); int _size_1 = _chapters.size(); Assert.assertEquals(1, _size_1); EList<Chapter> _chapters_1 = doc.getChapters(); final Chapter chapter = IterableExtensions.<Chapter>head(_chapters_1); TextOrMarkup _title_2 = chapter.getTitle(); EList<EObject> _contents_2 = _title_2.getContents(); int _size_2 = _contents_2.size(); Assert.assertEquals(1, _size_2); TextOrMarkup _title_3 = chapter.getTitle(); EList<EObject> _contents_3 = _title_3.getContents(); EObject _head_1 = IterableExtensions.<EObject>head(_contents_3); textPart = ((TextPart) _head_1); String _text_1 = textPart.getText(); Assert.assertEquals("bar", _text_1); EList<Section> _subSections = chapter.getSubSections(); int _size_3 = _subSections.size(); Assert.assertEquals(1, _size_3); EList<Section> _subSections_1 = chapter.getSubSections(); final Section section = IterableExtensions.<Section>head(_subSections_1); TextOrMarkup _title_4 = section.getTitle(); EList<EObject> _contents_4 = _title_4.getContents(); int _size_4 = _contents_4.size(); Assert.assertEquals(1, _size_4); TextOrMarkup _title_5 = section.getTitle(); EList<EObject> _contents_5 = _title_5.getContents(); EObject _head_2 = IterableExtensions.<EObject>head(_contents_5); textPart = ((TextPart) _head_2); String _text_2 = textPart.getText(); Assert.assertEquals("foo�", _text_2); EList<Section2> _subSections_2 = section.getSubSections(); int _size_5 = _subSections_2.size(); Assert.assertEquals(1, _size_5); EList<Section2> _subSections_3 = section.getSubSections(); final Section2 section2 = IterableExtensions.<Section2>head(_subSections_3); TextOrMarkup _title_6 = section2.getTitle(); EList<EObject> _contents_6 = _title_6.getContents(); int _size_6 = _contents_6.size(); Assert.assertEquals(1, _size_6); TextOrMarkup _title_7 = section2.getTitle(); EList<EObject> _contents_7 = _title_7.getContents(); EObject _head_3 = IterableExtensions.<EObject>head(_contents_7); textPart = ((TextPart) _head_3); String _text_3 = textPart.getText(); Assert.assertEquals("pilz", _text_3); EList<Section3> _subSections_4 = section2.getSubSections(); int _size_7 = _subSections_4.size(); Assert.assertEquals(1, _size_7); EList<Section3> _subSections_5 = section2.getSubSections(); final Section3 section3 = IterableExtensions.<Section3>head(_subSections_5); TextOrMarkup _title_8 = section3.getTitle(); EList<EObject> _contents_8 = _title_8.getContents(); int _size_8 = _contents_8.size(); Assert.assertEquals(1, _size_8); TextOrMarkup _title_9 = section3.getTitle(); EList<EObject> _contents_9 = _title_9.getContents(); EObject _head_4 = IterableExtensions.<EObject>head(_contents_9); textPart = ((TextPart) _head_4); String _text_4 = textPart.getText(); Assert.assertEquals("sna", _text_4); EList<Section4> _subSections_6 = section3.getSubSections(); int _size_9 = _subSections_6.size(); Assert.assertEquals(1, _size_9); EList<Section4> _subSections_7 = section3.getSubSections(); final Section4 section4 = IterableExtensions.<Section4>head(_subSections_7); TextOrMarkup _title_10 = section4.getTitle(); EList<EObject> _contents_10 = _title_10.getContents(); int _size_10 = _contents_10.size(); Assert.assertEquals(1, _size_10); TextOrMarkup _title_11 = section4.getTitle(); EList<EObject> _contents_11 = _title_11.getContents(); EObject _head_5 = IterableExtensions.<EObject>head(_contents_11); textPart = ((TextPart) _head_5); String _text_5 = textPart.getText(); Assert.assertEquals("fu", _text_5); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } }