summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2020-04-26 13:36:58 -0400
committerDan Davison <dandavison7@gmail.com>2020-04-26 14:26:54 -0400
commitfcaf206657192926c318ed109e7b6a77375d6379 (patch)
tree7d7abf32c4fabeed3a578102656754ef05d2a4b4 /tests
parent67520c4bc3caa5dce7a47ed3ff900b2b8a712f7f (diff)
Move directory of test examples
Diffstat (limited to 'tests')
-rwxr-xr-xtests/examples/121-unrecognized-content-before-diff-12
-rwxr-xr-xtests/examples/121-unrecognized-content-before-diff-22
-rw-r--r--tests/examples/125-merge-conflict-1.diff48
-rw-r--r--tests/examples/125-merge-conflict-2.diff42
-rw-r--r--tests/examples/55-unicode-width.diff17
-rwxr-xr-xtests/examples/56-unified-directory-diff10
-rwxr-xr-xtests/examples/60-submodule17
-rwxr-xr-xtests/examples/93-binary16
8 files changed, 154 insertions, 0 deletions
diff --git a/tests/examples/121-unrecognized-content-before-diff-1 b/tests/examples/121-unrecognized-content-before-diff-1
new file mode 100755
index 00000000..c02c361e
--- /dev/null
+++ b/tests/examples/121-unrecognized-content-before-diff-1
@@ -0,0 +1,2 @@
+#!/bin/bash
+git show -p --cc --format= --numstat --stat
diff --git a/tests/examples/121-unrecognized-content-before-diff-2 b/tests/examples/121-unrecognized-content-before-diff-2
new file mode 100755
index 00000000..2d09108d
--- /dev/null
+++ b/tests/examples/121-unrecognized-content-before-diff-2
@@ -0,0 +1,2 @@
+#!/bin/bash
+git stash show --stat --patch
diff --git a/tests/examples/125-merge-conflict-1.diff b/tests/examples/125-merge-conflict-1.diff
new file mode 100644
index 00000000..a13b761b
--- /dev/null
+++ b/tests/examples/125-merge-conflict-1.diff
@@ -0,0 +1,48 @@
+diff --cc src/config.rs
+index e35d2e4,fad673e..0000000
+--- a/src/config.rs
++++ b/src/config.rs
+@@@ -1,4 -1,5 +1,10 @@@
+++<<<<<<< Updated upstream
+ +use std::process;
+++||||||| constructed merge base
+++=======
++ use std::process;
++
+++>>>>>>> Stashed changes
+ use std::str::FromStr;
+
+ use syntect::highlighting::{Color, Style, StyleModifier, Theme, ThemeSet};
+@@@ -78,7 -40,9 +84,15 @@@ pub fn get_config<'a>
+ theme_set,
+ );
+
+++<<<<<<< Updated upstream
+ + let theme = if style::is_no_syntax_highlighting_theme_name(&theme_name) {
+++||||||| constructed merge base
+++ let theme = if is_no_syntax_highlighting_theme_name(&theme_name) {
+++=======
++ println!("theme_name: {}", theme_name);
++
++ let theme = if is_no_syntax_highlighting_theme_name(&theme_name) {
+++>>>>>>> Stashed changes
+ None
+ } else {
+ Some(&theme_set.themes[&theme_name])
+@@@ -190,10 -128,14 +204,14 @@@ fn get_is_light_mode_and_theme_name
+ ) -> (bool, String) {
+ let theme_arg = valid_theme_name_or_none(theme_arg, theme_set);
+ let bat_theme_env_var = valid_theme_name_or_none(bat_theme_env_var, theme_set);
++
++ println!("theme_arg: {:?}", theme_arg);
++ println!("bat_theme_env_var: {:?}", bat_theme_env_var);
++
+ match (theme_arg, bat_theme_env_var, light_mode_arg) {
+ (None, None, false) => (false, style::DEFAULT_DARK_THEME.to_string()),
+ - (Some(theme_name), _, false) => (is_light_theme(&theme_name), theme_name),
+ - (None, Some(theme_name), false) => (is_light_theme(&theme_name), theme_name),
+ + (Some(theme_name), _, false) => (style::is_light_theme(&theme_name), theme_name),
+ + (None, Some(theme_name), false) => (style::is_light_theme(&theme_name), theme_name),
+ (None, None, true) => (true, style::DEFAULT_LIGHT_THEME.to_string()),
+ (Some(theme_name), _, is_light_mode) => (is_light_mode, theme_name),
+ (None, Some(theme_name), is_light_mode) => (is_light_mode, theme_name),
diff --git a/tests/examples/125-merge-conflict-2.diff b/tests/examples/125-merge-conflict-2.diff
new file mode 100644
index 00000000..3fd66fac
--- /dev/null
+++ b/tests/examples/125-merge-conflict-2.diff
@@ -0,0 +1,42 @@
+diff --cc Makefile
+index 759070d,3daf9eb..0000000
+--- a/Makefile
++++ b/Makefile
+@@@ -4,13 -4,16 +4,37 @@@ build
+ lint:
+ cargo clippy
+
+++<<<<<<< Updated upstream
+ +test: unit-test end-to-end-test
+ +
+ +unit-test:
+ + cargo test
+ +
+ +end-to-end-test: build
+ + bash -c "diff -u <(git log -p) <(git log -p | target/release/delta --color-only | perl -pe 's/\e\[[0-9;]*m//g')"
+++||||||| constructed merge base
+++test:
+++ cargo test
+++ bash -c "diff -u <(git log -p) \
+++ <(git log -p | delta --width variable \
+++ --tabs 0 \
+++ --retain-plus-minus-markers \
+++ --commit-style plain \
+++ --file-style plain \
+++ --hunk-style plain \
+++ | ansifilter)"
+++=======
++ test:
++ cargo test --release
++ bash -c "diff -u <(git log -p) \
++ <(git log -p | target/release/delta --width variable \
++ --tabs 0 \
++ --retain-plus-minus-markers \
++ --commit-style plain \
++ --file-style plain \
++ --hunk-style plain \
++ | ansifilter)" > /dev/null
+++>>>>>>> Stashed changes
+
+ release:
+ @make -f release.Makefile release
diff --git a/tests/examples/55-unicode-width.diff b/tests/examples/55-unicode-width.diff
new file mode 100644
index 00000000..4e2b1c82
--- /dev/null
+++ b/tests/examples/55-unicode-width.diff
@@ -0,0 +1,17 @@
+diff --git a/test.txt b/test.txt
+index 66a5cb0..0e8c1b9 100644
+--- a/test.txt
++++ b/test.txt
+@@ -1,1 +1,1 @@
+-This is an English sentence. This is an English sentence. This is an English sentence. This is an English sentence. This is an English sentence.
++This is an English sentence. This is an English sentence. This is an English sentence. This is an English sentence. This is an English sentence. some more words
+
+-这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。
++这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。这是一个汉语句子。多点字
++
++Another line of English
++更多一行汉语
++Another line of English
++更多一行汉语
++Another line of English
++更多一行汉语
diff --git a/tests/examples/56-unified-directory-diff b/tests/examples/56-unified-directory-diff
new file mode 100755
index 00000000..650ed20d
--- /dev/null
+++ b/tests/examples/56-unified-directory-diff
@@ -0,0 +1,10 @@
+#!/bin/bash
+d1=$(mktemp -d)
+d2=$(mktemp -d)
+mkdir $d1 $d2
+git show HEAD~10:./src/delta.rs > $d1/a.rs
+git show HEAD:./src/delta.rs > $d2/a.rs
+touch $d2/b.rs
+git show HEAD~10:./src/paint.rs > $d1/c.rs
+git show HEAD:./src/paint.rs > $d2/c.rs
+diff -u $d1 $d2
diff --git a/tests/examples/60-submodule b/tests/examples/60-submodule
new file mode 100755
index 00000000..c7830db5
--- /dev/null
+++ b/tests/examples/60-submodule
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+submodule=$(mktemp -d)
+repo=$(mktemp -d)
+cd $submodule
+git init
+git commit --allow-empty -m "Initial commit"
+cd $repo
+git init
+git submodule add $submodule submodule
+git commit --allow-empty -m "Initial commit"
+touch submodule/a
+cat >> .git/config <<EOF
+[diff]
+ submodule = log
+EOF
+git diff | cat
diff --git a/tests/examples/93-binary b/tests/examples/93-binary
new file mode 100755
index 00000000..447ccdf6
--- /dev/null
+++ b/tests/examples/93-binary
@@ -0,0 +1,16 @@
+# Test script written by @gibfahn in https://github.com/dandavison/delta/issues/93
+dir=/tmp/tst
+rm -fr $dir && mkdir -p $dir && cd $dir
+git init
+echo hello > bar
+git add bar && git commit -m "added text file bar"
+echo -n -e \\x48\\x00\\x49\\x00 > foo
+git add foo
+GIT_PAGER="delta --theme=TwoDark" git diff --staged
+GIT_PAGER=less git diff --staged
+git commit -m "added binary file foo"
+echo -n -e \\x49\\x00\\x48\\x00 > foo
+git add foo
+git commit -m "changed binary file foo"
+GIT_PAGER="delta --theme=TwoDark" git log -p
+GIT_PAGER=less git log -p