summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-01-15 20:30:34 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-01-15 20:35:25 +1100
commitbefa35645ea6bb32e3f4447f00c79c0c9a326483 (patch)
tree8263efeeafaadf43c760ce103e62905e68122937
parent7a690f9078637561425cf3c1143da88b1769cf16 (diff)
fix bug which prevented quitting with confirm
-rw-r--r--pkg/gui/confirmation_panel.go4
-rw-r--r--test/integration/confirmQuit/config/config.yml2
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/COMMIT_EDITMSG1
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/FETCH_HEAD0
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/HEAD1
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/config10
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/description1
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/indexbin0 -> 137 bytes
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/info/exclude7
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/logs/HEAD1
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/logs/refs/heads/master1
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52bin0 -> 52 bytes
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/objects/54/4efed4e669ec3bd64b44799175bffac95035f5bin0 -> 121 bytes
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5bin0 -> 21 bytes
-rw-r--r--test/integration/confirmQuit/expected/.git_keep/refs/heads/master1
-rw-r--r--test/integration/confirmQuit/expected/myfile11
-rw-r--r--test/integration/confirmQuit/recording.json1
-rw-r--r--test/integration/confirmQuit/setup.sh12
-rw-r--r--test/integration/confirmQuit/test.json4
19 files changed, 47 insertions, 0 deletions
diff --git a/pkg/gui/confirmation_panel.go b/pkg/gui/confirmation_panel.go
index 0537f1b45..b092b1d10 100644
--- a/pkg/gui/confirmation_panel.go
+++ b/pkg/gui/confirmation_panel.go
@@ -327,5 +327,9 @@ func (gui *Gui) surfaceError(err error) error {
return nil
}
+ if err == gocui.ErrQuit {
+ return err
+ }
+
return gui.createErrorPanel(err.Error())
}
diff --git a/test/integration/confirmQuit/config/config.yml b/test/integration/confirmQuit/config/config.yml
new file mode 100644
index 000000000..7227c0b5d
--- /dev/null
+++ b/test/integration/confirmQuit/config/config.yml
@@ -0,0 +1,2 @@
+disableStartupPopups: true
+confirmOnQuit: true
diff --git a/test/integration/confirmQuit/expected/.git_keep/COMMIT_EDITMSG b/test/integration/confirmQuit/expected/.git_keep/COMMIT_EDITMSG
new file mode 100644
index 000000000..3829ab872
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/COMMIT_EDITMSG
@@ -0,0 +1 @@
+myfile1
diff --git a/test/integration/confirmQuit/expected/.git_keep/FETCH_HEAD b/test/integration/confirmQuit/expected/.git_keep/FETCH_HEAD
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/FETCH_HEAD
diff --git a/test/integration/confirmQuit/expected/.git_keep/HEAD b/test/integration/confirmQuit/expected/.git_keep/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/test/integration/confirmQuit/expected/.git_keep/config b/test/integration/confirmQuit/expected/.git_keep/config
new file mode 100644
index 000000000..8ae104545
--- /dev/null
+++ b/test/integration/confirmQuit/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/confirmQuit/expected/.git_keep/description b/test/integration/confirmQuit/expected/.git_keep/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/confirmQuit/expected/.git_keep/index b/test/integration/confirmQuit/expected/.git_keep/index
new file mode 100644
index 000000000..e70e72626
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/index
Binary files differ
diff --git a/test/integration/confirmQuit/expected/.git_keep/info/exclude b/test/integration/confirmQuit/expected/.git_keep/info/exclude
new file mode 100644
index 000000000..8e9f2071f
--- /dev/null
+++ b/test/integration/confirmQuit/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/confirmQuit/expected/.git_keep/logs/HEAD b/test/integration/confirmQuit/expected/.git_keep/logs/HEAD
new file mode 100644
index 000000000..d1743395b
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/logs/HEAD
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 544efed4e669ec3bd64b44799175bffac95035f5 CI <CI@example.com> 1642239015 +1100 commit (initial): myfile1
diff --git a/test/integration/confirmQuit/expected/.git_keep/logs/refs/heads/master b/test/integration/confirmQuit/expected/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..d1743395b
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/logs/refs/heads/master
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 544efed4e669ec3bd64b44799175bffac95035f5 CI <CI@example.com> 1642239015 +1100 commit (initial): myfile1
diff --git a/test/integration/confirmQuit/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 b/test/integration/confirmQuit/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52
new file mode 100644
index 000000000..7f2ebf4ee
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52
Binary files differ
diff --git a/test/integration/confirmQuit/expected/.git_keep/objects/54/4efed4e669ec3bd64b44799175bffac95035f5 b/test/integration/confirmQuit/expected/.git_keep/objects/54/4efed4e669ec3bd64b44799175bffac95035f5
new file mode 100644
index 000000000..0b96ac6d5
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/objects/54/4efed4e669ec3bd64b44799175bffac95035f5
Binary files differ
diff --git a/test/integration/confirmQuit/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/confirmQuit/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
new file mode 100644
index 000000000..285df3e5f
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
Binary files differ
diff --git a/test/integration/confirmQuit/expected/.git_keep/refs/heads/master b/test/integration/confirmQuit/expected/.git_keep/refs/heads/master
new file mode 100644
index 000000000..c8e696e5a
--- /dev/null
+++ b/test/integration/confirmQuit/expected/.git_keep/refs/heads/master
@@ -0,0 +1 @@
+544efed4e669ec3bd64b44799175bffac95035f5
diff --git a/test/integration/confirmQuit/expected/myfile1 b/test/integration/confirmQuit/expected/myfile1
new file mode 100644
index 000000000..a5bce3fd2
--- /dev/null
+++ b/test/integration/confirmQuit/expected/myfile1
@@ -0,0 +1 @@
+test1
diff --git a/test/integration/confirmQuit/recording.json b/test/integration/confirmQuit/recording.json
new file mode 100644
index 000000000..fea04afb7
--- /dev/null
+++ b/test/integration/confirmQuit/recording.json
@@ -0,0 +1 @@
+{"KeyEvents":[{"Timestamp":466,"Mod":0,"Key":256,"Ch":113},{"Timestamp":890,"Mod":0,"Key":13,"Ch":13}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]} \ No newline at end of file
diff --git a/test/integration/confirmQuit/setup.sh b/test/integration/confirmQuit/setup.sh
new file mode 100644
index 000000000..e58c74f38
--- /dev/null
+++ b/test/integration/confirmQuit/setup.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+cd $1
+
+git init
+
+git config user.email "CI@example.com"
+git config user.name "CI"
+
+echo test1 > myfile1
+git add .
+git commit -am "myfile1"
diff --git a/test/integration/confirmQuit/test.json b/test/integration/confirmQuit/test.json
new file mode 100644
index 000000000..0386cab89
--- /dev/null
+++ b/test/integration/confirmQuit/test.json
@@ -0,0 +1,4 @@
+{
+ "description": "quit with a confirm",
+ "speed": 20
+}