summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-04-06 14:53:08 +1000
committerJesse Duffield <jessedduffield@gmail.com>2021-04-06 19:34:32 +1000
commitbde324820d9d429ce4f70c6e26a00cff717adab1 (patch)
tree1daa486817afef43ee141d4e4d0fce325c4daaae /test
parentbbdbbd0b1b88f0c008d982cf69c8f330b072fc45 (diff)
more tests
Diffstat (limited to 'test')
-rw-r--r--test/integration/branchDelete/expected/.git_keep/COMMIT_EDITMSG1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/FETCH_HEAD0
-rw-r--r--test/integration/branchDelete/expected/.git_keep/HEAD1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/config10
-rw-r--r--test/integration/branchDelete/expected/.git_keep/description1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/indexbin0 -> 137 bytes
-rw-r--r--test/integration/branchDelete/expected/.git_keep/info/exclude7
-rw-r--r--test/integration/branchDelete/expected/.git_keep/logs/HEAD7
-rw-r--r--test/integration/branchDelete/expected/.git_keep/logs/refs/heads/master1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-21
-rw-r--r--test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-31
-rw-r--r--test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch-31
-rw-r--r--test/integration/branchDelete/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442bin0 -> 50 bytes
-rw-r--r--test/integration/branchDelete/expected/.git_keep/objects/21/b436d66d2c515ad17285e53d9e6380d599b044bin0 -> 118 bytes
-rw-r--r--test/integration/branchDelete/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535dabin0 -> 21 bytes
-rw-r--r--test/integration/branchDelete/expected/.git_keep/refs/heads/master1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-21
-rw-r--r--test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-31
-rw-r--r--test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch1
-rw-r--r--test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch-31
-rw-r--r--test/integration/branchDelete/expected/file01
-rw-r--r--test/integration/branchDelete/recording.json1
-rw-r--r--test/integration/branchDelete/setup.sh19
-rw-r--r--test/integration/branchDelete/test.json1
-rw-r--r--test/integration/customCommands/config/config.yml18
-rw-r--r--test/integration/customCommands/expected/.git_keep/COMMIT_EDITMSG1
-rw-r--r--test/integration/customCommands/expected/.git_keep/FETCH_HEAD0
-rw-r--r--test/integration/customCommands/expected/.git_keep/HEAD1
-rw-r--r--test/integration/customCommands/expected/.git_keep/config10
-rw-r--r--test/integration/customCommands/expected/.git_keep/description1
-rw-r--r--test/integration/customCommands/expected/.git_keep/indexbin0 -> 137 bytes
-rw-r--r--test/integration/customCommands/expected/.git_keep/info/exclude7
-rw-r--r--test/integration/customCommands/expected/.git_keep/logs/HEAD1
-rw-r--r--test/integration/customCommands/expected/.git_keep/logs/refs/heads/master1
-rw-r--r--test/integration/customCommands/expected/.git_keep/objects/15/bdb2c31c825116ad5af06ee25517d90b24f13bbin0 -> 115 bytes
-rw-r--r--test/integration/customCommands/expected/.git_keep/objects/20/f11a5545b04a86ca81f7a9967d5207349052d7bin0 -> 22 bytes
-rw-r--r--test/integration/customCommands/expected/.git_keep/objects/8a/2e45643093ea7cf7b06382e38470034c24e812bin0 -> 49 bytes
-rw-r--r--test/integration/customCommands/expected/.git_keep/refs/heads/master1
-rw-r--r--test/integration/customCommands/expected/blah1
-rw-r--r--test/integration/customCommands/recording.json1
-rw-r--r--test/integration/customCommands/setup.sh8
-rw-r--r--test/integration/customCommands/test.json1
45 files changed, 113 insertions, 0 deletions
diff --git a/test/integration/branchDelete/expected/.git_keep/COMMIT_EDITMSG b/test/integration/branchDelete/expected/.git_keep/COMMIT_EDITMSG
new file mode 100644
index 000000000..dc3ab4abe
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/COMMIT_EDITMSG
@@ -0,0 +1 @@
+file0
diff --git a/test/integration/branchDelete/expected/.git_keep/FETCH_HEAD b/test/integration/branchDelete/expected/.git_keep/FETCH_HEAD
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/FETCH_HEAD
diff --git a/test/integration/branchDelete/expected/.git_keep/HEAD b/test/integration/branchDelete/expected/.git_keep/HEAD
new file mode 100644
index 000000000..ba0879fe6
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/old-branch-3
diff --git a/test/integration/branchDelete/expected/.git_keep/config b/test/integration/branchDelete/expected/.git_keep/config
new file mode 100644
index 000000000..8ae104545
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/config
@@ -0,0 +1,10 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ ignorecase = true
+ precomposeunicode = true
+[user]
+ email = CI@example.com
+ name = CI
diff --git a/test/integration/branchDelete/expected/.git_keep/description b/test/integration/branchDelete/expected/.git_keep/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/branchDelete/expected/.git_keep/index b/test/integration/branchDelete/expected/.git_keep/index
new file mode 100644
index 000000000..9743f9410
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/index
Binary files differ
diff --git a/test/integration/branchDelete/expected/.git_keep/info/exclude b/test/integration/branchDelete/expected/.git_keep/info/exclude
new file mode 100644
index 000000000..8e9f2071f
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/info/exclude
@@ -0,0 +1,7 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
+.DS_Store
diff --git a/test/integration/branchDelete/expected/.git_keep/logs/HEAD b/test/integration/branchDelete/expected/.git_keep/logs/HEAD
new file mode 100644
index 000000000..d70cecff2
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/logs/HEAD
@@ -0,0 +1,7 @@
+0000000000000000000000000000000000000000 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 commit (initial): file0
+21b436d66d2c515ad17285e53d9e6380d599b044 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 checkout: moving from master to new-branch
+21b436d66d2c515ad17285e53d9e6380d599b044 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 checkout: moving from new-branch to new-branch-2
+21b436d66d2c515ad17285e53d9e6380d599b044 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 checkout: moving from new-branch-2 to new-branch-3
+21b436d66d2c515ad17285e53d9e6380d599b044 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 checkout: moving from new-branch-3 to old-branch
+21b436d66d2c515ad17285e53d9e6380d599b044 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 checkout: moving from old-branch to old-branch-2
+21b436d66d2c515ad17285e53d9e6380d599b044 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 checkout: moving from old-branch-2 to old-branch-3
diff --git a/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/master b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..2e2382c42
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/master
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 commit (initial): file0
diff --git a/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch
new file mode 100644
index 000000000..2050baa52
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 branch: Created from HEAD
diff --git a/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-2 b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-2
new file mode 100644
index 000000000..2050baa52
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-2
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 branch: Created from HEAD
diff --git a/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-3 b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-3
new file mode 100644
index 000000000..2050baa52
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/new-branch-3
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 branch: Created from HEAD
diff --git a/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch
new file mode 100644
index 000000000..2050baa52
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 branch: Created from HEAD
diff --git a/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch-3 b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch-3
new file mode 100644
index 000000000..2050baa52
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/logs/refs/heads/old-branch-3
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 21b436d66d2c515ad17285e53d9e6380d599b044 CI <CI@example.com> 1617684680 +1000 branch: Created from HEAD
diff --git a/test/integration/branchDelete/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/branchDelete/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
new file mode 100644
index 000000000..79fcadf67
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
Binary files differ
diff --git a/test/integration/branchDelete/expected/.git_keep/objects/21/b436d66d2c515ad17285e53d9e6380d599b044 b/test/integration/branchDelete/expected/.git_keep/objects/21/b436d66d2c515ad17285e53d9e6380d599b044
new file mode 100644
index 000000000..db6a55b3b
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/objects/21/b436d66d2c515ad17285e53d9e6380d599b044
Binary files differ
diff --git a/test/integration/branchDelete/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/branchDelete/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
new file mode 100644
index 000000000..06c9cb73d
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
Binary files differ
diff --git a/test/integration/branchDelete/expected/.git_keep/refs/heads/master b/test/integration/branchDelete/expected/.git_keep/refs/heads/master
new file mode 100644
index 000000000..cf15cb775
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/refs/heads/master
@@ -0,0 +1 @@
+21b436d66d2c515ad17285e53d9e6380d599b044
diff --git a/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch b/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch
new file mode 100644
index 000000000..cf15cb775
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch
@@ -0,0 +1 @@
+21b436d66d2c515ad17285e53d9e6380d599b044
diff --git a/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-2 b/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-2
new file mode 100644
index 000000000..cf15cb775
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-2
@@ -0,0 +1 @@
+21b436d66d2c515ad17285e53d9e6380d599b044
diff --git a/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-3 b/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-3
new file mode 100644
index 000000000..cf15cb775
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/refs/heads/new-branch-3
@@ -0,0 +1 @@
+21b436d66d2c515ad17285e53d9e6380d599b044
diff --git a/test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch b/test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch
new file mode 100644
index 000000000..cf15cb775
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch
@@ -0,0 +1 @@
+21b436d66d2c515ad17285e53d9e6380d599b044
diff --git a/test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch-3 b/test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch-3
new file mode 100644
index 000000000..cf15cb775
--- /dev/null
+++ b/test/integration/branchDelete/expected/.git_keep/refs/heads/old-branch-3
@@ -0,0 +1 @@
+21b436d66d2c515ad17285e53d9e6380d599b044
diff --git a/test/integration/branchDelete/expected/file0 b/test/integration/branchDelete/expected/file0
new file mode 100644
index 000000000..38143ad4a
--- /dev/null
+++ b/test/integration/branchDelete/expected/file0
@@ -0,0 +1 @@
+test0
diff --git a/test/integration/branchDelete/recording.json b/test/integration/branchDelete/recording.json
new file mode 100644
index 000000000..e0f28d911
--- /dev/null
+++ b/test/integration/branchDelete/recording.json
@@ -0,0 +1 @@
+{"KeyEvents":[{"Timestamp":483,"Mod":0,"Key":259,"Ch":0},{"Timestamp":787,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2021,"Mod":0,"Key":27,"Ch":0},{"Timestamp":2436,"Mod":0,"Key":258,"Ch":0},{"Timestamp":2779,"Mod":0,"Key":256,"Ch":100},{"Timestamp":3275,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3971,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]} \ No newline at end of file
diff --git a/test/integration/branchDelete/setup.sh b/test/integration/branchDelete/setup.sh
new file mode 100644
index 000000000..da9b9bddb
--- /dev/null
+++ b/test/integration/branchDelete/setup.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+cd $1
+
+git init
+
+git config user.email "CI@example.com"
+git config user.name "CI"
+
+echo test0 > file0
+git add .
+git commit -am file0
+
+git checkout -b new-branch
+git checkout -b new-branch-2
+git checkout -b new-branch-3
+git checkout -b old-branch
+git checkout -b old-branch-2
+git checkout -b old-branch-3
diff --git a/test/integration/branchDelete/test.json b/test/integration/branchDelete/test.json
new file mode 100644
index 000000000..fafad1962
--- /dev/null
+++ b/test/integration/branchDelete/test.json
@@ -0,0 +1 @@
+{ "description": "Checking out a branch with name suggestions", "speed": 100 }
diff --git a/test/integration/customCommands/config/config.yml b/test/integration/customCommands/config/config.yml
new file mode 100644
index 000000000..33c1d684e
--- /dev/null
+++ b/test/integration/customCommands/config/config.yml
@@ -0,0 +1,18 @@
+disableStartupPopups: true
+customCommands:
+ - key : 'N'
+ description: 'Add file'
+ command: "echo {{index .PromptResponses 0}} > {{index .PromptResponses 1}}"
+ context: 'files'
+ prompts:
+ - type: 'input'
+ title: 'File name:'
+ - type: 'input'
+ title: 'File content:'
+gui:
+ theme:
+ activeBorderColor:
+ - green
+ - bold
+ SelectedRangeBgcolor:
+ - reverse
diff --git a/test/integration/customCommands/expected/.git_keep/COMMIT_EDITMSG b/test/integration/customCommands/expected/.git_keep/COMMIT_EDITMSG
new file mode 100644
index 000000000..9daeafb98
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/COMMIT_EDITMSG
@@ -0,0 +1 @@
+test
diff --git a/test/integration/customCommands/expected/.git_keep/FETCH_HEAD b/test/integration/customCommands/expected/.git_keep/FETCH_HEAD
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/FETCH_HEAD
diff --git a/test/integration/customCommands/expected/.git_keep/HEAD b/test/integration/customCommands/expected/.git_keep/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/test/integration/customCommands/expected/.git_keep/config b/test/integration/customCommands/expected/.git_keep/config
new file mode 100644
index 000000000..8ae104545
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/config
@@ -0,0 +1,10 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ ignorecase = true
+ precomposeunicode = true
+[user]
+ email = CI@example.com
+ name = CI
diff --git a/test/integration/customCommands/expected/.git_keep/description b/test/integration/customCommands/expected/.git_keep/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/customCommands/expected/.git_keep/index b/test/integration/customCommands/expected/.git_keep/index
new file mode 100644
index 000000000..1cdf852e0
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/index
Binary files differ
diff --git a/test/integration/customCommands/expected/.git_keep/info/exclude b/test/integration/customCommands/expected/.git_keep/info/exclude
new file mode 100644
index 000000000..8e9f2071f
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/info/exclude
@@ -0,0 +1,7 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
+.DS_Store
diff --git a/test/integration/customCommands/expected/.git_keep/logs/HEAD b/test/integration/customCommands/expected/.git_keep/logs/HEAD
new file mode 100644
index 000000000..db58e88aa
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/logs/HEAD
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 15bdb2c31c825116ad5af06ee25517d90b24f13b CI <CI@example.com> 1617684452 +1000 commit (initial): test
diff --git a/test/integration/customCommands/expected/.git_keep/logs/refs/heads/master b/test/integration/customCommands/expected/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..db58e88aa
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/logs/refs/heads/master
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 15bdb2c31c825116ad5af06ee25517d90b24f13b CI <CI@example.com> 1617684452 +1000 commit (initial): test
diff --git a/test/integration/customCommands/expected/.git_keep/objects/15/bdb2c31c825116ad5af06ee25517d90b24f13b b/test/integration/customCommands/expected/.git_keep/objects/15/bdb2c31c825116ad5af06ee25517d90b24f13b
new file mode 100644
index 000000000..c309d426a
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/objects/15/bdb2c31c825116ad5af06ee25517d90b24f13b
Binary files differ
diff --git a/test/integration/customCommands/expected/.git_keep/objects/20/f11a5545b04a86ca81f7a9967d5207349052d7 b/test/integration/customCommands/expected/.git_keep/objects/20/f11a5545b04a86ca81f7a9967d5207349052d7
new file mode 100644
index 000000000..368e30f82
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/objects/20/f11a5545b04a86ca81f7a9967d5207349052d7
Binary files differ
diff --git a/test/integration/customCommands/expected/.git_keep/objects/8a/2e45643093ea7cf7b06382e38470034c24e812 b/test/integration/customCommands/expected/.git_keep/objects/8a/2e45643093ea7cf7b06382e38470034c24e812
new file mode 100644
index 000000000..78c73ed64
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/objects/8a/2e45643093ea7cf7b06382e38470034c24e812
Binary files differ
diff --git a/test/integration/customCommands/expected/.git_keep/refs/heads/master b/test/integration/customCommands/expected/.git_keep/refs/heads/master
new file mode 100644
index 000000000..ce73a61b4
--- /dev/null
+++ b/test/integration/customCommands/expected/.git_keep/refs/heads/master
@@ -0,0 +1 @@
+15bdb2c31c825116ad5af06ee25517d90b24f13b
diff --git a/test/integration/customCommands/expected/blah b/test/integration/customCommands/expected/blah
new file mode 100644
index 000000000..20f11a554
--- /dev/null
+++ b/test/integration/customCommands/expected/blah
@@ -0,0 +1 @@
+myfile
diff --git a/test/integration/customCommands/recording.json b/test/integration/customCommands/recording.json
new file mode 100644
index 000000000..f49c696e3
--- /dev/null
+++ b/test/integration/customCommands/recording.json
@@ -0,0 +1 @@
+{"KeyEvents":[{"Timestamp":837,"Mod":0,"Key":256,"Ch":78},{"Timestamp":1622,"Mod":0,"Key":256,"Ch":109},{"Timestamp":1798,"Mod":0,"Key":256,"Ch":121},{"Timestamp":1918,"Mod":0,"Key":256,"Ch":102},{"Timestamp":2006,"Mod":0,"Key":256,"Ch":105},{"Timestamp":2078,"Mod":0,"Key":256,"Ch":108},{"Timestamp":2174,"Mod":0,"Key":256,"Ch":101},{"Timestamp":2431,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3246,"Mod":0,"Key":256,"Ch":98},{"Timestamp":3294,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3398,"Mod":0,"Key":256,"Ch":97},{"Timestamp":3462,"Mod":0,"Key":256,"Ch":104},{"Timestamp":3735,"Mod":0,"Key":13,"Ch":13},{"Timestamp":4206,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4421,"Mod":0,"Key":256,"Ch":99},{"Timestamp":4646,"Mod":0,"Key":256,"Ch":116},{"Timestamp":4726,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4886,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4918,"Mod":0,"Key":256,"Ch":116},{"Timestamp":5190,"Mod":0,"Key":13,"Ch":13},{"Timestamp":5550,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]} \ No newline at end of file
diff --git a/test/integration/customCommands/setup.sh b/test/integration/customCommands/setup.sh
new file mode 100644
index 000000000..54ec0d96e
--- /dev/null
+++ b/test/integration/customCommands/setup.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+cd $1
+
+git init
+
+git config user.email "CI@example.com"
+git config user.name "CI"
diff --git a/test/integration/customCommands/test.json b/test/integration/customCommands/test.json
new file mode 100644
index 000000000..c5c5aaf5c
--- /dev/null
+++ b/test/integration/customCommands/test.json
@@ -0,0 +1 @@
+{ "description": "Invoke a custom command that creates a file, and then stage and commit that file", "speed": 5 }