Example #1
0
    def test_write_space(self):
        node = parser.DataNode(' ')
        node.write(self.doc)
        self.doc.handle_data.assert_called_once_with(' ')
        self.doc.handle_data.reset_mock()

        node = parser.DataNode('              ')
        node.write(self.doc)
        self.doc.handle_data.assert_called_once_with(' ')
Example #2
0
    def test_write_strips_nested_white_space(self):
        self.node.add_child(parser.DataNode('  '))
        tag_child = parser.TagNode('foo')
        tag_child.add_child(parser.DataNode('  '))
        tag_child_2 = parser.TagNode('foo')
        tag_child_2.add_child(parser.DataNode(' foo'))
        tag_child.add_child(tag_child_2)
        self.node.add_child(tag_child)

        self.node.write(self.doc)
        self.doc.handle_data.assert_called_once_with('foo')
Example #3
0
    def test_write_only_strips_until_text_is_found(self):
        self.node.add_child(parser.DataNode('  '))
        tag_child = parser.TagNode('foo')
        tag_child.add_child(parser.DataNode('  '))
        tag_child_2 = parser.TagNode('foo')
        tag_child_2.add_child(parser.DataNode(' foo'))
        tag_child_2.add_child(parser.DataNode(' '))
        tag_child.add_child(tag_child_2)
        self.node.add_child(tag_child)

        self.node.write(self.doc)

        calls = [mock.call('foo'), mock.call(' ')]
        self.doc.handle_data.assert_has_calls(calls)
Example #4
0
 def test_write_strips_white_space(self):
     self.node.add_child(parser.DataNode('  foo'))
     self.node.write(self.doc)
     self.doc.handle_data.assert_called_once_with('foo')
Example #5
0
 def test_write_empty_string(self):
     node = parser.DataNode('')
     node.write(self.doc)
     self.assertFalse(self.doc.handle_data.called)
Example #6
0
 def test_write(self):
     node = parser.DataNode('foo   bar baz')
     self.doc.translate_words.return_value = ['foo', 'bar', 'baz']
     node.write(self.doc)
     self.doc.handle_data.assert_called_once_with('foo bar baz')
Example #7
0
 def test_lstrip(self):
     node = parser.DataNode(' foo')
     node.lstrip()
     self.assertEqual(node.data, 'foo')
Example #8
0
 def test_non_string_data_raises_error(self):
     with self.assertRaises(ValueError):
         parser.DataNode(5)
Example #9
0
 def test_string_data(self):
     node = parser.DataNode('foo')
     self.assertEqual(node.data, 'foo')