emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 3506ec2 3/3: New test for diff-mode handling traili


From: Dima Kogan
Subject: [Emacs-diffs] master 3506ec2 3/3: New test for diff-mode handling trailing --
Date: Tue, 31 Jan 2017 15:53:29 +0000 (UTC)

branch: master
commit 3506ec2b110b7de75e9e41657d97d04b04b9e6ff
Author: Dima Kogan <address@hidden>
Commit: Dima Kogan <address@hidden>

    New test for diff-mode handling trailing --
    
    test/lisp/vc/diff-mode-tests.el: New test file
---
 test/lisp/vc/diff-mode-tests.el |  199 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 199 insertions(+)

diff --git a/test/lisp/vc/diff-mode-tests.el b/test/lisp/vc/diff-mode-tests.el
new file mode 100644
index 0000000..3887afb
--- /dev/null
+++ b/test/lisp/vc/diff-mode-tests.el
@@ -0,0 +1,199 @@
+;; Copyright (C) 2017  Free Software Foundation, Inc
+
+;; Author: Dima Kogan <address@hidden>
+;; Maintainer: address@hidden
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+
+(ert-deftest diff-mode-test-ignore-trailing-dashes ()
+  "Check to make sure we successfully ignore trailing -- made by
+'git format-patch'. This is bug #9597"
+
+  ;; I made a test repo, put some files in it, made arbitrary changes
+  ;; and invoked 'git format-patch' to get a patch out of it.  The
+  ;; patch and the before and after versions of the files appear here.
+  ;; The test simply tries to apply the patch.  The patch contains
+  ;; trailing --, which confused diff-mode previously
+  (let ((patch "From 18ed35640be496647e0a02fc155b4ee4a0490eca Mon Sep 17 
00:00:00 2001
+From: Dima Kogan <address@hidden>
+Date: Mon, 30 Jan 2017 22:24:13 -0800
+Subject: [PATCH] test commit
+
+---
+ fil  | 3 ---
+ fil2 | 4 ----
+ 2 files changed, 7 deletions(-)
+
+diff --git a/fil b/fil
+index 10344f1..2a56245 100644
+--- a/fil
++++ b/fil
+@@ -2,10 +2,8 @@ Afrocentrism
+ Americanisms
+ Americanization
+ Americanizations
+-Americanized
+ Americanizes
+ Americanizing
+-Andrianampoinimerina
+ Anglicanisms
+ Antananarivo
+ Apalachicola
+@@ -15,6 +13,5 @@ Aristophanes
+ Aristotelian
+ Ashurbanipal
+ Australopithecus
+-Austronesian
+ Bangladeshis
+ Barquisimeto
+diff --git a/fil2 b/fil2
+index 8858f0d..86e8ea5 100644
+--- a/fil2
++++ b/fil2
+@@ -1,20 +1,16 @@
+ whippoorwills
+ whitewashing
+ wholehearted
+-wholeheartedly
+ wholesomeness
+ wildernesses
+ windbreakers
+ wisecracking
+ withstanding
+-woodcarvings
+ woolgathering
+ workstations
+ worthlessness
+ wretchedness
+ wristwatches
+-wrongfulness
+ wrongheadedly
+ wrongheadedness
+-xylophonists
+ youthfulness
+-- 
+2.11.0
+
+")
+        (fil_before "Afrocentrism
+Americanisms
+Americanization
+Americanizations
+Americanized
+Americanizes
+Americanizing
+Andrianampoinimerina
+Anglicanisms
+Antananarivo
+Apalachicola
+Appalachians
+Argentinians
+Aristophanes
+Aristotelian
+Ashurbanipal
+Australopithecus
+Austronesian
+Bangladeshis
+Barquisimeto
+")
+        (fil_after "Afrocentrism
+Americanisms
+Americanization
+Americanizations
+Americanizes
+Americanizing
+Anglicanisms
+Antananarivo
+Apalachicola
+Appalachians
+Argentinians
+Aristophanes
+Aristotelian
+Ashurbanipal
+Australopithecus
+Bangladeshis
+Barquisimeto
+")
+        (fil2_before "whippoorwills
+whitewashing
+wholehearted
+wholeheartedly
+wholesomeness
+wildernesses
+windbreakers
+wisecracking
+withstanding
+woodcarvings
+woolgathering
+workstations
+worthlessness
+wretchedness
+wristwatches
+wrongfulness
+wrongheadedly
+wrongheadedness
+xylophonists
+youthfulness
+")
+        (fil2_after "whippoorwills
+whitewashing
+wholehearted
+wholesomeness
+wildernesses
+windbreakers
+wisecracking
+withstanding
+woolgathering
+workstations
+worthlessness
+wretchedness
+wristwatches
+wrongheadedly
+wrongheadedness
+youthfulness
+")
+        (temp-dir (make-temp-file "diff-mode-test" 'dir)))
+
+    (let ((buf  (find-file-noselect (format "%s/%s" temp-dir "fil" )))
+          (buf2 (find-file-noselect (format "%s/%s" temp-dir "fil2"))))
+      (unwind-protect
+          (progn
+            (with-current-buffer buf  (insert fil_before)  (save-buffer))
+            (with-current-buffer buf2 (insert fil2_before) (save-buffer))
+
+            (with-temp-buffer
+              (cd temp-dir)
+              (insert patch)
+              (beginning-of-buffer)
+              (diff-apply-hunk)
+              (diff-apply-hunk)
+              (diff-apply-hunk))
+            
+            (should (equal (with-current-buffer buf (buffer-string))
+                           fil_after))
+            (should (equal (with-current-buffer buf2 (buffer-string))
+                           fil2_after)))
+
+        (ignore-errors
+          (with-current-buffer buf (set-buffer-modified-p nil))
+          (kill-buffer buf)
+          (with-current-buffer buf2 (set-buffer-modified-p nil))
+          (kill-buffer buf2)
+          (delete-directory temp-dir 'recursive))))))
+
+
+(provide 'diff-mode-tests)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]