コード例 #1
0
def write_to_file():
	fakefile = FakeFile()

	staticdiffmodel = _make_static_diffmodel()
	old_static_lines = list( ln.clone() for ln in staticdiffmodel.get_lines() )

	editable = EditableDiffModel( staticdiffmodel )

	# Make several overlapping changes, including a deletion
	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" ) )

	editable.delete_lines( 1, 1, directions.RIGHT )

	editable.edit_lines( 2, 4, directions.RIGHT,
		( "edited 3c", "edited 4c", "edited 5c" ) )

	editable.write_to_file( fakefile, directions.RIGHT )

	assert_strings_equal( fakefile.txt,
		  "edited 1a\n"
		+ "edited 3c\n"
		+ "edited 4c\n"
		+ "edited 5c\n"
		+ "line 6 here\n"
		+ "line 7 here\n"
		+ "line 8 here\n"
		+ "line 9 here\n"
		+ "line 10 here\n"
		)

	assert_lines_lists_equal( old_static_lines, staticdiffmodel.get_lines() )
コード例 #2
0
def write_to_file_no_changes():
	fakefile = FakeFile()

	staticdiffmodel = _make_static_diffmodel()
	editable = EditableDiffModel( staticdiffmodel )

	editable.write_to_file( fakefile, directions.LEFT )

	assert_strings_equal( fakefile.txt,
		  "line 1 here\n"
		+ "line 2 here\n"
		+ "line 3 here\n"
		+ "line 4 here\n"
		+ "line 5 here\n"
		+ "line 6 here\n"
		+ "line 7 here\n"
		+ "line 8 here\n"
		+ "line 9 here\n"
		+ "previous 10\n"
		)