예제 #1
0
    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)
예제 #2
0
    def test_diagram_without_uml_tags_is_rejected(self):
        source = 'a -> b\n\nc -> d'

        parsed = parse_diagram_source(source)
        self.assertIsNone(parsed)
예제 #3
0
    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)
예제 #4
0
    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)
예제 #5
0
    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)
예제 #6
0
    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)