From 0b5504aa98c51035debfae06d037aa7f4643b048 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Mon, 10 Mar 2025 19:20:41 +0100 Subject: [PATCH] Cleanup: make integration test assertions for files panel more specific Assert the entire lines using Equals instead of Contains. This makes the tests a bit easier to read, and it makes it much easier to decide how they need to be changed when we change the layout (like we do in the last commit of this branch). It is true that this requires changing all these tests for any future UI changes, but I think this is a good price to pay; those adaptions are trivial and can be done without thinking. --- .../tests/branch/reset_to_upstream.go | 4 +- pkg/integration/tests/commit/commit.go | 16 ++-- .../tests/commit/discard_old_file_changes.go | 54 ++++++------ pkg/integration/tests/conflicts/filter.go | 10 +-- .../tests/conflicts/resolve_multiple_files.go | 6 +- .../tests/conflicts/resolve_no_auto_stage.go | 14 +-- pkg/integration/tests/file/collapse_expand.go | 20 ++--- .../tests/file/discard_range_select.go | 74 ++++++++-------- .../tests/file/discard_staged_changes.go | 16 ++-- .../file/discard_unstaged_dir_changes.go | 18 ++-- .../file/discard_unstaged_file_changes.go | 16 ++-- .../file/discard_unstaged_range_select.go | 44 +++++----- .../discard_various_changes_range_select.go | 36 ++++---- pkg/integration/tests/file/gitignore.go | 6 +- .../rename_similarity_threshold_change.go | 6 +- .../tests/file/stage_children_range_select.go | 24 ++--- .../tests/file/stage_deleted_range_select.go | 16 ++-- .../tests/file/stage_range_select.go | 88 +++++++++---------- .../tests/filter_and_search/nested_filter.go | 24 ++--- .../nested_filter_transient.go | 12 +-- .../tests/patch_building/apply_in_reverse.go | 4 +- .../apply_in_reverse_with_conflict.go | 10 +-- .../patch_building/move_range_to_index.go | 10 +-- .../patch_building/move_to_earlier_commit.go | 10 +-- .../move_to_earlier_commit_no_keep_empty.go | 10 +-- .../patch_building/move_to_later_commit.go | 10 +-- .../tests/patch_building/select_all_files.go | 6 +- .../tests/patch_building/toggle_range.go | 80 ++++++++--------- .../tests/staging/discard_all_changes.go | 6 +- .../tests/stash/stash_and_keep_index.go | 10 +-- .../stash/stash_including_untracked_files.go | 4 +- pkg/integration/tests/stash/stash_staged.go | 6 +- pkg/integration/tests/stash/stash_unstaged.go | 4 +- pkg/integration/tests/submodule/add.go | 4 +- pkg/integration/tests/submodule/remove.go | 4 +- .../tests/submodule/remove_nested.go | 6 +- pkg/integration/tests/submodule/reset.go | 14 +-- pkg/integration/tests/undo/undo_commit.go | 14 +-- 38 files changed, 358 insertions(+), 358 deletions(-) diff --git a/pkg/integration/tests/branch/reset_to_upstream.go b/pkg/integration/tests/branch/reset_to_upstream.go index c2ca41f4a..6a3bd904a 100644 --- a/pkg/integration/tests/branch/reset_to_upstream.go +++ b/pkg/integration/tests/branch/reset_to_upstream.go @@ -72,8 +72,8 @@ var ResetToUpstream = NewIntegrationTest(NewIntegrationTestArgs{ Contains("hard commit"), ) t.Views().Files().Lines( - Contains("file-1").Contains("A"), - Contains("file-2").Contains("A"), + Equals("A file-1"), + Equals("A file-2"), ) // hard reset diff --git a/pkg/integration/tests/commit/commit.go b/pkg/integration/tests/commit/commit.go index 3737f2e1c..6eeae03ae 100644 --- a/pkg/integration/tests/commit/commit.go +++ b/pkg/integration/tests/commit/commit.go @@ -21,19 +21,19 @@ var Commit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("?? myfile").IsSelected(), - Contains("?? myfile2"), + Equals("?? myfile").IsSelected(), + Equals("?? myfile2"), ). PressPrimaryAction(). // stage file Lines( - Contains("A myfile").IsSelected(), - Contains("?? myfile2"), + Equals("A myfile").IsSelected(), + Equals("?? myfile2"), ). SelectNextItem(). PressPrimaryAction(). // stage other file Lines( - Contains("A myfile"), - Contains("A myfile2").IsSelected(), + Equals("A myfile"), + Equals("A myfile2").IsSelected(), ). Press(keys.Files.CommitChanges) @@ -54,8 +54,8 @@ var Commit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("A myfile"), - Contains("A myfile2"), + Equals("A myfile"), + Equals("A myfile2"), ) }, }) diff --git a/pkg/integration/tests/commit/discard_old_file_changes.go b/pkg/integration/tests/commit/discard_old_file_changes.go index 1ab189264..8082d0b67 100644 --- a/pkg/integration/tests/commit/discard_old_file_changes.go +++ b/pkg/integration/tests/commit/discard_old_file_changes.go @@ -43,13 +43,13 @@ var DiscardOldFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir1").IsSelected(), - Contains("subd1"), - Contains("subfile0"), - Contains("d1_file0"), - Contains("dir2"), - Contains("d2_file1"), - Contains("d2_file2"), + Equals("▼ dir1").IsSelected(), + Equals(" ▼ subd1"), + Equals(" A subfile0"), + Equals(" A d1_file0"), + Equals("▼ dir2"), + Equals(" A d2_file1"), + Equals(" A d2_file2"), ). NavigateToLine(Contains("d1_file0")). Press(keys.Universal.Remove) @@ -62,11 +62,11 @@ var DiscardOldFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir1/subd1"), - Contains("subfile0"), - Contains("dir2"), - Contains("d2_file1").IsSelected(), - Contains("d2_file2"), + Equals("▼ dir1/subd1"), + Equals(" A subfile0"), + Equals("▼ dir2"), + Equals(" A d2_file1").IsSelected(), + Equals(" A d2_file2"), ). PressEscape() @@ -84,11 +84,11 @@ var DiscardOldFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir2").IsSelected(), - Contains("d2_file1"), - Contains("d2_file2"), - Contains("d2_file3"), - Contains("d2_file4"), + Equals("▼ dir2").IsSelected(), + Equals(" M d2_file1"), + Equals(" D d2_file2"), + Equals(" A d2_file3"), + Equals(" A d2_file4"), ). NavigateToLine(Contains("d2_file1")). Press(keys.Universal.ToggleRangeSelect). @@ -122,11 +122,11 @@ var DiscardOldFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir1").IsSelected(), - Contains("subd1"), - Contains("file2ToRemove"), - Contains("fileToRemove"), - Contains("multiLineFile"), + Equals("▼ dir1").IsSelected(), + Equals(" ▼ subd1"), + Equals(" A file2ToRemove"), + Equals(" A fileToRemove"), + Equals(" A multiLineFile"), ). NavigateToLine(Contains("multiLineFile")). PressEnter() @@ -142,11 +142,11 @@ var DiscardOldFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir1"), - Contains("subd1"), - Contains("file2ToRemove"), - Contains("fileToRemove"), - Contains("multiLineFile").IsSelected(), + Equals("▼ dir1"), + Equals(" ▼ subd1"), + Equals(" A file2ToRemove"), + Equals(" A fileToRemove"), + Equals(" ◐ multiLineFile").IsSelected(), ). NavigateToLine(Contains("dir1")). Press(keys.Universal.ToggleRangeSelect). diff --git a/pkg/integration/tests/conflicts/filter.go b/pkg/integration/tests/conflicts/filter.go index c997d8daa..f023cd9a6 100644 --- a/pkg/integration/tests/conflicts/filter.go +++ b/pkg/integration/tests/conflicts/filter.go @@ -18,8 +18,8 @@ var Filter = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("UU").Contains("file1").IsSelected(), - Contains("UU").Contains("file2"), + Equals("UU file1").IsSelected(), + Equals("UU file2"), ). Press(keys.Files.OpenStatusFilter). Tap(func() { @@ -29,10 +29,10 @@ var Filter = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("UU").Contains("file1").IsSelected(), - Contains("UU").Contains("file2"), + Equals("UU file1").IsSelected(), + Equals("UU file2"), // now we see the non-merge conflict file - Contains("A ").Contains("file3"), + Equals("A file3"), ) }, }) diff --git a/pkg/integration/tests/conflicts/resolve_multiple_files.go b/pkg/integration/tests/conflicts/resolve_multiple_files.go index f5f8db0bc..3fdcc9b2c 100644 --- a/pkg/integration/tests/conflicts/resolve_multiple_files.go +++ b/pkg/integration/tests/conflicts/resolve_multiple_files.go @@ -18,8 +18,8 @@ var ResolveMultipleFiles = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("UU").Contains("file1").IsSelected(), - Contains("UU").Contains("file2"), + Equals("UU file1").IsSelected(), + Equals("UU file2"), ). PressEnter() @@ -35,7 +35,7 @@ var ResolveMultipleFiles = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("UU").Contains("file2").IsSelected(), + Equals("UU file2").IsSelected(), ). PressEnter() diff --git a/pkg/integration/tests/conflicts/resolve_no_auto_stage.go b/pkg/integration/tests/conflicts/resolve_no_auto_stage.go index 35a509126..174ef7b32 100644 --- a/pkg/integration/tests/conflicts/resolve_no_auto_stage.go +++ b/pkg/integration/tests/conflicts/resolve_no_auto_stage.go @@ -20,8 +20,8 @@ var ResolveNoAutoStage = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("UU").Contains("file1").IsSelected(), - Contains("UU").Contains("file2"), + Equals("UU file1").IsSelected(), + Equals("UU file2"), ). PressEnter() @@ -38,13 +38,13 @@ var ResolveNoAutoStage = NewIntegrationTest(NewIntegrationTestArgs{ IsFocused(). // Resolving the conflict didn't auto-stage it Lines( - Contains("UU").Contains("file1").IsSelected(), - Contains("UU").Contains("file2"), + Equals("UU file1").IsSelected(), + Equals("UU file2"), ). // So do that manually PressPrimaryAction(). Lines( - Contains("UU").Contains("file2").IsSelected(), + Equals("UU file2").IsSelected(), ). // Trying to stage a file that still has conflicts is not allowed: PressPrimaryAction(). @@ -70,12 +70,12 @@ var ResolveNoAutoStage = NewIntegrationTest(NewIntegrationTestArgs{ IsFocused(). // Again, resolving the conflict didn't auto-stage it Lines( - Contains("UU").Contains("file2").IsSelected(), + Equals("UU file2").IsSelected(), ). // Doing that manually now works: PressPrimaryAction(). Lines( - Contains("A").Contains("file3").IsSelected(), + Equals("A file3").IsSelected(), ) }, }) diff --git a/pkg/integration/tests/file/collapse_expand.go b/pkg/integration/tests/file/collapse_expand.go index 68efe323e..713e6bdd0 100644 --- a/pkg/integration/tests/file/collapse_expand.go +++ b/pkg/integration/tests/file/collapse_expand.go @@ -21,26 +21,26 @@ var CollapseExpand = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("dir").IsSelected(), - Contains("??").Contains("file-one"), - Contains("dir2"), - Contains("??").Contains("file-two"), + Equals("▼ dir").IsSelected(), + Equals(" ?? file-one"), + Equals("▼ dir2"), + Equals(" ?? file-two"), ) t.Views().Files(). Press(keys.Files.CollapseAll). Lines( - Contains("dir"), - Contains("dir2"), + Equals("▶ dir"), + Equals("▶ dir2"), ) t.Views().Files(). Press(keys.Files.ExpandAll). Lines( - Contains("dir").IsSelected(), - Contains("??").Contains("file-one"), - Contains("dir2"), - Contains("??").Contains("file-two"), + Equals("▼ dir").IsSelected(), + Equals(" ?? file-one"), + Equals("▼ dir2"), + Equals(" ?? file-two"), ) }, }) diff --git a/pkg/integration/tests/file/discard_range_select.go b/pkg/integration/tests/file/discard_range_select.go index 2de82dd98..a4f11c43e 100644 --- a/pkg/integration/tests/file/discard_range_select.go +++ b/pkg/integration/tests/file/discard_range_select.go @@ -29,33 +29,33 @@ var DiscardRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("▼ dir1").IsSelected(), - Contains(" ??").Contains("file-1a"), - Contains(" ??").Contains("file-1b"), - Contains("▼ dir2"), - Contains(" ??").Contains("file-2a"), - Contains(" M").Contains("file-2b"), - Contains("▼ dir3"), - Contains(" ??").Contains("file-3a"), - Contains(" M").Contains("file-3b"), - Contains("??").Contains("file-a"), - Contains("??").Contains("file-b"), + Equals("▼ dir1").IsSelected(), + Equals(" ?? file-1a"), + Equals(" ?? file-1b"), + Equals("▼ dir2"), + Equals(" ?? file-2a"), + Equals(" M file-2b"), + Equals("▼ dir3"), + Equals(" ?? file-3a"), + Equals(" M file-3b"), + Equals("?? file-a"), + Equals("?? file-b"), ). NavigateToLine(Contains("file-1b")). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("file-2a")). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-1a"), - Contains(" ??").Contains("file-1b").IsSelected(), - Contains("▼ dir2").IsSelected(), - Contains(" ??").Contains("file-2a").IsSelected(), - Contains(" M").Contains("file-2b"), - Contains("▼ dir3"), - Contains(" ??").Contains("file-3a"), - Contains(" M").Contains("file-3b"), - Contains("??").Contains("file-a"), - Contains("??").Contains("file-b"), + Equals("▼ dir1"), + Equals(" ?? file-1a"), + Equals(" ?? file-1b").IsSelected(), + Equals("▼ dir2").IsSelected(), + Equals(" ?? file-2a").IsSelected(), + Equals(" M file-2b"), + Equals("▼ dir3"), + Equals(" ?? file-3a"), + Equals(" M file-3b"), + Equals("?? file-a"), + Equals("?? file-b"), ). // Discard Press(keys.Universal.Remove). @@ -66,24 +66,24 @@ var DiscardRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-1a"), - Contains("▼ dir3").IsSelected(), - Contains(" ??").Contains("file-3a"), - Contains(" M").Contains("file-3b"), - Contains("??").Contains("file-a"), - Contains("??").Contains("file-b"), + Equals("▼ dir1"), + Equals(" ?? file-1a"), + Equals("▼ dir3").IsSelected(), + Equals(" ?? file-3a"), + Equals(" M file-3b"), + Equals("?? file-a"), + Equals("?? file-b"), ). // Verify you can discard collapsed directories in range select PressEnter(). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("file-a")). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-1a"), - Contains("▶ dir3").IsSelected(), - Contains("??").Contains("file-a").IsSelected(), - Contains("??").Contains("file-b"), + Equals("▼ dir1"), + Equals(" ?? file-1a"), + Equals("▶ dir3").IsSelected(), + Equals("?? file-a").IsSelected(), + Equals("?? file-b"), ). Press(keys.Universal.Remove). Tap(func() { @@ -93,9 +93,9 @@ var DiscardRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-1a"), - Contains("??").Contains("file-b").IsSelected(), + Equals("▼ dir1"), + Equals(" ?? file-1a"), + Equals("?? file-b").IsSelected(), ) }, }) diff --git a/pkg/integration/tests/file/discard_staged_changes.go b/pkg/integration/tests/file/discard_staged_changes.go index 022796bdf..475c0ab54 100644 --- a/pkg/integration/tests/file/discard_staged_changes.go +++ b/pkg/integration/tests/file/discard_staged_changes.go @@ -24,16 +24,16 @@ var DiscardStagedChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains(` M file2`).IsSelected(), - Contains(`?? file3`), - Contains(` M fileToRemove`), + Equals(" M file2").IsSelected(), + Equals("?? file3"), + Equals(" M fileToRemove"), ). NavigateToLine(Contains(`fileToRemove`)). PressPrimaryAction(). Lines( - Contains(` M file2`), - Contains(`?? file3`), - Contains(`M fileToRemove`).IsSelected(), + Equals(" M file2"), + Equals("?? file3"), + Equals("M fileToRemove").IsSelected(), ). Press(keys.Files.ViewResetOptions) @@ -42,8 +42,8 @@ var DiscardStagedChanges = NewIntegrationTest(NewIntegrationTestArgs{ // staged file has been removed t.Views().Files(). Lines( - Contains(` M file2`), - Contains(`?? file3`).IsSelected(), + Equals(" M file2"), + Equals("?? file3").IsSelected(), ) // the file should have the same content that it originally had, given that that was committed already diff --git a/pkg/integration/tests/file/discard_unstaged_dir_changes.go b/pkg/integration/tests/file/discard_unstaged_dir_changes.go index 66e2ed67c..0e3d4af98 100644 --- a/pkg/integration/tests/file/discard_unstaged_dir_changes.go +++ b/pkg/integration/tests/file/discard_unstaged_dir_changes.go @@ -30,12 +30,12 @@ var DiscardUnstagedDirChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("dir").IsSelected(), - Contains("subdir"), - Contains("??").Contains("unstaged-file-one"), - Contains("MM").Contains("file-one"), - Contains("??").Contains("unstaged-file-two"), - Contains("??").Contains("unstaged-file-three"), + Equals("▼ dir").IsSelected(), + Equals(" ▼ subdir"), + Equals(" ?? unstaged-file-one"), + Equals(" MM file-one"), + Equals(" ?? unstaged-file-two"), + Equals("?? unstaged-file-three"), ). Press(keys.Universal.Remove). Tap(func() { @@ -45,10 +45,10 @@ var DiscardUnstagedDirChanges = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("dir").IsSelected(), - Contains("M ").Contains("file-one"), + Equals("▼ dir").IsSelected(), + Equals(" M file-one"), // this guy remains untouched because it wasn't inside the 'dir' directory - Contains("??").Contains("unstaged-file-three"), + Equals("?? unstaged-file-three"), ) t.FileSystem().FileContent("dir/file-one", Equals("original content\nnew content\n")) diff --git a/pkg/integration/tests/file/discard_unstaged_file_changes.go b/pkg/integration/tests/file/discard_unstaged_file_changes.go index 2d2b5f192..aa5ad34f0 100644 --- a/pkg/integration/tests/file/discard_unstaged_file_changes.go +++ b/pkg/integration/tests/file/discard_unstaged_file_changes.go @@ -26,8 +26,8 @@ var DiscardUnstagedFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("MM").Contains("file-one").IsSelected(), - Contains("AM").Contains("file-two"), + Equals("MM file-one").IsSelected(), + Equals("AM file-two"), ). Press(keys.Universal.Remove). Tap(func() { @@ -37,13 +37,13 @@ var DiscardUnstagedFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("M ").Contains("file-one").IsSelected(), - Contains("AM").Contains("file-two"), + Equals("M file-one").IsSelected(), + Equals("AM file-two"), ). SelectNextItem(). Lines( - Contains("M ").Contains("file-one"), - Contains("AM").Contains("file-two").IsSelected(), + Equals("M file-one"), + Equals("AM file-two").IsSelected(), ). Press(keys.Universal.Remove). Tap(func() { @@ -53,8 +53,8 @@ var DiscardUnstagedFileChanges = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("M ").Contains("file-one"), - Contains("A ").Contains("file-two").IsSelected(), + Equals("M file-one"), + Equals("A file-two").IsSelected(), ) t.FileSystem().FileContent("file-one", Equals("original content\nnew content\n")) diff --git a/pkg/integration/tests/file/discard_unstaged_range_select.go b/pkg/integration/tests/file/discard_unstaged_range_select.go index efcf83c10..ba694fef5 100644 --- a/pkg/integration/tests/file/discard_unstaged_range_select.go +++ b/pkg/integration/tests/file/discard_unstaged_range_select.go @@ -26,27 +26,27 @@ var DiscardUnstagedRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("▼ dir1").IsSelected(), - Contains(" ??").Contains("file-a"), - Contains(" ??").Contains("file-b"), - Contains("▼ dir2"), - Contains(" A ").Contains("file-c"), - Contains(" M").Contains("file-d"), - Contains("??").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals("▼ dir1").IsSelected(), + Equals(" ?? file-a"), + Equals(" ?? file-b"), + Equals("▼ dir2"), + Equals(" A file-c"), + Equals(" M file-d"), + Equals("?? file-e"), + Equals("?? file-f"), ). NavigateToLine(Contains("file-b")). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("file-c")). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-a"), - Contains(" ??").Contains("file-b").IsSelected(), - Contains("▼ dir2").IsSelected(), - Contains(" A ").Contains("file-c").IsSelected(), - Contains(" M").Contains("file-d"), - Contains("??").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals("▼ dir1"), + Equals(" ?? file-a"), + Equals(" ?? file-b").IsSelected(), + Equals("▼ dir2").IsSelected(), + Equals(" A file-c").IsSelected(), + Equals(" M file-d"), + Equals("?? file-e"), + Equals("?? file-f"), ). // Discard Press(keys.Universal.Remove). @@ -60,14 +60,14 @@ var DiscardUnstagedRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ // file-c is still there because it contained no unstaged changes // file-d is gone because it was selected via dir2 and contained only unstaged changes Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-a"), - Contains("▼ dir2"), + Equals("▼ dir1"), + Equals(" ?? file-a"), + Equals("▼ dir2"), // Re-selecting file-c because it's where the selected line index // was before performing the action. - Contains(" A ").Contains("file-c").IsSelected(), - Contains("??").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals(" A file-c").IsSelected(), + Equals("?? file-e"), + Equals("?? file-f"), ) }, }) diff --git a/pkg/integration/tests/file/discard_various_changes_range_select.go b/pkg/integration/tests/file/discard_various_changes_range_select.go index eb78ce93a..3620df2e0 100644 --- a/pkg/integration/tests/file/discard_various_changes_range_select.go +++ b/pkg/integration/tests/file/discard_various_changes_range_select.go @@ -19,13 +19,13 @@ var DiscardVariousChangesRangeSelect = NewIntegrationTest(NewIntegrationTestArgs t.Views().Files(). IsFocused(). Lines( - Contains("UA").Contains("added-them-changed-us.txt").IsSelected(), - Contains("AA").Contains("both-added.txt"), - Contains("DD").Contains("both-deleted.txt"), - Contains("UU").Contains("both-modded.txt"), - Contains("AU").Contains("changed-them-added-us.txt"), - Contains("UD").Contains("deleted-them.txt"), - Contains("DU").Contains("deleted-us.txt"), + Equals("UA added-them-changed-us.txt").IsSelected(), + Equals("AA both-added.txt"), + Equals("DD both-deleted.txt"), + Equals("UU both-modded.txt"), + Equals("AU changed-them-added-us.txt"), + Equals("UD deleted-them.txt"), + Equals("DU deleted-us.txt"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("deleted-us.txt")). @@ -42,17 +42,17 @@ var DiscardVariousChangesRangeSelect = NewIntegrationTest(NewIntegrationTestArgs Cancel() }). Lines( - Contains("AM").Contains("added-changed.txt").IsSelected(), - Contains("MD").Contains("change-delete.txt"), - Contains("D ").Contains("delete-change.txt"), - Contains("D ").Contains("deleted-staged.txt"), - Contains(" D").Contains("deleted.txt"), - Contains("MM").Contains("double-modded.txt"), - Contains("M ").Contains("modded-staged.txt"), - Contains(" M").Contains("modded.txt"), - Contains("A ").Contains("new-staged.txt"), - Contains("??").Contains("new.txt"), - Contains("R ").Contains("renamed.txt → renamed2.txt"), + Equals("AM added-changed.txt").IsSelected(), + Equals("MD change-delete.txt"), + Equals("D delete-change.txt"), + Equals("D deleted-staged.txt"), + Equals(" D deleted.txt"), + Equals("MM double-modded.txt"), + Equals("M modded-staged.txt"), + Equals(" M modded.txt"), + Equals("A new-staged.txt"), + Equals("?? new.txt"), + Equals("R renamed.txt → renamed2.txt"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("renamed.txt")). diff --git a/pkg/integration/tests/file/gitignore.go b/pkg/integration/tests/file/gitignore.go index e206f19e1..d9dfeacfa 100644 --- a/pkg/integration/tests/file/gitignore.go +++ b/pkg/integration/tests/file/gitignore.go @@ -20,9 +20,9 @@ var Gitignore = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains(`?? .gitignore`).IsSelected(), - Contains(`?? toExclude`), - Contains(`?? toIgnore`), + Equals("?? .gitignore").IsSelected(), + Equals("?? toExclude"), + Equals("?? toIgnore"), ). Press(keys.Files.IgnoreFile). // ensure we can't exclude the .gitignore file diff --git a/pkg/integration/tests/file/rename_similarity_threshold_change.go b/pkg/integration/tests/file/rename_similarity_threshold_change.go index ec3aad241..175a4f3c5 100644 --- a/pkg/integration/tests/file/rename_similarity_threshold_change.go +++ b/pkg/integration/tests/file/rename_similarity_threshold_change.go @@ -21,15 +21,15 @@ var RenameSimilarityThresholdChange = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("D ").Contains("original"), - Contains("A ").Contains("renamed"), + Equals("D original"), + Equals("A renamed"), ). Press(keys.Universal.DecreaseRenameSimilarityThreshold). Tap(func() { t.ExpectToast(Equals("Changed rename similarity threshold to 45%")) }). Lines( - Contains("R ").Contains("original → renamed"), + Equals("R original → renamed"), ) }, }) diff --git a/pkg/integration/tests/file/stage_children_range_select.go b/pkg/integration/tests/file/stage_children_range_select.go index 30a0a5e6b..a79b1ce54 100644 --- a/pkg/integration/tests/file/stage_children_range_select.go +++ b/pkg/integration/tests/file/stage_children_range_select.go @@ -21,12 +21,12 @@ var StageChildrenRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("▼ baz").IsSelected(), - Contains(" ??").Contains("file"), - Contains("▼ bazbam"), - Contains(" ??").Contains("file"), - Contains("??").Contains("foo"), - Contains("??").Contains("foobar"), + Equals("▼ baz").IsSelected(), + Equals(" ?? file"), + Equals("▼ bazbam"), + Equals(" ?? file"), + Equals("?? foo"), + Equals("?? foobar"), ). // Select everything Press(keys.Universal.ToggleRangeSelect). @@ -34,12 +34,12 @@ var StageChildrenRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ // Stage PressPrimaryAction(). Lines( - Contains("▼ baz").IsSelected(), - Contains(" A ").Contains("file").IsSelected(), - Contains("▼ bazbam").IsSelected(), - Contains(" A ").Contains("file").IsSelected(), - Contains("A ").Contains("foo").IsSelected(), - Contains("A ").Contains("foobar").IsSelected(), + Equals("▼ baz").IsSelected(), + Equals(" A file").IsSelected(), + Equals("▼ bazbam").IsSelected(), + Equals(" A file").IsSelected(), + Equals("A foo").IsSelected(), + Equals("A foobar").IsSelected(), ) }, }) diff --git a/pkg/integration/tests/file/stage_deleted_range_select.go b/pkg/integration/tests/file/stage_deleted_range_select.go index d10188756..aed4dd975 100644 --- a/pkg/integration/tests/file/stage_deleted_range_select.go +++ b/pkg/integration/tests/file/stage_deleted_range_select.go @@ -23,28 +23,28 @@ var StageDeletedRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains(" D").Contains("file-a").IsSelected(), - Contains(" D").Contains("file-b"), + Equals(" D file-a").IsSelected(), + Equals(" D file-b"), ). // Stage a single deleted file PressPrimaryAction(). Lines( - Contains("D ").Contains("file-a").IsSelected(), - Contains(" D").Contains("file-b"), + Equals("D file-a").IsSelected(), + Equals(" D file-b"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("file-b")). // Stage both files while a deleted file is already staged PressPrimaryAction(). Lines( - Contains("D ").Contains("file-a").IsSelected(), - Contains("D ").Contains("file-b").IsSelected(), + Equals("D file-a").IsSelected(), + Equals("D file-b").IsSelected(), ). // Unstage; back to everything being unstaged PressPrimaryAction(). Lines( - Contains(" D").Contains("file-a").IsSelected(), - Contains(" D").Contains("file-b").IsSelected(), + Equals(" D file-a").IsSelected(), + Equals(" D file-b").IsSelected(), ) }, }) diff --git a/pkg/integration/tests/file/stage_range_select.go b/pkg/integration/tests/file/stage_range_select.go index d0c26e39b..3d7a7f233 100644 --- a/pkg/integration/tests/file/stage_range_select.go +++ b/pkg/integration/tests/file/stage_range_select.go @@ -26,14 +26,14 @@ var StageRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("▼ dir1").IsSelected(), - Contains(" ??").Contains("file-a"), - Contains(" ??").Contains("file-b"), - Contains("▼ dir2"), - Contains(" ??").Contains("file-c"), - Contains(" M").Contains("file-d"), - Contains("??").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals("▼ dir1").IsSelected(), + Equals(" ?? file-a"), + Equals(" ?? file-b"), + Equals("▼ dir2"), + Equals(" ?? file-c"), + Equals(" M file-d"), + Equals("?? file-e"), + Equals("?? file-f"), ). NavigateToLine(Contains("file-b")). Press(keys.Universal.ToggleRangeSelect). @@ -41,27 +41,27 @@ var StageRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ // Stage PressPrimaryAction(). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-a"), - Contains(" A ").Contains("file-b").IsSelected(), - Contains("▼ dir2").IsSelected(), - Contains(" A ").Contains("file-c").IsSelected(), + Equals("▼ dir1"), + Equals(" ?? file-a"), + Equals(" A file-b").IsSelected(), + Equals("▼ dir2").IsSelected(), + Equals(" A file-c").IsSelected(), // Staged because dir2 was part of the selection when he hit space - Contains(" M ").Contains("file-d"), - Contains("??").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals(" M file-d"), + Equals("?? file-e"), + Equals("?? file-f"), ). // Unstage; back to everything being unstaged PressPrimaryAction(). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-a"), - Contains(" ??").Contains("file-b").IsSelected(), - Contains("▼ dir2").IsSelected(), - Contains(" ??").Contains("file-c").IsSelected(), - Contains(" M").Contains("file-d"), - Contains("??").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals("▼ dir1"), + Equals(" ?? file-a"), + Equals(" ?? file-b").IsSelected(), + Equals("▼ dir2").IsSelected(), + Equals(" ?? file-c").IsSelected(), + Equals(" M file-d"), + Equals("?? file-e"), + Equals("?? file-f"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("dir2")). @@ -69,38 +69,38 @@ var StageRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{ // Collapse the directory PressEnter(). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-a"), - Contains(" ??").Contains("file-b"), - Contains("▶ dir2").IsSelected(), - Contains("??").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals("▼ dir1"), + Equals(" ?? file-a"), + Equals(" ?? file-b"), + Equals("▶ dir2").IsSelected(), + Equals("?? file-e"), + Equals("?? file-f"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("file-e")). // Stage PressPrimaryAction(). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-a"), - Contains(" ??").Contains("file-b"), - Contains("▶ dir2").IsSelected(), - Contains("A ").Contains("file-e").IsSelected(), - Contains("??").Contains("file-f"), + Equals("▼ dir1"), + Equals(" ?? file-a"), + Equals(" ?? file-b"), + Equals("▶ dir2").IsSelected(), + Equals("A file-e").IsSelected(), + Equals("?? file-f"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("dir2")). // Expand the directory again to verify it's been staged PressEnter(). Lines( - Contains("▼ dir1"), - Contains(" ??").Contains("file-a"), - Contains(" ??").Contains("file-b"), - Contains("▼ dir2").IsSelected(), - Contains(" A ").Contains("file-c"), - Contains(" M ").Contains("file-d"), - Contains("A ").Contains("file-e"), - Contains("??").Contains("file-f"), + Equals("▼ dir1"), + Equals(" ?? file-a"), + Equals(" ?? file-b"), + Equals("▼ dir2").IsSelected(), + Equals(" A file-c"), + Equals(" M file-d"), + Equals("A file-e"), + Equals("?? file-f"), ) }, }) diff --git a/pkg/integration/tests/filter_and_search/nested_filter.go b/pkg/integration/tests/filter_and_search/nested_filter.go index 6444ad523..6562ea295 100644 --- a/pkg/integration/tests/filter_and_search/nested_filter.go +++ b/pkg/integration/tests/filter_and_search/nested_filter.go @@ -61,15 +61,15 @@ var NestedFilter = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains(`apple`).IsSelected(), - Contains(`grape`), - Contains(`orange`), + Equals("A apple").IsSelected(), + Equals("A grape"), + Equals("A orange"), ). FilterOrSearch("grape"). Lines( - Contains(`apple`), - Contains(`grape`).IsSelected(), - Contains(`orange`), + Equals("A apple"), + Equals("A grape").IsSelected(), + Equals("A orange"), ). PressEnter() @@ -87,9 +87,9 @@ var NestedFilter = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains(`apple`), - Contains(`grape`).IsSelected(), - Contains(`orange`), + Equals("A apple"), + Equals("A grape").IsSelected(), + Equals("A orange"), ). Tap(func() { t.Views().Search().IsVisible().Content(Contains("matches for 'grape'")) @@ -100,9 +100,9 @@ var NestedFilter = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Search().IsInvisible() }). Lines( - Contains(`apple`), - Contains(`grape`).IsSelected(), - Contains(`orange`), + Equals("A apple"), + Equals("A grape").IsSelected(), + Equals("A orange"), ). // escape to sub-commits view PressEscape() diff --git a/pkg/integration/tests/filter_and_search/nested_filter_transient.go b/pkg/integration/tests/filter_and_search/nested_filter_transient.go index 3bc8e78bb..84f12fda8 100644 --- a/pkg/integration/tests/filter_and_search/nested_filter_transient.go +++ b/pkg/integration/tests/filter_and_search/nested_filter_transient.go @@ -69,13 +69,13 @@ var NestedFilterTransient = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains(`file-one`).IsSelected(), - Contains(`file-two`), + Equals("A file-one").IsSelected(), + Equals("A file-two"), ). FilterOrSearch("two"). Lines( - Contains(`file-one`), - Contains(`file-two`).IsSelected(), + Equals("A file-one"), + Equals("A file-two").IsSelected(), ) t.Views().Branches(). @@ -96,8 +96,8 @@ var NestedFilterTransient = NewIntegrationTest(NewIntegrationTestArgs{ IsFocused(). // the search on the commit-files context has been cancelled Lines( - Contains(`file-one`).IsSelected(), - Contains(`file-two`), + Equals("A file-one").IsSelected(), + Equals("A file-two"), ). Tap(func() { t.Views().Search().IsInvisible() diff --git a/pkg/integration/tests/patch_building/apply_in_reverse.go b/pkg/integration/tests/patch_building/apply_in_reverse.go index c587d8fc1..d2fadae65 100644 --- a/pkg/integration/tests/patch_building/apply_in_reverse.go +++ b/pkg/integration/tests/patch_building/apply_in_reverse.go @@ -26,8 +26,8 @@ var ApplyInReverse = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("file1").IsSelected(), - Contains("file2"), + Equals("A file1").IsSelected(), + Equals("A file2"), ). PressPrimaryAction() diff --git a/pkg/integration/tests/patch_building/apply_in_reverse_with_conflict.go b/pkg/integration/tests/patch_building/apply_in_reverse_with_conflict.go index f450f8229..ea90f5ed7 100644 --- a/pkg/integration/tests/patch_building/apply_in_reverse_with_conflict.go +++ b/pkg/integration/tests/patch_building/apply_in_reverse_with_conflict.go @@ -34,8 +34,8 @@ var ApplyInReverseWithConflict = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("M").Contains("file1").IsSelected(), - Contains("M").Contains("file2"), + Equals("M file1").IsSelected(), + Equals("M file2"), ). // Add both files to the patch; the first will conflict, the second won't PressPrimaryAction(). @@ -61,7 +61,7 @@ var ApplyInReverseWithConflict = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Focus(). Lines( - Contains("UU").Contains("file1").IsSelected(), + Equals("UU file1").IsSelected(), ). PressEnter() @@ -81,8 +81,8 @@ var ApplyInReverseWithConflict = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Focus(). Lines( - Contains("M").Contains("file1").IsSelected(), - Contains("M").Contains("file2"), + Equals("M file1").IsSelected(), + Equals("M file2"), ) t.Views().Main(). diff --git a/pkg/integration/tests/patch_building/move_range_to_index.go b/pkg/integration/tests/patch_building/move_range_to_index.go index 2e7c95e9a..e09f72536 100644 --- a/pkg/integration/tests/patch_building/move_range_to_index.go +++ b/pkg/integration/tests/patch_building/move_range_to_index.go @@ -31,9 +31,9 @@ var MoveRangeToIndex = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("M file1").IsSelected(), - Contains("A file2"), - Contains("A file3"), + Equals("M file1").IsSelected(), + Equals("A file2"), + Equals("A file3"), ). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("file2")). @@ -55,8 +55,8 @@ var MoveRangeToIndex = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Focus(). Lines( - Contains("file1").IsSelected(), - Contains("file2"), + Equals("M file1").IsSelected(), + Equals("A file2"), ) t.Views().Main(). diff --git a/pkg/integration/tests/patch_building/move_to_earlier_commit.go b/pkg/integration/tests/patch_building/move_to_earlier_commit.go index 4336f8bc5..5d9fd9c7e 100644 --- a/pkg/integration/tests/patch_building/move_to_earlier_commit.go +++ b/pkg/integration/tests/patch_building/move_to_earlier_commit.go @@ -66,11 +66,11 @@ var MoveToEarlierCommit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir").IsSelected(), - Contains(" M file1"), - Contains(" D file2"), - Contains(" A file3"), - Contains("A unrelated-file"), + Equals("▼ dir").IsSelected(), + Equals(" M file1"), + Equals(" D file2"), + Equals(" A file3"), + Equals("A unrelated-file"), ). PressEscape() diff --git a/pkg/integration/tests/patch_building/move_to_earlier_commit_no_keep_empty.go b/pkg/integration/tests/patch_building/move_to_earlier_commit_no_keep_empty.go index bbe1373e0..d7376056b 100644 --- a/pkg/integration/tests/patch_building/move_to_earlier_commit_no_keep_empty.go +++ b/pkg/integration/tests/patch_building/move_to_earlier_commit_no_keep_empty.go @@ -66,11 +66,11 @@ var MoveToEarlierCommitNoKeepEmpty = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir").IsSelected(), - Contains(" M file1"), - Contains(" D file2"), - Contains(" A file3"), - Contains("A unrelated-file"), + Equals("▼ dir").IsSelected(), + Equals(" M file1"), + Equals(" D file2"), + Equals(" A file3"), + Equals("A unrelated-file"), ). PressEscape() }, diff --git a/pkg/integration/tests/patch_building/move_to_later_commit.go b/pkg/integration/tests/patch_building/move_to_later_commit.go index 0e2a2ad86..f6c49ea58 100644 --- a/pkg/integration/tests/patch_building/move_to_later_commit.go +++ b/pkg/integration/tests/patch_building/move_to_later_commit.go @@ -66,11 +66,11 @@ var MoveToLaterCommit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("dir").IsSelected(), - Contains(" M file1"), - Contains(" D file2"), - Contains(" A file3"), - Contains("A unrelated-file"), + Equals("▼ dir").IsSelected(), + Equals(" M file1"), + Equals(" D file2"), + Equals(" A file3"), + Equals("A unrelated-file"), ). PressEscape() diff --git a/pkg/integration/tests/patch_building/select_all_files.go b/pkg/integration/tests/patch_building/select_all_files.go index 5665cef50..feef6f291 100644 --- a/pkg/integration/tests/patch_building/select_all_files.go +++ b/pkg/integration/tests/patch_building/select_all_files.go @@ -27,9 +27,9 @@ var SelectAllFiles = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("file1").IsSelected(), - Contains("file2"), - Contains("file3"), + Equals("A file1").IsSelected(), + Equals("A file2"), + Equals("A file3"), ). Press(keys.Files.ToggleStagedAll) diff --git a/pkg/integration/tests/patch_building/toggle_range.go b/pkg/integration/tests/patch_building/toggle_range.go index 6fd49adcf..878988b84 100644 --- a/pkg/integration/tests/patch_building/toggle_range.go +++ b/pkg/integration/tests/patch_building/toggle_range.go @@ -34,28 +34,28 @@ var ToggleRange = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("▼ dir1").IsSelected(), - Contains(" A").Contains("file1-a"), - Contains(" A").Contains("file2-a"), - Contains(" A").Contains("file3-a"), - Contains("▼ dir2"), - Contains(" A").Contains("file1-b"), - Contains(" A").Contains("file2-b"), - Contains(" A").Contains("file3-b"), + Equals("▼ dir1").IsSelected(), + Equals(" A file1-a"), + Equals(" A file2-a"), + Equals(" A file3-a"), + Equals("▼ dir2"), + Equals(" A file1-b"), + Equals(" A file2-b"), + Equals(" A file3-b"), ). NavigateToLine(Contains("file1-a")). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("file3-a")). PressPrimaryAction(). Lines( - Contains("▼ dir1"), - Contains(" ●").Contains("file1-a").IsSelected(), - Contains(" ●").Contains("file2-a").IsSelected(), - Contains(" ●").Contains("file3-a").IsSelected(), - Contains("▼ dir2"), - Contains(" A").Contains("file1-b"), - Contains(" A").Contains("file2-b"), - Contains(" A").Contains("file3-b"), + Equals("▼ dir1"), + Equals(" ● file1-a").IsSelected(), + Equals(" ● file2-a").IsSelected(), + Equals(" ● file3-a").IsSelected(), + Equals("▼ dir2"), + Equals(" A file1-b"), + Equals(" A file2-b"), + Equals(" A file3-b"), ). PressEscape(). NavigateToLine(Contains("file3-b")). @@ -69,39 +69,39 @@ var ToggleRange = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("▼ dir1"), - Contains(" ●").Contains("file1-a"), - Contains(" ●").Contains("file2-a"), - Contains(" ●").Contains("file3-a"), - Contains("▼ dir2"), - Contains(" A").Contains("file1-b"), - Contains(" A").Contains("file2-b"), - Contains(" ◐").Contains("file3-b").IsSelected(), + Equals("▼ dir1"), + Equals(" ● file1-a"), + Equals(" ● file2-a"), + Equals(" ● file3-a"), + Equals("▼ dir2"), + Equals(" A file1-b"), + Equals(" A file2-b"), + Equals(" ◐ file3-b").IsSelected(), ). NavigateToLine(Contains("dir1")). Press(keys.Universal.ToggleRangeSelect). NavigateToLine(Contains("dir2")). PressPrimaryAction(). Lines( - Contains("▼ dir1").IsSelected(), - Contains(" ●").Contains("file1-a").IsSelected(), - Contains(" ●").Contains("file2-a").IsSelected(), - Contains(" ●").Contains("file3-a").IsSelected(), - Contains("▼ dir2").IsSelected(), - Contains(" ●").Contains("file1-b"), - Contains(" ●").Contains("file2-b"), - Contains(" ●").Contains("file3-b"), + Equals("▼ dir1").IsSelected(), + Equals(" ● file1-a").IsSelected(), + Equals(" ● file2-a").IsSelected(), + Equals(" ● file3-a").IsSelected(), + Equals("▼ dir2").IsSelected(), + Equals(" ● file1-b"), + Equals(" ● file2-b"), + Equals(" ● file3-b"), ). PressPrimaryAction(). Lines( - Contains("▼ dir1").IsSelected(), - Contains(" A").Contains("file1-a").IsSelected(), - Contains(" A").Contains("file2-a").IsSelected(), - Contains(" A").Contains("file3-a").IsSelected(), - Contains("▼ dir2").IsSelected(), - Contains(" A").Contains("file1-b"), - Contains(" A").Contains("file2-b"), - Contains(" A").Contains("file3-b"), + Equals("▼ dir1").IsSelected(), + Equals(" A file1-a").IsSelected(), + Equals(" A file2-a").IsSelected(), + Equals(" A file3-a").IsSelected(), + Equals("▼ dir2").IsSelected(), + Equals(" A file1-b"), + Equals(" A file2-b"), + Equals(" A file3-b"), ) }, }) diff --git a/pkg/integration/tests/staging/discard_all_changes.go b/pkg/integration/tests/staging/discard_all_changes.go index b869b2318..ae04547c0 100644 --- a/pkg/integration/tests/staging/discard_all_changes.go +++ b/pkg/integration/tests/staging/discard_all_changes.go @@ -22,8 +22,8 @@ var DiscardAllChanges = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). IsFocused(). Lines( - Contains("file1").IsSelected(), - Contains("file2"), + Equals(" M file1").IsSelected(), + Equals(" M file2"), ). PressEnter() @@ -44,7 +44,7 @@ var DiscardAllChanges = NewIntegrationTest(NewIntegrationTestArgs{ // because there are no more changes in file1 we switch to file2 t.Views().Files(). Lines( - Contains("file2").IsSelected(), + Equals(" M file2").IsSelected(), ) }). // assert we are still in the staging panel, but now looking at the changes of the other file diff --git a/pkg/integration/tests/stash/stash_and_keep_index.go b/pkg/integration/tests/stash/stash_and_keep_index.go index db37e7328..c4b346bb1 100644 --- a/pkg/integration/tests/stash/stash_and_keep_index.go +++ b/pkg/integration/tests/stash/stash_and_keep_index.go @@ -23,8 +23,8 @@ var StashAndKeepIndex = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains("file-staged"), - Contains("file-unstaged"), + Equals("M file-staged"), + Equals(" M file-unstaged"), ). Press(keys.Files.ViewStashOptions) @@ -39,7 +39,7 @@ var StashAndKeepIndex = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains("file-staged"), + Equals("M file-staged"), ) t.Views().Stash(). @@ -49,8 +49,8 @@ var StashAndKeepIndex = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().CommitFiles(). IsFocused(). Lines( - Contains("file-staged"), - Contains("file-unstaged"), + Equals("M file-staged"), + Equals("M file-unstaged"), ) }, }) diff --git a/pkg/integration/tests/stash/stash_including_untracked_files.go b/pkg/integration/tests/stash/stash_including_untracked_files.go index 1db09394f..1a6be8013 100644 --- a/pkg/integration/tests/stash/stash_including_untracked_files.go +++ b/pkg/integration/tests/stash/stash_including_untracked_files.go @@ -22,8 +22,8 @@ var StashIncludingUntrackedFiles = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains("file_1"), - Contains("file_2"), + Equals("A file_1"), + Equals("?? file_2"), ). Press(keys.Files.ViewStashOptions) diff --git a/pkg/integration/tests/stash/stash_staged.go b/pkg/integration/tests/stash/stash_staged.go index 11347d98d..8e11265f7 100644 --- a/pkg/integration/tests/stash/stash_staged.go +++ b/pkg/integration/tests/stash/stash_staged.go @@ -23,8 +23,8 @@ var StashStaged = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains("file-staged"), - Contains("file-unstaged"), + Equals("M file-staged"), + Equals(" M file-unstaged"), ). Press(keys.Files.ViewStashOptions) @@ -39,7 +39,7 @@ var StashStaged = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains("file-unstaged"), + Equals(" M file-unstaged"), ) t.Views().Stash(). diff --git a/pkg/integration/tests/stash/stash_unstaged.go b/pkg/integration/tests/stash/stash_unstaged.go index 8027ec387..7d1ca0db3 100644 --- a/pkg/integration/tests/stash/stash_unstaged.go +++ b/pkg/integration/tests/stash/stash_unstaged.go @@ -23,8 +23,8 @@ var StashUnstaged = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains("file-staged"), - Contains("file-unstaged"), + Equals("M file-staged"), + Equals(" M file-unstaged"), ). Press(keys.Files.ViewStashOptions) diff --git a/pkg/integration/tests/submodule/add.go b/pkg/integration/tests/submodule/add.go index 9437a205a..d885ffaa1 100644 --- a/pkg/integration/tests/submodule/add.go +++ b/pkg/integration/tests/submodule/add.go @@ -44,8 +44,8 @@ var Add = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files().Focus(). Lines( - Contains(".gitmodules").IsSelected(), - Contains("my_submodule_path (submodule)"), + Equals("A .gitmodules").IsSelected(), + Equals("A my_submodule_path (submodule)"), ). Tap(func() { t.Views().Main().Content( diff --git a/pkg/integration/tests/submodule/remove.go b/pkg/integration/tests/submodule/remove.go index 22fb83f30..06176ee95 100644 --- a/pkg/integration/tests/submodule/remove.go +++ b/pkg/integration/tests/submodule/remove.go @@ -35,8 +35,8 @@ var Remove = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files().Focus(). Lines( - MatchesRegexp(`M.*\.gitmodules`).IsSelected(), - MatchesRegexp(`D.*my_submodule_path`), + Equals("M .gitmodules").IsSelected(), + Equals("D my_submodule_path"), ) t.Views().Main().Content( diff --git a/pkg/integration/tests/submodule/remove_nested.go b/pkg/integration/tests/submodule/remove_nested.go index ae32c0907..945361084 100644 --- a/pkg/integration/tests/submodule/remove_nested.go +++ b/pkg/integration/tests/submodule/remove_nested.go @@ -39,9 +39,9 @@ var RemoveNested = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files().IsFocused(). Lines( - Contains("modules").IsSelected(), - MatchesRegexp(`D.*innerSubPath`), - MatchesRegexp(`M.*\.gitmodules`), + Equals("▼ modules").IsSelected(), + Equals(" D innerSubPath"), + Equals("M .gitmodules"), ). NavigateToLine(Contains(".gitmodules")) diff --git a/pkg/integration/tests/submodule/reset.go b/pkg/integration/tests/submodule/reset.go index 85b379214..1521ab6ee 100644 --- a/pkg/integration/tests/submodule/reset.go +++ b/pkg/integration/tests/submodule/reset.go @@ -71,15 +71,15 @@ var Reset = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files().Focus(). Lines( - MatchesRegexp(` M.*my_submodule_path \(submodule\)`), - Contains("other_file").IsSelected(), + Equals(" M my_submodule_path (submodule)"), + Equals("?? other_file").IsSelected(), ). // Verify we can't use range select on submodules Press(keys.Universal.ToggleRangeSelect). SelectPreviousItem(). Lines( - MatchesRegexp(` M.*my_submodule_path \(submodule\)`).IsSelected(), - Contains("other_file").IsSelected(), + Equals(" M my_submodule_path (submodule)").IsSelected(), + Equals("?? other_file").IsSelected(), ). Press(keys.Universal.Remove). Tap(func() { @@ -87,8 +87,8 @@ var Reset = NewIntegrationTest(NewIntegrationTestArgs{ }). Press(keys.Universal.ToggleRangeSelect). Lines( - MatchesRegexp(` M.*my_submodule_path \(submodule\)`).IsSelected(), - Contains("other_file"), + Equals(" M my_submodule_path (submodule)").IsSelected(), + Equals("?? other_file"), ). Press(keys.Universal.Remove). Tap(func() { @@ -98,7 +98,7 @@ var Reset = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("other_file").IsSelected(), + Equals("?? other_file").IsSelected(), ) t.Views().Submodules().Focus(). diff --git a/pkg/integration/tests/undo/undo_commit.go b/pkg/integration/tests/undo/undo_commit.go index a636385eb..04964eba9 100644 --- a/pkg/integration/tests/undo/undo_commit.go +++ b/pkg/integration/tests/undo/undo_commit.go @@ -57,8 +57,8 @@ var UndoCommit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains("A file"), - Contains(" M other-file"), + Equals("A file"), + Equals(" M other-file"), ) t.Views().Commits().Focus(). @@ -71,7 +71,7 @@ var UndoCommit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains(" M other-file"), + Equals(" M other-file"), ) // Undo again, this time discarding the original change before redoing again @@ -84,14 +84,14 @@ var UndoCommit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files().Focus(). Lines( - Contains("A file"), - Contains(" M other-file").IsSelected(), + Equals("A file"), + Equals(" M other-file").IsSelected(), ). Press(keys.Universal.PrevItem). Press(keys.Universal.Remove). Tap(confirmDiscardFile). Lines( - Contains(" M other-file"), + Equals(" M other-file"), ). Press(keys.Universal.Redo). Tap(confirmRedo) @@ -104,7 +104,7 @@ var UndoCommit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Files(). Lines( - Contains(" M other-file"), + Equals(" M other-file"), ) }, })