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(' ')
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')
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)
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')
def test_write_empty_string(self): node = parser.DataNode('') node.write(self.doc) self.assertFalse(self.doc.handle_data.called)
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')
def test_lstrip(self): node = parser.DataNode(' foo') node.lstrip() self.assertEqual(node.data, 'foo')
def test_non_string_data_raises_error(self): with self.assertRaises(ValueError): parser.DataNode(5)
def test_string_data(self): node = parser.DataNode('foo') self.assertEqual(node.data, 'foo')