def test_update_text_after_1(self): left = u'<document><node/><node/></document>' action = actions.UpdateTextAfter('/document/node[1]', 'Text') expected = START + u'/><diff:insert>Text</diff:insert>'\ u'<node/></document>' self._format_test(left, action, expected)
def test_update_text_after_2(self): left = u'<document><node/>This is a bit of text, right</document>' action = actions.UpdateTextAfter('/document/node', 'Also a bit of text, rick') expected = START + u'/><diff:delete>This is</diff:delete>'\ u'<diff:insert>Also</diff:insert> a bit of text, ri<diff:delete>'\ u'ght</diff:delete><diff:insert>ck</diff:insert></document>' self._format_test(left, action, expected)
def update_node_text(self, left, right): left_xpath = utils.getpath(left) if left.text != right.text: yield actions.UpdateTextIn(left_xpath, right.text) left.text = right.text if left.tail != right.tail: yield actions.UpdateTextAfter(left_xpath, right.tail) left.tail = right.tail
def test_update_text_after_2(self): left = "<document><node/>This is a bit of text, right</document>" action = actions.UpdateTextAfter("/document/node", "Also a bit of text, rick") expected = ( START + "/><diff:delete>This is</diff:delete>" "<diff:insert>Also</diff:insert> a bit of text, ri<diff:delete>" "ght</diff:delete><diff:insert>ck</diff:insert></document>") self._format_test(left, action, expected)
def test_update_text_after_2(self): action = actions.UpdateTextAfter("/document/node", "Also a bit of text, rick") expected = "[update, /document/node/text()[2], " '"Also a bit of text, rick"]' self._format_test(action, expected)
def test_update_text_after_1(self): action = actions.UpdateTextAfter("/document/node[1]", "Text") expected = '[update, /document/node[1]/text()[2], "Text"]' self._format_test(action, expected)
def test_update_text_after_1(self): left = "<document><node/><node/></document>" action = actions.UpdateTextAfter("/document/node[1]", "Text") expected = START + "/><diff:insert>Text</diff:insert>" "<node/></document>" self._format_test(left, action, expected)
def _handle_update_text_after(self, node, text): return actions.UpdateTextAfter(node, loads(text))
def test_update_text_after_2(self): action = actions.UpdateTextAfter('/document/node', 'Also a bit of text, rick') expected = '[update, /document/node/text()[2], '\ u'"Also a bit of text, rick"]' self._format_test(action, expected)
def test_update_text_after_1(self): action = actions.UpdateTextAfter('/document/node[1]', 'Text') expected = '[update-text-after, /document/node[1], "Text"]' self._format_test(action, expected)