mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 12:25:47 +02:00
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.
This commit is contained in:
parent
030c2e5aef
commit
0b5504aa98
38 changed files with 358 additions and 358 deletions
|
@ -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
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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(),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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(),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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")).
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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(),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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(),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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().
|
||||
|
|
|
@ -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().
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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()
|
||||
},
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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().
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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"))
|
||||
|
||||
|
|
|
@ -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().
|
||||
|
|
|
@ -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"),
|
||||
)
|
||||
},
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue