From f79adaf607358e9dabedcaebd23d45f309731554 Mon Sep 17 00:00:00 2001 From: John Cavanaugh <59479+cavanaug@users.noreply.github.com> Date: Fri, 15 Aug 2025 05:57:41 -0700 Subject: [PATCH] =?UTF-8?q?test:=20=F0=9F=9A=A8=20update=20tests=20for=20t?= =?UTF-8?q?runcated=20multiline.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit test(tests/examples/multiline.txt): 🚨 trim sample file to 10 lines to match new behavior test(tests/integration_tests.rs): 🚨 adjust line ranges and expected outputs for 10-line sample; add multi-range context test --- tests/examples/multiline.txt | 10 ------- tests/integration_tests.rs | 51 +++++++++++++++++++++++++----------- 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/tests/examples/multiline.txt b/tests/examples/multiline.txt index c4352f8b..fa2da6e5 100644 --- a/tests/examples/multiline.txt +++ b/tests/examples/multiline.txt @@ -8,13 +8,3 @@ line 7 line 8 line 9 line 10 -line 11 -line 12 -line 13 -line 14 -line 15 -line 16 -line 17 -line 18 -line 19 -line 20 diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 7887785b..e76a0e58 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -163,7 +163,7 @@ fn line_numbers() { .arg("--decorations=always") .assert() .success() - .stdout(" 1 line 1\n 2 line 2\n 3 line 3\n 4 line 4\n"); + .stdout(" 1 line 1\n 2 line 2\n 3 line 3\n 4 line 4\n 5 line 5\n 6 line 6\n 7 line 7\n 8 line 8\n 9 line 9\n 10 line 10\n"); } #[test] @@ -183,7 +183,7 @@ fn line_range_up_to_2_from_back() { .arg("--line-range=:-2") .assert() .success() - .stdout("line 1\nline 2\nline 3\nline 4\nline 5\nline 6\nline 7\nline 8\nline 9\nline 10\nline 11\nline 12\nline 13\nline 14\nline 15\nline 16\nline 17\nline 18\n"); + .stdout("line 1\nline 2\nline 3\nline 4\nline 5\nline 6\nline 7\nline 8\n"); } #[test] @@ -203,7 +203,7 @@ fn line_range_from_back_last_two() { .arg("--line-range=-2:") .assert() .success() - .stdout("line 19\nline 20\n"); + .stdout("line 9\nline 10\n"); } #[test] @@ -230,10 +230,10 @@ fn line_range_first_two() { fn line_range_last_3() { bat() .arg("multiline.txt") - .arg("--line-range=18:") + .arg("--line-range=8:") .assert() .success() - .stdout("line 18\nline 19\nline 20\n"); + .stdout("line 8\nline 9\nline 10\n"); } #[test] @@ -247,14 +247,25 @@ fn line_range_multiple() { .stdout("line 1\nline 2\nline 4\n"); } +#[test] +fn line_range_multiple_with_context() { + bat() + .arg("multiline.txt") + .arg("--line-range=2::1") + .arg("--line-range=8::1") + .assert() + .success() + .stdout("line 1\nline 2\nline 3\nline 7\nline 8\nline 9\n"); +} + #[test] fn line_range_context_around_single_line() { bat() .arg("multiline.txt") - .arg("--line-range=10::2") + .arg("--line-range=5::2") .assert() .success() - .stdout("line 8\nline 9\nline 10\nline 11\nline 12\n"); + .stdout("line 3\nline 4\nline 5\nline 6\nline 7\n"); } #[test] @@ -271,10 +282,10 @@ fn line_range_context_around_single_line_minimal() { fn line_range_context_around_range() { bat() .arg("multiline.txt") - .arg("--line-range=10:12:2") + .arg("--line-range=4:6:2") .assert() .success() - .stdout("line 8\nline 9\nline 10\nline 11\nline 12\nline 13\nline 14\n"); + .stdout("line 2\nline 3\nline 4\nline 5\nline 6\nline 7\nline 8\n"); } #[test] @@ -291,27 +302,27 @@ fn line_range_context_at_file_boundaries() { fn line_range_context_at_end_of_file() { bat() .arg("multiline.txt") - .arg("--line-range=20::2") + .arg("--line-range=10::2") .assert() .success() - .stdout("line 18\nline 19\nline 20\n"); + .stdout("line 8\nline 9\nline 10\n"); } #[test] fn line_range_context_zero() { bat() .arg("multiline.txt") - .arg("--line-range=10::0") + .arg("--line-range=5::0") .assert() .success() - .stdout("line 10\n"); + .stdout("line 5\n"); } #[test] fn line_range_context_negative_single_line() { bat() .arg("multiline.txt") - .arg("--line-range=10::-1") + .arg("--line-range=5::-1") .assert() .failure() .stderr(predicate::str::contains( @@ -323,7 +334,7 @@ fn line_range_context_negative_single_line() { fn line_range_context_negative_range() { bat() .arg("multiline.txt") - .arg("--line-range=10:12:-1") + .arg("--line-range=5:6:-1") .assert() .failure() .stderr(predicate::str::contains( @@ -362,7 +373,9 @@ fn line_range_context_very_large() { .arg("--line-range=10::999999") .assert() .success() - .stdout("line 1\nline 2\nline 3\nline 4\nline 5\nline 6\nline 7\nline 8\nline 9\nline 10\nline 11\nline 12\nline 13\nline 14\nline 15\nline 16\nline 17\nline 18\nline 19\nline 20\n"); + .stdout( + "line 1\nline 2\nline 3\nline 4\nline 5\nline 6\nline 7\nline 8\nline 9\nline 10\n", + ); } #[test] @@ -1609,6 +1622,12 @@ fn snip() { 2 line 2 ...─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 8< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 4 line 4 + 5 line 5 + 6 line 6 + 7 line 7 + 8 line 8 + 9 line 9 + 10 line 10 ", ); }