public String toString() { StringBuilder s = new StringBuilder(); s.append(String.format("%2d %2d ", lft, rgt)); for (int i = 0; i < level; i++) { s.append("*"); } if (level > 0) { s.append(" "); } s.append(head.getTitle()); return s.toString(); } }
public String toString() { StringBuilder s = new StringBuilder(); s.append(String.format("%2d ", position)); for (int i = 0; i < level; i++) { s.append("*"); } if (level > 0) { s.append(" "); } s.append(head != null ? head.getTitle() : "-"); return s.toString(); } }
s.append(head.getTitle());
@Test public void testContentBeforeFirstEntry() throws IOException { String fileContent = "Text on top!\n" + "\n" + "* This is the first line with tag at the end of the line :tag1:\n" + "** [#A] Second heading with priority :tag2:\n" + "*** TODO [#B]Third heading with spaced priority :tag3:\n" + "**** DONE Heading number 4 :tag:todo:\n"; OrgParsedFile file = parserBuilder.setInput(fileContent).build().parse(); Assert.assertEquals("Text on top!", file.getFile().getPreface()); Assert.assertEquals("This is the first line with tag at the end of the line", file.getHeadsInList().get(0).getHead().getTitle()); Assert.assertEquals("Second heading with priority", file.getHeadsInList().get(1).getHead().getTitle()); Assert.assertEquals("Third heading with spaced priority", file.getHeadsInList().get(2).getHead().getTitle()); Assert.assertEquals("Heading number 4", file.getHeadsInList().get(3).getHead().getTitle()); }
@Test public void testNonStandardStateWithDefaults() throws IOException { OrgHead head = parserBuilder .setInput("** DO_NOW Title") .build().parse().getHeadsInList().get(0).getHead(); Assert.assertEquals("DO_NOW Title", head.getTitle()); Assert.assertNull(head.getState()); }
@Test public void testTodoInTitle() throws IOException { OrgHead head = parserBuilder .setInput("** TODO TODO in title") .build().parse().getHeadsInList().get(0).getHead(); Assert.assertEquals("TODO in title", head.getTitle()); Assert.assertEquals("TODO", head.getState()); }
@Test public void testBrokenTodoInTitle() throws IOException { OrgHead head = parserBuilder .setInput("** TODO:broken") .build().parse().getHeadsInList().get(0).getHead(); Assert.assertEquals("TODO:broken", head.getTitle()); Assert.assertNull(head.getState()); }
@Test public void testNonStandardState1() throws IOException { OrgHead head = parserBuilder .setInput("** DO_NOW Title") .setTodoKeywords(new String[]{"TODO", "DO_NOW"}) .build().parse().getHeadsInList().get(0).getHead(); Assert.assertEquals("Title", head.getTitle()); Assert.assertEquals("DO_NOW", head.getState()); }
@Test public void testNonStandardState2() throws IOException { OrgHead head = parserBuilder .setInput("** DO-NOW Title") .setTodoKeywords(new String[]{"TODO", "DO-NOW"}) .build().parse().getHeadsInList().get(0).getHead(); Assert.assertEquals("Title", head.getTitle()); Assert.assertEquals("DO-NOW", head.getState()); }
@Test public void testNonStandardState3() throws IOException { OrgHead head = parserBuilder .setInput("** DO.NOW.1.+_)(*&^%$#@!~` Title") .setTodoKeywords(new String[]{"DO.NOW.1.+_)(*&^%$#@!~`"}) .build().parse().getHeadsInList().get(0).getHead(); Assert.assertEquals("Title", head.getTitle()); Assert.assertEquals("DO.NOW.1.+_)(*&^%$#@!~`", head.getState()); }
@Test public void testStateKeywordAndTitleNotSeparated() throws IOException { OrgParsedFile file = parserBuilder.setInput("** TODONote\n").build().parse(); OrgNodeInList nodeInList = file.getHeadsInList().get(0); Assert.assertEquals(2, nodeInList.getLevel()); Assert.assertNull(nodeInList.getHead().getState()); Assert.assertEquals("TODONote", nodeInList.getHead().getTitle()); }
@Test public void testStateKeywordAndTitleEmpty() throws IOException { OrgNodeInList nodeInList = parserBuilder.setInput("** TODO").build().parse().getHeadsInList().get(0); Assert.assertEquals(2, nodeInList.getLevel()); Assert.assertEquals("", nodeInList.getHead().getTitle()); Assert.assertEquals("TODO", nodeInList.getHead().getState()); }
@Test public void testTitleEmpty() throws IOException { OrgNodeInList nodeInList = parserBuilder.setInput("** ").build().parse().getHeadsInList().get(0); Assert.assertEquals(2, nodeInList.getLevel()); Assert.assertEquals("", nodeInList.getHead().getTitle()); Assert.assertNull(nodeInList.getHead().getState()); }
@Test public void testComplicatedTimestamp() throws IOException { String fileContent = "** TODO Shave\n" + "SCHEDULED: <2009-10-17 Sat .+2d/4d>\n" + " - State \"DONE\" from \"TODO\" [2009-10-15 Thu]\n" + " - State \"DONE\" from \"TODO\" [2009-10-12 Mon]\n" + " :PROPERTIES:\n" + " :STYLE: habit\n" + " :LAST_REPEAT: [2009-10-19 Mon 00:36]\n" + " :END:"; OrgParsedFile file = parserBuilder.setInput(fileContent).build().parse(); Assert.assertEquals("", file.getFile().getPreface()); Assert.assertEquals("Shave", file.getHeadsInList().get(0).getHead().getTitle()); Assert.assertEquals("<2009-10-17 Sat .+2d/4d>", file.getHeadsInList().get(0).getHead().getScheduled().getStartTime().toString()); Assert.assertEquals("** TODO Shave\n" + "SCHEDULED: <2009-10-17 Sat .+2d/4d>\n" + " - State \"DONE\" from \"TODO\" [2009-10-15 Thu]\n" + " - State \"DONE\" from \"TODO\" [2009-10-12 Mon]\n" + " :PROPERTIES:\n" + " :STYLE: habit\n" + " :LAST_REPEAT: [2009-10-19 Mon 00:36]\n" + " :END:\n\n", file.toString()); }