You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
3.3 KiB
127 lines
3.3 KiB
#!/bin/sh |
|
# |
|
# Copyright (c) 2007 Johannes E. Schindelin |
|
# |
|
|
|
test_description='add -e basic tests' |
|
. ./test-lib.sh |
|
|
|
|
|
cat > file << EOF |
|
LO, praise of the prowess of people-kings |
|
of spear-armed Danes, in days long sped, |
|
we have heard, and what honor the athelings won! |
|
Oft Scyld the Scefing from squadroned foes, |
|
from many a tribe, the mead-bench tore, |
|
awing the earls. Since erst he lay |
|
friendless, a foundling, fate repaid him: |
|
for he waxed under welkin, in wealth he throve, |
|
till before him the folk, both far and near, |
|
who house by the whale-path, heard his mandate, |
|
gave him gifts: a good king he! |
|
EOF |
|
|
|
cat > second-part << EOF |
|
To him an heir was afterward born, |
|
a son in his halls, whom heaven sent |
|
to favor the folk, feeling their woe |
|
that erst they had lacked an earl for leader |
|
so long a while; the Lord endowed him, |
|
the Wielder of Wonder, with world's renown. |
|
EOF |
|
|
|
test_expect_success 'setup' ' |
|
|
|
git add file && |
|
test_tick && |
|
git commit -m initial file |
|
|
|
' |
|
|
|
cat > expected-patch << EOF |
|
diff --git a/file b/file |
|
--- a/file |
|
+++ b/file |
|
@@ -1,11 +1,6 @@ |
|
-LO, praise of the prowess of people-kings |
|
-of spear-armed Danes, in days long sped, |
|
-we have heard, and what honor the athelings won! |
|
-Oft Scyld the Scefing from squadroned foes, |
|
-from many a tribe, the mead-bench tore, |
|
-awing the earls. Since erst he lay |
|
-friendless, a foundling, fate repaid him: |
|
-for he waxed under welkin, in wealth he throve, |
|
-till before him the folk, both far and near, |
|
-who house by the whale-path, heard his mandate, |
|
-gave him gifts: a good king he! |
|
+To him an heir was afterward born, |
|
+a son in his halls, whom heaven sent |
|
+to favor the folk, feeling their woe |
|
+that erst they had lacked an earl for leader |
|
+so long a while; the Lord endowed him, |
|
+the Wielder of Wonder, with world's renown. |
|
EOF |
|
|
|
cat > patch << EOF |
|
diff --git a/file b/file |
|
index b9834b5..ef6e94c 100644 |
|
--- a/file |
|
+++ b/file |
|
@@ -3,1 +3,333 @@ of spear-armed Danes, in days long sped, |
|
we have heard, and what honor the athelings won! |
|
+ |
|
Oft Scyld the Scefing from squadroned foes, |
|
@@ -2,7 +1,5 @@ awing the earls. Since erst he lay |
|
friendless, a foundling, fate repaid him: |
|
+ |
|
for he waxed under welkin, in wealth he throve, |
|
EOF |
|
|
|
cat > expected << EOF |
|
diff --git a/file b/file |
|
--- a/file |
|
+++ b/file |
|
@@ -1,10 +1,12 @@ |
|
LO, praise of the prowess of people-kings |
|
of spear-armed Danes, in days long sped, |
|
we have heard, and what honor the athelings won! |
|
+ |
|
Oft Scyld the Scefing from squadroned foes, |
|
from many a tribe, the mead-bench tore, |
|
awing the earls. Since erst he lay |
|
friendless, a foundling, fate repaid him: |
|
+ |
|
for he waxed under welkin, in wealth he throve, |
|
till before him the folk, both far and near, |
|
who house by the whale-path, heard his mandate, |
|
EOF |
|
|
|
echo "#!$SHELL_PATH" >fake-editor.sh |
|
cat >> fake-editor.sh <<\EOF |
|
egrep -v '^index' "$1" >orig-patch && |
|
mv -f patch "$1" |
|
EOF |
|
|
|
test_set_editor "$(pwd)/fake-editor.sh" |
|
chmod a+x fake-editor.sh |
|
|
|
test_expect_success 'add -e' ' |
|
|
|
cp second-part file && |
|
git add -e && |
|
test_cmp second-part file && |
|
test_cmp expected-patch orig-patch && |
|
git diff --cached >actual && |
|
grep -v index actual >out && |
|
test_cmp expected out |
|
|
|
' |
|
|
|
test_expect_success 'add -e notices editor failure' ' |
|
git reset --hard && |
|
echo change >>file && |
|
test_must_fail env GIT_EDITOR=false git add -e && |
|
test_expect_code 1 git diff --exit-code |
|
' |
|
|
|
test_done
|
|
|