def diagram_without_start_or_end_uml_is_rejected(self): source = '\n@startuml\na -> b\n@enuml\n' parsed = parse_diagram_source(source) self.assertIsNone(parsed)
def test_diagram_without_uml_tags_is_rejected(self): source = 'a -> b\n\nc -> d' parsed = parse_diagram_source(source) self.assertIsNone(parsed)
def test_if_several_diagrams_only_first_is_taken(self): source = '\n@startuml\na -> b\n@enduml\n\n@startuml\nc -> d\n@enduml\n' expected = '@startuml\na -> b\n@enduml' parsed = parse_diagram_source(source) self.assertEqual(parsed, expected)
def test_cluttered(self): source = 'how did it get here?\n\n```\n\n@startuml\na -> b\n@enduml\n```\n&*^*Y' expected = '@startuml\na -> b\n@enduml' parsed = parse_diagram_source(source) self.assertEqual(parsed, expected)
def test_indented(self): source = ' @startuml\n a -> b\n\t@enduml\n ' expected = '@startuml\n a -> b\n@enduml' parsed = parse_diagram_source(source) self.assertEqual(parsed, expected)
def test_diagram_with_empty_lines(self): source = '@startuml\n a -> b\n\n c -> d\n@enduml' parsed = parse_diagram_source(source) self.assertEqual(source, parsed)