/** Test method for {@link JavadocBlockParserUtil#fetchBlockInfo(JavadocScanner)}. */ @Test public void testFetchBlockInfoBroken() { DefaultJavadocScanner scanner = scanner("broken-inline.txt"); JavadocBlockInfo block = JavadocBlockParserUtil.fetchBlockInfo(scanner); assertEquals(JavadocTokenKind.EOF, scanner.lookahead(0).getKind()); assertEquals("code", block.getTagName()); assertEquals(0, block.getLocation().getStartPosition()); assertEquals(scanner.lookahead(0).getStartPosition(), block.getLocation().getLength()); JavadocScanner bScanner = block.getBlockScanner(); IrDocText inline = JavadocBlockParserUtil.fetchText(bScanner, false, false); assertEquals(" Hello, world! EOF->", inline.getContent()); assertEquals(JavadocTokenKind.EOF, bScanner.lookahead(0).getKind()); }
/** Test method for {@link JavadocBlockParserUtil#fetchText(JavadocScanner, boolean, boolean)}. */ @Test public void testFetchText() { DefaultJavadocScanner scanner = scanner("testFetchText.txt"); { int offset = scanner.lookahead(0).getStartPosition(); IrDocText text = JavadocBlockParserUtil.fetchText(scanner, false, false); assertEquals("onlyIdentifier", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LINE_BREAK, scanner.lookahead(0).getKind()); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { int offset = scanner.lookahead(0).getStartPosition(); IrDocText text = JavadocBlockParserUtil.fetchText(scanner, false, false); assertEquals("Identifier with space", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LINE_BREAK, scanner.lookahead(0).getKind()); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { IrDocText text = JavadocBlockParserUtil.fetchText(scanner, false, false); assertNull(text); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { int offset = scanner.lookahead(0).getStartPosition(); IrDocText text = JavadocBlockParserUtil.fetchText(scanner, false, false); assertEquals("head ", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LEFT_BRACE, scanner.lookahead(0).getKind()); scanner.consume( JavadocScannerUtil.countUntil(EnumSet.of(JavadocTokenKind.RIGHT_BRACE), scanner, 0) + 1); offset = scanner.lookahead(0).getStartPosition(); text = JavadocBlockParserUtil.fetchText(scanner, false, false); assertEquals(" tail", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LINE_BREAK, scanner.lookahead(0).getKind()); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { int offset = scanner.lookahead(0).getStartPosition(); IrDocText text = JavadocBlockParserUtil.fetchText(scanner, false, false); assertEquals(" <- 3spaces -> ", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LINE_BREAK, scanner.lookahead(0).getKind()); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { int offset = scanner.lookahead(0).getStartPosition(); IrDocText text = JavadocBlockParserUtil.fetchText(scanner, true, false); assertEquals("<- 3spaces -> ", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset + 3, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LINE_BREAK, scanner.lookahead(0).getKind()); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { int offset = scanner.lookahead(0).getStartPosition(); IrDocText text = JavadocBlockParserUtil.fetchText(scanner, false, true); assertEquals(" <- 3spaces ->", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LINE_BREAK, scanner.lookahead(0).getKind()); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { int offset = scanner.lookahead(0).getStartPosition(); IrDocText text = JavadocBlockParserUtil.fetchText(scanner, true, true); assertEquals("<- 3spaces ->", text.getContent()); assertNotNull(text.getLocation()); assertEquals(offset + 3, text.getLocation().getStartPosition()); assertEquals(text.getContent().length(), text.getLocation().getLength()); assertEquals(JavadocTokenKind.LINE_BREAK, scanner.lookahead(0).getKind()); scanner.consume(JavadocScannerUtil.countUntilNextLineStart(scanner, 0)); } { IrDocText text = JavadocBlockParserUtil.fetchText(scanner, false, false); assertNull(text); } }