def has_edit_affecting_side_nullchange(): staticdiffmodel = _make_static_diffmodel() editable = EditableDiffModel( staticdiffmodel ) assert( not editable.has_edit_affecting_side( directions.RIGHT ) ) assert( not editable.has_edit_affecting_side( directions.LEFT ) ) editable.edit_lines( 0, 2, directions.RIGHT, [ "line 1 here", "line 2 here", "line 3 here" ] ) editable.edit_lines( 1, 3, directions.RIGHT, [ "line 2 here", "line 3 here", "line 4 here" ] ) assert( not editable.has_edit_affecting_side( directions.LEFT ) ) assert( not editable.has_edit_affecting_side( directions.RIGHT ) )
def has_edit_affecting_side(): staticdiffmodel = _make_static_diffmodel() editable = EditableDiffModel( staticdiffmodel ) assert( not editable.has_edit_affecting_side( directions.RIGHT ) ) assert( not editable.has_edit_affecting_side( directions.LEFT ) ) editable.edit_lines( 0, 2, directions.RIGHT, ( "edited 1a", "edited 2a", "edited 3a" ) ) editable.edit_lines( 1, 3, directions.RIGHT, ( "edited 2b", "edited 3b", "edited 4b" ) ) assert( editable.has_edit_affecting_side( directions.RIGHT ) ) assert( not editable.has_edit_affecting_side( directions.LEFT ) ) editable.delete_lines( 1, 1, directions.LEFT ) assert( editable.has_edit_affecting_side( directions.RIGHT ) ) assert( editable.has_edit_affecting_side( directions.LEFT ) )
def has_edit_affecting_side_after_save(): staticdiffmodel = _make_static_diffmodel() editable = EditableDiffModel( staticdiffmodel ) editable.edit_lines( 0, 2, directions.RIGHT, ( "edited 1a", "edited 2a", "edited 3a" ) ) editable.edit_lines( 0, 2, directions.LEFT, ( "edited left 1a", "edited left 2a", "edited left 3a" ) ) assert( editable.has_edit_affecting_side( directions.RIGHT ) ) assert( editable.has_edit_affecting_side( directions.LEFT ) ) lines = editable.get_lines( 0, 3 ) assert( len( lines ) == 3 ) ln = lines[0] assert_strings_equal( ln.left, "edited left 1a" ) assert_strings_equal( ln.right, "edited 1a" ) assert( ln.status == difflinetypes.DIFFERENT ) assert( ln.left_edited == True ) assert( ln.right_edited == True ) editable.set_save_point( directions.LEFT ) lines = editable.get_lines( 0, 3 ) assert( len( lines ) == 3 ) ln = lines[0] assert_strings_equal( ln.left, "edited left 1a" ) assert_strings_equal( ln.right, "edited 1a" ) assert( ln.status == difflinetypes.DIFFERENT ) assert( ln.left_edited == False ) assert( ln.right_edited == True ) assert( editable.has_edit_affecting_side( directions.RIGHT ) ) assert( not editable.has_edit_affecting_side( directions.LEFT ) ) editable.edit_lines( 0, 2, directions.RIGHT, ( "edited 1b", "edited 2b", "edited 3b" ) ) editable.set_save_point( directions.RIGHT ) assert( not editable.has_edit_affecting_side( directions.RIGHT ) ) assert( not editable.has_edit_affecting_side( directions.LEFT ) ) lines = editable.get_lines( 0, 3 ) assert( len( lines ) == 3 ) ln = lines[0] assert_strings_equal( ln.left, "edited left 1a" ) assert_strings_equal( ln.right, "edited 1b" ) assert( ln.status == difflinetypes.DIFFERENT ) assert( ln.left_edited == False ) assert( ln.right_edited == False ) editable.add_lines( 3, directions.LEFT, [ "Added line 1", "Added line 1", "Added line 1" ] ) assert( not editable.has_edit_affecting_side( directions.RIGHT ) ) assert( editable.has_edit_affecting_side( directions.LEFT ) ) editable.add_lines( 3, directions.RIGHT, [ "Added line 1", "Added line 1", "Added line 1" ] ) assert( editable.has_edit_affecting_side( directions.RIGHT ) ) assert( editable.has_edit_affecting_side( directions.LEFT ) ) editable.set_save_point( directions.LEFT ) assert( editable.has_edit_affecting_side( directions.RIGHT ) ) assert( not editable.has_edit_affecting_side( directions.LEFT ) ) editable.set_save_point( directions.RIGHT ) assert( not editable.has_edit_affecting_side( directions.RIGHT ) ) assert( not editable.has_edit_affecting_side( directions.LEFT ) )