def test_apply(self): file_dict = { "f_a": ["1\n", "2\n", "3\n"], "f_b": ["1\n", "2\n", "3\n"], "f_c": ["1\n", "2\n", "3\n"] } expected_file_dict = { "f_a": ["1\n", "3\n"], "f_b": ["1\n", "3_changed\n"], "f_c": ["1\n", "2\n", "3\n"] } diff_dict = {"f_b": Diff()} diff_dict["f_b"].change_line(3, "3\n", "3_changed\n") section = Section("") section.append(Setting("editor", "")) uut = OpenEditorAction() os.system = self.fake_edit diff_dict = uut.apply_from_section(Result("origin", "msg", "f_a"), file_dict, diff_dict, section) diff_dict = uut.apply_from_section(Result("origin", "msg", "f_b"), file_dict, diff_dict, section) for filename in diff_dict: file_dict[filename] = diff_dict[filename].apply( file_dict[filename]) self.assertEqual(file_dict, expected_file_dict)
def test_apply(self): file_dict = { "f_a": ["1\n", "2\n", "3\n"], "f_b": ["1\n", "2\n", "3\n"], "f_c": ["1\n", "2\n", "3\n"] } expected_file_dict = { "f_a": ["1\n", "3\n"], "f_b": ["1\n", "3_changed\n"], "f_c": ["1\n", "2\n", "3\n"] } diff_dict = {"f_b": Diff()} diff_dict["f_b"].change_line(3, "3\n", "3_changed\n") section = Section("") section.append(Setting("editor", "")) uut = OpenEditorAction() subprocess.call = self.fake_edit diff_dict = uut.apply_from_section( Result("origin", "msg", "f_a"), file_dict, diff_dict, section) diff_dict = uut.apply_from_section( Result("origin", "msg", "f_b"), file_dict, diff_dict, section) for filename in diff_dict: file_dict[filename] = ( diff_dict[filename].apply(file_dict[filename])) self.assertEqual(file_dict, expected_file_dict)
def test_apply_rename(self): # Initial file contents, *before* a patch was applied file_dict = { self.fa: ["1\n", "2\n", "3\n"]} # A patch that was applied for some reason to make things complicated file_diff_dict = {} diff = Diff(file_dict[self.fa], rename=self.fa+".renamed") diff.change_line(3, "3\n", "3_changed\n") ApplyPatchAction().apply( Result("origin", "msg", diffs={self.fa: diff}), file_dict, file_diff_dict) # End file contents after the patch and the OpenEditorAction was # applied expected_file_dict = { self.fa: ["1\n", "3_changed\n"]} section = Section("") section.append(Setting("editor", "")) uut = OpenEditorAction() subprocess.call = self.fake_edit diff_dict = uut.apply_from_section( Result.from_values("origin", "msg", self.fa), file_dict, file_diff_dict, section) for filename in diff_dict: file_dict[filename] = ( file_diff_dict[filename].modified) self.assertEqual(file_dict, expected_file_dict) open(self.fa, 'w').close()
def test_apply(self): # Initial file contents, *before* a patch was applied file_dict = { self.fa: ["1\n", "2\n", "3\n"], self.fb: ["1\n", "2\n", "3\n"], "f_c": ["1\n", "2\n", "3\n"]} # A patch that was applied for some reason to make things complicated diff_dict = {self.fb: Diff(file_dict[self.fb])} diff_dict[self.fb].change_line(3, "3\n", "3_changed\n") # File contents after the patch was applied, that's what's in the files current_file_dict = { filename: diff_dict[filename].modified if filename in diff_dict else file_dict[filename] for filename in (self.fa, self.fb)} for filename in current_file_dict: with open(filename, 'w') as handle: handle.writelines(current_file_dict[filename]) # End file contents after the patch and the OpenEditorAction was # applied expected_file_dict = { self.fa: ["1\n", "3\n"], self.fb: ["1\n", "3_changed\n"], "f_c": ["1\n", "2\n", "3\n"]} section = Section("") section.append(Setting("editor", "")) uut = OpenEditorAction() subprocess.call = self.fake_edit diff_dict = uut.apply_from_section( Result.from_values("origin", "msg", self.fa), file_dict, diff_dict, section) diff_dict = uut.apply_from_section( Result.from_values("origin", "msg", self.fb), file_dict, diff_dict, section) for filename in diff_dict: file_dict[filename] = ( diff_dict[filename].modified) self.assertEqual(file_dict, expected_file_dict)
def test_subl(self): file_dict = {"f_a": []} section = Section("") section.append(Setting("editor", "subl")) uut = OpenEditorAction() os.system = self.fake_edit_subl diff_dict = uut.apply_from_section(Result("origin", "msg", "f_a"), file_dict, {}, section) file_dict["f_a"] = diff_dict["f_a"].apply(file_dict["f_a"]) self.assertEqual(file_dict, file_dict)
def test_subl(self): file_dict = {self.fa: []} section = Section("") section.append(Setting("editor", "subl")) uut = OpenEditorAction() subprocess.call = self.fake_edit_subl diff_dict = uut.apply_from_section( Result.from_values("origin", "msg", self.fa), file_dict, {}, section) file_dict[self.fa] = diff_dict[self.fa].modified self.assertEqual(file_dict, file_dict)
def test_subl(self): file_dict = {self.fa: []} section = Section('') section.append(Setting('editor', 'subl')) uut = OpenEditorAction() subprocess.call = self.fake_edit_subl diff_dict = uut.apply_from_section( Result.from_values('origin', 'msg', self.fa), file_dict, {}, section) file_dict[self.fa] = diff_dict[self.fa].modified self.assertEqual(file_dict, file_dict)
def test_subl(self): file_dict = {self.fa: []} section = Section("") section.append(Setting("editor", "subl")) uut = OpenEditorAction() subprocess.call = self.fake_edit_subl diff_dict = uut.apply_from_section( Result.from_values("origin", "msg", self.fa), file_dict, {}, section) file_dict[self.fa] = diff_dict[self.fa].modified self.assertEqual(file_dict, file_dict)
def test_subl(self): file_dict = {"f_a": []} section = Section("") section.append(Setting("editor", "subl")) uut = OpenEditorAction() subprocess.call = self.fake_edit_subl diff_dict = uut.apply_from_section( Result("origin", "msg", "f_a"), file_dict, {}, section) file_dict["f_a"] = diff_dict["f_a"].apply(file_dict["f_a"]) self.assertEqual(file_dict, file_dict)