From befa35645ea6bb32e3f4447f00c79c0c9a326483 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sat, 15 Jan 2022 20:30:34 +1100 Subject: [PATCH] fix bug which prevented quitting with confirm --- pkg/gui/confirmation_panel.go | 4 ++++ test/integration/confirmQuit/config/config.yml | 2 ++ .../confirmQuit/expected/.git_keep/COMMIT_EDITMSG | 1 + .../confirmQuit/expected/.git_keep/FETCH_HEAD | 0 .../confirmQuit/expected/.git_keep/HEAD | 1 + .../confirmQuit/expected/.git_keep/config | 10 ++++++++++ .../confirmQuit/expected/.git_keep/description | 1 + .../confirmQuit/expected/.git_keep/index | Bin 0 -> 137 bytes .../confirmQuit/expected/.git_keep/info/exclude | 7 +++++++ .../confirmQuit/expected/.git_keep/logs/HEAD | 1 + .../expected/.git_keep/logs/refs/heads/master | 1 + .../0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 | Bin 0 -> 52 bytes .../54/4efed4e669ec3bd64b44799175bffac95035f5 | Bin 0 -> 121 bytes .../a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 | Bin 0 -> 21 bytes .../expected/.git_keep/refs/heads/master | 1 + test/integration/confirmQuit/expected/myfile1 | 1 + test/integration/confirmQuit/recording.json | 1 + test/integration/confirmQuit/setup.sh | 12 ++++++++++++ test/integration/confirmQuit/test.json | 4 ++++ 19 files changed, 47 insertions(+) create mode 100644 test/integration/confirmQuit/config/config.yml create mode 100644 test/integration/confirmQuit/expected/.git_keep/COMMIT_EDITMSG create mode 100644 test/integration/confirmQuit/expected/.git_keep/FETCH_HEAD create mode 100644 test/integration/confirmQuit/expected/.git_keep/HEAD create mode 100644 test/integration/confirmQuit/expected/.git_keep/config create mode 100644 test/integration/confirmQuit/expected/.git_keep/description create mode 100644 test/integration/confirmQuit/expected/.git_keep/index create mode 100644 test/integration/confirmQuit/expected/.git_keep/info/exclude create mode 100644 test/integration/confirmQuit/expected/.git_keep/logs/HEAD create mode 100644 test/integration/confirmQuit/expected/.git_keep/logs/refs/heads/master create mode 100644 test/integration/confirmQuit/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 create mode 100644 test/integration/confirmQuit/expected/.git_keep/objects/54/4efed4e669ec3bd64b44799175bffac95035f5 create mode 100644 test/integration/confirmQuit/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 create mode 100644 test/integration/confirmQuit/expected/.git_keep/refs/heads/master create mode 100644 test/integration/confirmQuit/expected/myfile1 create mode 100644 test/integration/confirmQuit/recording.json create mode 100644 test/integration/confirmQuit/setup.sh create mode 100644 test/integration/confirmQuit/test.json 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 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 0000000000000000000000000000000000000000..e70e72626133a6b1aaab944dda232e51085a3d2e GIT binary patch literal 137 zcmZ?q402{*U|<4b#>7WcG&$4-e}QPWZK^tq3=FJH?8|c*7#f!VrN08zhyXF$(mjv= zs;1uf5)m53lkapPz^kSEDg%3NWm;xVsv%H8NRX>5kdkCDR50M;%lWWu`@CM4hix~6 i7Jm13zUIFssJiw@-^cC^O)Y1&wiwkre7zM{YX< 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 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 0000000000000000000000000000000000000000..7f2ebf4eeb6ad6875bcc2a2b91ca3345ee06b45e GIT binary patch literal 52 zcmbn~V3cJTHDqR`AUTkaR0dwS%fcn5-n;m2uX?~V!+n~c`iZu0dP~(FK*HX4 bBT^4nB1CuAbJFxr?(AFEP09TLF9s~TL)kgn literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..285df3e5fbab12262e28d85e78af8a31cd0024c1 GIT binary patch literal 21 ccmb`~^A08nuUMF0Q* literal 0 HcmV?d00001 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 +}