Skip to content

Commit

Permalink
cli: add basic tests for show command
Browse files Browse the repository at this point in the history
  • Loading branch information
bnjmnt4n committed Aug 14, 2024
1 parent b67b774 commit f983021
Showing 1 changed file with 252 additions and 0 deletions.
252 changes: 252 additions & 0 deletions cli/tests/test_show_command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,258 @@ fn test_show() {
"###);
}

#[test]
fn test_show_basic() {
let test_env = TestEnvironment::default();
test_env.jj_cmd_ok(test_env.env_root(), &["git", "init", "repo"]);
let repo_path = test_env.env_root().join("repo");

std::fs::write(repo_path.join("file1"), "foo\n").unwrap();
std::fs::write(repo_path.join("file2"), "foo\nbaz qux\n").unwrap();
test_env.jj_cmd_ok(&repo_path, &["new"]);
std::fs::remove_file(repo_path.join("file1")).unwrap();
std::fs::write(repo_path.join("file2"), "foo\nbar\nbaz quux\n").unwrap();
std::fs::write(repo_path.join("file3"), "foo\n").unwrap();

let stdout = test_env.jj_cmd_success(&repo_path, &["show"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
Removed regular file file1:
1 : foo
Modified regular file file2:
1 1: foo
2: bar
2 3: baz quxquux
Added regular file file3:
1: foo
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--context=0"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
Removed regular file file1:
1 : foo
Modified regular file file2:
1 1: foo
2: bar
2 3: baz quxquux
Added regular file file3:
1: foo
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--color=debug"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: <<commit_id::e34f04317a81edc6ba41fef239c0d0180f10656f>>
Change ID: <<change_id::rlvkpnrzqnoowoytxnquwvuryrwnrmlp>>
Author: <<author name::Test User>> <<<author email::[email protected]>>> (<<author timestamp local format::2001-02-03 08:05:09>>)
Committer: <<committer name::Test User>> <<<committer email::[email protected]>>> (<<committer timestamp local format::2001-02-03 08:05:09>>)
<<description placeholder:: (no description set)>>
<<diff header::Removed regular file file1:>>
<<diff removed line_number:: 1>><<diff:: : >><<diff removed token::foo>>
<<diff header::Modified regular file file2:>>
<<diff removed line_number:: 1>><<diff:: >><<diff added line_number:: 1>><<diff::: foo>>
<<diff:: >><<diff added line_number:: 2>><<diff::: >><<diff added token::bar>>
<<diff removed line_number:: 2>><<diff:: >><<diff added line_number:: 3>><<diff::: baz >><<diff removed token::qux>><<diff added token::quux>><<diff::>>
<<diff header::Added regular file file3:>>
<<diff:: >><<diff added line_number:: 1>><<diff::: >><<diff added token::foo>>
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "-s"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
D file1
M file2
A file3
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--types"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
F- file1
FF file2
-F file3
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--git"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
diff --git a/file1 b/file1
deleted file mode 100644
index 257cc5642c..0000000000
--- a/file1
+++ /dev/null
@@ -1,1 +1,0 @@
-foo
diff --git a/file2 b/file2
index 523a4a9de8..485b56a572 100644
--- a/file2
+++ b/file2
@@ -1,2 +1,3 @@
foo
-baz qux
+bar
+baz quux
diff --git a/file3 b/file3
new file mode 100644
index 0000000000..257cc5642c
--- /dev/null
+++ b/file3
@@ -1,0 +1,1 @@
+foo
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--git", "--context=0"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
diff --git a/file1 b/file1
deleted file mode 100644
index 257cc5642c..0000000000
--- a/file1
+++ /dev/null
@@ -1,1 +1,0 @@
-foo
diff --git a/file2 b/file2
index 523a4a9de8..485b56a572 100644
--- a/file2
+++ b/file2
@@ -2,1 +2,2 @@
-baz qux
+bar
+baz quux
diff --git a/file3 b/file3
new file mode 100644
index 0000000000..257cc5642c
--- /dev/null
+++ b/file3
@@ -1,0 +1,1 @@
+foo
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--git", "--color=debug"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: <<commit_id::e34f04317a81edc6ba41fef239c0d0180f10656f>>
Change ID: <<change_id::rlvkpnrzqnoowoytxnquwvuryrwnrmlp>>
Author: <<author name::Test User>> <<<author email::[email protected]>>> (<<author timestamp local format::2001-02-03 08:05:09>>)
Committer: <<committer name::Test User>> <<<committer email::[email protected]>>> (<<committer timestamp local format::2001-02-03 08:05:09>>)
<<description placeholder:: (no description set)>>
<<diff file_header::diff --git a/file1 b/file1>>
<<diff file_header::deleted file mode 100644>>
<<diff file_header::index 257cc5642c..0000000000>>
<<diff file_header::--- a/file1>>
<<diff file_header::+++ /dev/null>>
<<diff hunk_header::@@ -1,1 +1,0 @@>>
<<diff removed::->><<diff removed token::foo>>
<<diff file_header::diff --git a/file2 b/file2>>
<<diff file_header::index 523a4a9de8..485b56a572 100644>>
<<diff file_header::--- a/file2>>
<<diff file_header::+++ b/file2>>
<<diff hunk_header::@@ -1,2 +1,3 @@>>
<<diff context:: foo>>
<<diff removed::-baz >><<diff removed token::qux>><<diff removed::>>
<<diff added::+>><<diff added token::bar>>
<<diff added::+baz >><<diff added token::quux>><<diff added::>>
<<diff file_header::diff --git a/file3 b/file3>>
<<diff file_header::new file mode 100644>>
<<diff file_header::index 0000000000..257cc5642c>>
<<diff file_header::--- /dev/null>>
<<diff file_header::+++ b/file3>>
<<diff hunk_header::@@ -1,0 +1,1 @@>>
<<diff added::+>><<diff added token::foo>>
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "-s", "--git"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
D file1
M file2
A file3
diff --git a/file1 b/file1
deleted file mode 100644
index 257cc5642c..0000000000
--- a/file1
+++ /dev/null
@@ -1,1 +1,0 @@
-foo
diff --git a/file2 b/file2
index 523a4a9de8..485b56a572 100644
--- a/file2
+++ b/file2
@@ -1,2 +1,3 @@
foo
-baz qux
+bar
+baz quux
diff --git a/file3 b/file3
new file mode 100644
index 0000000000..257cc5642c
--- /dev/null
+++ b/file3
@@ -1,0 +1,1 @@
+foo
"###);

let stdout = test_env.jj_cmd_success(&repo_path, &["show", "--stat"]);
insta::assert_snapshot!(stdout, @r###"
Commit ID: e34f04317a81edc6ba41fef239c0d0180f10656f
Change ID: rlvkpnrzqnoowoytxnquwvuryrwnrmlp
Author: Test User <[email protected]> (2001-02-03 08:05:09)
Committer: Test User <[email protected]> (2001-02-03 08:05:09)
(no description set)
file1 | 1 -
file2 | 3 ++-
file3 | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
"###);
}

#[test]
fn test_show_with_template() {
let test_env = TestEnvironment::default();
Expand Down

0 comments on commit f983021

Please sign in to comment.