Esempio n. 1
0
 def setUp(self):
     customElements.clear()
     self.elm = Element('tag')
     self.c1 = Element('c1')
     self.c2 = Element('c2')
     self.c1.classList.add('c1')
     self.c2.classList.add('c2')
Esempio n. 2
0
 def setUp(self):
     self.elm = Element('tag')
     self.c1 = Element('c1')
     self.c2 = Element('c1')
     self.c3 = Element('c3')
     self.c1.setAttribute('a', 'a')
     self.c2.setAttribute('b', 'b')
     self.elm.append(self.c1, self.c2, self.c3)
Esempio n. 3
0
    def test_init_class(self):
        elm = Element('a', class_='a')
        self.assertEqual(elm.html, '<a class="a"></a>')
        self.assertEqual(elm.classList.length, 1)
        self.assertIn('a', elm.classList)

        elm2 = Element('a', **{'class': 'b'})
        self.assertEqual(elm2.html, '<a class="b"></a>')
        self.assertEqual(elm2.classList.length, 1)
        self.assertIn('b', elm2.classList)
Esempio n. 4
0
 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)
Esempio n. 5
0
 def test_init_class_multi_list(self):
     elm = Element('a', class_=['a1', 'a2'])
     self.assertEqual(elm.html, '<a class="a1 a2"></a>')
     self.assertEqual(elm.classList.length, 2)
     self.assertIn('a1', elm.classList)
     self.assertIn('a2', elm.classList)
     self.assertNotIn('a1 a2', elm.classList)
Esempio n. 6
0
 def test_create_attr(self):
     a = self.doc.createAttribute('src')
     a.value = 'a'
     self.assertEqual(type(a), Attr)
     self.assertEqual(a.html, 'src="a"')
     tag = Element('tag')
     tag.setAttributeNode(a)
     self.assertEqual(tag.html, '<tag src="a"></tag>')
Esempio n. 7
0
    def test_constructor(self):
        elm = Element('a')
        self.assertEqual(elm.nodeName, 'A')
        self.assertEqual(elm.tagName, 'A')
        self.assertEqual(elm.localName, 'a')

        self.assertFalse(elm.hasChildNodes())
        self.assertFalse(elm.hasAttributes())
Esempio n. 8
0
 def test_reference_del_id(self):
     gc.collect()
     elm = Element('a', id='a')
     self.assertIn('a', Element._elements_with_id)
     self.assertIn(elm, Element._elements_with_id.values())
     elm.removeAttribute('id')
     self.assertNotIn('a', Element._elements_with_id)
     self.assertNotIn(elm, Element._elements_with_id.values())
Esempio n. 9
0
 def test_add_invlalid(self):
     with self.assertRaises(TypeError):
         self.tokens.add(1)
     with self.assertRaises(TypeError):
         self.tokens.add(Element('a'))
     self.assertEqual(len(self.tokens), 0)
     self.assertFalse(bool(self.tokens))
     self.assertEqual('', self.tokens.toString())
Esempio n. 10
0
    def test_inner_html(self):
        self.assertEqual(self.elm.innerHTML, '')
        self.elm.appendChild(Element('a'))
        self.assertEqual(self.elm.innerHTML, '<a></a>')

        self.elm.innerHTML = '<b></b>'
        self.assertEqual(self.elm.innerHTML, '<b></b>')
        self.assertEqual(self.elm.firstChild.tag, 'b')
        self.assertTrue(isinstance(self.elm.firstChild, Element))
Esempio n. 11
0
 def test_reference(self):
     gc.collect()
     elm = Element('a')
     _id = id(elm)
     self.assertIn(elm, Element._element_buffer)
     del elm
     gc.collect()  # run gc
     for elm in Element._element_buffer:
         assert id(elm) != _id
Esempio n. 12
0
 def test_reference_with_id(self):
     gc.collect()
     elm = Element('a', id='a')
     _id = id(elm)
     self.assertIn(elm.id, Element._elements_with_id)
     del elm
     gc.collect()
     self.assertNotIn('a', Element._elements_with_id)
     for elm in Element._element_buffer:
         assert id(elm) != _id
Esempio n. 13
0
    def test_is_attr(self):
        '''``is`` is a reserved word for python, so use ``is_`` in constructor.
        '''
        elm = Element('tag', is_='elm')
        self.assertIn('is', elm.attributes)
        self.assertNotIn('is_', elm.attributes)
        self.assertEqual('elm', elm.getAttribute('is'))
        self.assertIsNone(elm.getAttribute('is_'))

        # ``is_`` is not treated as special at setAttribute
        elm.setAttribute('is_', 'new')
        self.assertEqual('elm', elm.getAttribute('is'))
        self.assertEqual('new', elm.getAttribute('is_'))
Esempio n. 14
0
 def test_reference_add_id(self):
     gc.collect()
     elm = Element('a')
     _id = id(elm)
     self.assertNotIn(elm, Element._elements_with_id.values())
     elm.id = 'a'
     self.assertIn('a', Element._elements_with_id)
     self.assertIn(elm, Element._elements_with_id.values())
     elm.id = 'b'
     self.assertNotIn('a', Element._elements_with_id)
     self.assertIn('b', Element._elements_with_id)
     self.assertIn(elm, Element._elements_with_id.values())
     elm.setAttribute('id', 'c')
     self.assertNotIn('b', Element._elements_with_id)
     self.assertIn('c', Element._elements_with_id)
     self.assertIn(elm, Element._elements_with_id.values())
     del elm
     gc.collect()
     self.assertNotIn('c', Element._elements_with_id)
     for elm in Element._element_buffer:
         assert id(elm) != _id
Esempio n. 15
0
 def setUp(self):
     self.df = DocumentFragment()
     self.elm = Element('a')
     self.c1 = Element('c1')
     self.c2 = Element('c2')
     self.c3 = Element('c3')
Esempio n. 16
0
 def setUp(self):
     self.p = P()
     self.c1 = NDTC()
     self.c2 = NDTC()
     self.e1 = Element()
     self.e2 = Element()
Esempio n. 17
0
 def test_init_parent(self):
     elm = Element('a', parent=self.elm)
     self.assertIs(elm.parentNode, self.elm)
Esempio n. 18
0
 def test_get_element_by_id(self):
     elm = Element(tag='a', id='a')
     self.assertIs(getElementById('a'), elm)
     self.assertIsNone(self.doc.getElementById('a'), elm)
     self.doc.appendChild(elm)
     self.assertIs(getElementById('a'), elm)
Esempio n. 19
0
 def test_init_attrs(self):
     elm = Element('a', src='b', href='c')
     self.assertFalse(elm.hasChildNodes())
     self.assertTrue(elm.hasAttributes())
     self.assertTrue(elm.getAttribute('src'), 'b')
     self.assertTrue(elm.getAttribute('href'), 'c')