Beispiel #1
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("> a\n> b\n> c")
     node2 = QuotationNode(
         nodes=[TextNode("a"), TextNode("b"),
                TextNode("c")])
     self.assertEqual(str(node1), str(node2))
Beispiel #2
0
 def test_parse_list1(self):
     parser = Parser()
     node1 = parser.parse_string(
         "- 0\n" +
         "  * 1\n" +
         "    - 2\n" +
         "  * 1")
     node2 = OrderedListNode(nodes=[
         ListItemNode(nodes=[
             TextNode("0"),
             UnOrderedListNode(nodes=[
                 ListItemNode(nodes=[
                     TextNode("1"),
                     OrderedListNode(nodes=[
                         ListItemNode(nodes=[
                             TextNode("2")
                         ])
                     ])
                 ]),
                 ListItemNode(nodes=[
                     TextNode("1")
                 ])
             ])
         ])
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #3
0
 def test_parse2(self):
     parser = Parser()
     node1 = parser.parse_string(
         "@audio example.mp3\n@audio @src example.mp3\n@audio @src example.wav audio/wav")
     node2 = AudioNode(
         preload="none",
         controls=True,
         nodes=[
             SourceNode(
                 src="example.mp3",
                 type="audio/mpeg"),
             SourceNode(
                 src="example.mp3",
                 type="audio/mpeg"),
             SourceNode(
                 src="example.wav",
                 type="audio/wav"),
             ParagraphNode(nodes=[
                 TextNode(
                     "Your browser has not supported playing audio with HTML5."),
                 TextNode("You can download audio from "),
                 LinkNode(
                     href="example.mp3",
                     target="_blank",
                     nodes=[
                         TextNode("here")
                     ]),
                 TextNode(".")
             ])
         ])
     self.assertEqual(str(node1), str(node2))
Beispiel #4
0
 def test_parse4(self):
     parser = Parser()
     node1 = parser.parse_string("@image example.png\n" +
                                 "@image @case @src example1x.webp 1x\n" +
                                 "@image @case @src example2x.webp 2x\n" +
                                 "@image @case\n" +
                                 "@image @case @src example1x.png 1x\n" +
                                 "@image @case @src example2x.png 2x")
     node2 = LinkNode(
         href="example.png",
         target="_blank",
         nodes=[
             PictureNode(nodes=[
                 SourceNode(srcset=SrcsetAttribute([
                     Srcset("example1x.webp", width=Resolution(1)),
                     Srcset("example2x.webp", width=Resolution(2))
                 ]),
                            type="image/webp"),
                 SourceNode(srcset=SrcsetAttribute([
                     Srcset("example1x.png", width=Resolution(1)),
                     Srcset("example2x.png", width=Resolution(2))
                 ]),
                            type="image/png"),
                 ImageNode(src="example.png", decoding="async")
             ])
         ])
     self.assertEqual(str(node1), str(node2))
Beispiel #5
0
 def test_parse2(self):
     parser = Parser()
     node1 = parser.parse_string("> a\n> b\n> c\n>> https://example.com")
     node2 = QuotationNode(
         cite="https://example.com",
         nodes=[TextNode("a"), TextNode("b"),
                TextNode("c")])
     self.assertEqual(str(node1), str(node2))
Beispiel #6
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("newline  \n")
     node2 = ParagraphNode(nodes=[
         TextNode("newline"),
         NewlineNode()
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #7
0
 def test_parse3(self):
     parser = Parser()
     node1 = parser.parse_string("# h1\n## h2")
     node2 = RootNode(nodes=[
         HeadingNode(1, nodes=[TextNode("h1")]),
         HeadingNode(2, nodes=[TextNode("h2")])
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #8
0
 def test_parse3(self):
     parser = Parser()
     node1 = parser.parse_string("text then <b>bold</b>!")
     node2 = ParagraphNode(nodes=[
         TextNode("text then "),
         HTMLNode("<b>bold</b>"),
         TextNode("!")
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #9
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("[https://example.com]")
     node2 = ParagraphNode(nodes=[
         LinkNode(href="https://example.com",
                  target="_blank",
                  nodes=[TextNode("https://example.com")])
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #10
0
 def test_parse4(self):
     parser = Parser()
     node1 = parser.parse_string("text then <img src=\"example.png\"/>!")
     node2 = ParagraphNode(nodes=[
         TextNode("text then "),
         HTMLNode("<img src=\"example.png\"/>"),
         TextNode("!")
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #11
0
 def test_parse3(self):
     parser = Parser()
     node1 = parser.parse_string("text then ~~delete~~!")
     node2 = ParagraphNode(nodes=[
         TextNode("text then "),
         DeleteNode(nodes=[TextNode("delete")]),
         TextNode("!")
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #12
0
 def test_parse2(self):
     parser = Parser()
     node1 = parser.parse_string("text then `<b>example</b>`!")
     node2 = ParagraphNode(nodes=[
         TextNode("text then "),
         InlineCodeNode("<b>example</b>"),
         TextNode("!")
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #13
0
 def test_parse3(self):
     parser = Parser()
     node1 = parser.parse_string("text then **strong**!")
     node2 = ParagraphNode(nodes=[
         TextNode("text then "),
         StrongNode(nodes=[TextNode("strong")]),
         TextNode("!")
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #14
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("*emphasis*")
     node2 = ParagraphNode(nodes=[
         EmphasisNode(nodes=[
             TextNode("emphasis")
         ])
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #15
0
 def test_parse3(self):
     parser = Parser()
     node1 = parser.parse_string("text then *emphasis*!")
     node2 = ParagraphNode(nodes=[
         TextNode("text then "),
         EmphasisNode(nodes=[
             TextNode("emphasis")
         ]),
         TextNode("!")
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #16
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("@image example.png\n" +
                                 "@image @alt alt text.\n" +
                                 "@image @title title text.")
     node2 = LinkNode(href="example.png",
                      target="_blank",
                      nodes=[
                          ImageNode(src="example.png",
                                    alt="alt text.",
                                    title="title text.",
                                    decoding="async")
                      ])
     self.assertEqual(str(node1), str(node2))
Beispiel #17
0
 def test_parse2(self):
     parser = Parser()
     node1 = parser.parse_string("@image example.png\n" +
                                 "@image @case @src example1x.png 1x\n" +
                                 "@image @case @src example2x.png 2x")
     node2 = LinkNode(href="example.png",
                      target="_blank",
                      nodes=[
                          ImageNode(src="example.png",
                                    srcset=SrcsetAttribute([
                                        Srcset("example1x.png",
                                               width=Resolution(1)),
                                        Srcset("example2x.png",
                                               width=Resolution(2))
                                    ]),
                                    decoding="async")
                      ])
     self.assertEqual(str(node1), str(node2))
Beispiel #18
0
 def test_parse_ordered_list1(self):
     parser = Parser()
     node1 = parser.parse_string(
         "- a\n" +
         "- b\n" +
         "- c")
     node2 = OrderedListNode(nodes=[
         ListItemNode(nodes=[
             TextNode("a")
         ]),
         ListItemNode(nodes=[
             TextNode("b")
         ]),
         ListItemNode(nodes=[
             TextNode("c")
         ])
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #19
0
 def test_parse7(self):
     parser = Parser()
     node1 = parser.parse_string(
         "@image example.png\n" +
         "@image @case @src example-square.png 320w\n" +
         "@image @case @src example-full.png 640w")
     node2 = LinkNode(
         href="example.png",
         target="_blank",
         nodes=[
             PictureNode(nodes=[
                 SourceNode(srcset=SrcsetAttribute([
                     Srcset("example-square.png", width=Width(320)),
                     Srcset("example-full.png", width=Width(640))
                 ]),
                            type="image/png"),
                 ImageNode(src="example.png", decoding="async")
             ])
         ])
     self.assertEqual(str(node1), str(node2))
Beispiel #20
0
 def test_parse_unordered_list2(self):
     parser = Parser()
     node1 = parser.parse_string(
         "* *a*\n" +
         "* *b*\n" +
         "* *c*")
     node2 = UnOrderedListNode(nodes=[
         ListItemNode(nodes=[
             EmphasisNode(nodes=[
                 TextNode("a")
             ])
         ]),
         ListItemNode(nodes=[
             EmphasisNode(nodes=[
                 TextNode("b")
             ])
         ]),
         ListItemNode(nodes=[
             EmphasisNode(nodes=[
                 TextNode("c")
             ])
         ])
     ])
     self.assertEqual(str(node1), str(node2))
Beispiel #21
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("~~delete~~")
     node2 = ParagraphNode(nodes=[DeleteNode(nodes=[TextNode("delete")])])
     self.assertEqual(str(node1), str(node2))
Beispiel #22
0
 def test_parse2(self):
     parser = Parser()
     node = parser.parse_string("<img src=\"example.png\"/>")
     self.assertEqual(str(node), "<img src=\"example.png\"/>")
Beispiel #23
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("`<b>example</b>`")
     node2 = ParagraphNode(nodes=[InlineCodeNode("<b>example</b>")])
     self.assertEqual(str(node1), str(node2))
Beispiel #24
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("example")
     node2 = ParagraphNode(nodes=[TextNode("example")])
     self.assertEqual(str(node1), str(node2))
Beispiel #25
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("# h1")
     node2 = HeadingNode(1, nodes=[TextNode("h1")])
     self.assertEqual(str(node1), str(node2))
Beispiel #26
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("**strong**")
     node2 = ParagraphNode(nodes=[StrongNode(nodes=[TextNode("strong")])])
     self.assertEqual(str(node1), str(node2))
Beispiel #27
0
 def test_parse1(self):
     parser = Parser()
     node1 = parser.parse_string("```\n" + "<b>example</b>\n" + "```")
     node2 = CodeNode("<b>example</b>")
     self.assertEqual(str(node1), str(node2))
Beispiel #28
0
 def test_parse2(self):
     parser = Parser()
     node1 = parser.parse_string("```html\n" + "<b>example</b>\n" + "```")
     node2 = CodeNode("<b>example</b>", language="html")
     self.assertEqual(str(node1), str(node2))
Beispiel #29
0
 def test_parse1(self):
     parser = Parser()
     node = parser.parse_string("<b>bold</b>")
     self.assertEqual(str(node), "<b>bold</b>")
Beispiel #30
0
 def test_parse3(self):
     parser = Parser()
     node1 = parser.parse_string("[goto hash](#hash)")
     node2 = ParagraphNode(
         nodes=[LinkNode(href="#hash", nodes=[TextNode("goto hash")])])
     self.assertEqual(str(node1), str(node2))