예제 #1
0
파일: test_node.py 프로젝트: kosystem/wdom
    def test_html_escape(self):
        self.assertEqual(self.tnode.html, 'text')
        self.tnode.textContent = '<'
        # not escape it has no parent
        self.assertEqual(self.tnode.html, '<')
        self.df.appendChild(self.tnode)
        # escape its parent is DocumentFragment or Element or...
        self.assertEqual(self.tnode.html, '&lt;')

        self.assertEqual(Text('<', parent=self.df).html, '&lt;')
        self.assertEqual(Text('>', parent=self.df).html, '&gt;')
        self.assertEqual(Text('&', parent=self.df).html, '&amp;')
        self.assertEqual(Text('"', parent=self.df).html, '&quot;')
        self.assertEqual(Text('\'', parent=self.df).html, '&#x27;')
예제 #2
0
파일: test_node.py 프로젝트: kosystem/wdom
 def test_children(self):
     self.p.appendChild(Text('a'))
     self.p.appendChild(Comment('b'))
     self.assertEqual(self.p.children.length, 0)
     elm1 = Element('c1')
     self.p.appendChild(elm1)
     self.p.appendChild(Text('d'))
     self.assertEqual(self.p.children.length, 1)
     self.assertIs(self.p.firstElementChild, elm1)
     self.assertIs(self.p.lastElementChild, elm1)
     elm2 = Element('c2')
     self.p.appendChild(elm2)
     self.p.appendChild(Text('e'))
     self.assertIs(self.p.firstElementChild, elm1)
     self.assertIs(self.p.lastElementChild, elm2)
예제 #3
0
파일: test_node.py 프로젝트: kosystem/wdom
    def test_text_content(self):
        self.set_element(self.tag)
        self.assertEqual(self.element.text, '')
        self.tag.textContent = 'text'
        self.wait_until(lambda: self.element.text == 'text')
        self.assertEqual(self.element.text, 'text')

        self.c1.textContent = 'child'
        self.tag.appendChild(self.c1)
        self.wait_until(lambda: self.element.text == 'textchild')
        self.assertEqual(self.element.text, 'textchild')

        self.tag.textContent = 'NewText'
        self.wait_until(lambda: self.element.text == 'NewText')
        self.assertEqual(self.element.text, 'NewText')
        with self.assertRaises(NoSuchElementException):
            self.set_element(self.c1, self.wait_time * 10)

        self.set_element(self.tag)
        t_node = Text('TextNode')
        self.tag.replaceChild(t_node, self.tag.childNodes[0])
        self.wait_until(lambda: self.element.text == 'TextNode')
        self.assertEqual(self.element.text, 'TextNode')

        self.tag.removeChild(self.tag.childNodes[0])
        self.set_element(self.tag)
        self.wait_until(lambda: self.element.text == '')
        self.assertEqual(self.element.text, '')
예제 #4
0
    async def test_text_content(self):
        self.element = await self.get_element_handle(self.tag)
        self.assertEqual(await self.get_text(), '')
        self.tag.textContent = 'text'
        await self.wait()
        self.assertEqual(await self.get_text(), 'text')

        self.c1.textContent = 'child'
        self.tag.appendChild(self.c1)
        await self.wait_for_element(self.c1)
        self.assertEqual(await self.get_text(), 'textchild')

        self.tag.textContent = 'NewText'
        await self.wait()
        self.assertEqual(await self.get_text(), 'NewText')
        self.assertIsNone(await self.get_element_handle(self.c1))

        t_node = Text('TextNode')
        self.tag.replaceChild(t_node, self.tag.childNodes[0])
        await self.wait()
        self.assertEqual(await self.get_text(), 'TextNode')

        self.tag.removeChild(t_node)
        await self.wait()
        self.assertEqual(await self.get_text(), '')
예제 #5
0
 def test_append_text(self):
     from html import escape
     t = '<a>'
     t_node = Text(t)
     self.assertEqual(t_node.textContent, t)
     self.assertEqual(t_node.html, t)
     self.elm.appendChild(t_node)
     self.js_mock.assert_called_once_with('insertAdjacentHTML', 'beforeend',
                                          escape('<a>'))
     self.assertEqual(t_node.html, escape(t))
예제 #6
0
파일: test_node.py 프로젝트: kosystem/wdom
 def setUp(self):
     self.node = Node()
     self.df = DocumentFragment()
     self.tnode = Text('text')
예제 #7
0
 def createTextNode(self, text: str) -> Text:
     """Create text node with ``text``."""
     return Text(text)
예제 #8
0
파일: parser.py 프로젝트: sojeba008/wdom
 def handle_data(self, data: str) -> None:  # noqa: D102
     if data:
         self.elm.appendChild(Text(data))