Add default keybinding flag. Resolves #1691

This commit is contained in:
kyle tibbetts
2021-08-16 21:51:12 -04:00
committed by Dawa Ometto
parent 9c2f8dfeba
commit 9e722c5033
19 changed files with 131 additions and 25 deletions
+64
View File
@@ -1058,3 +1058,67 @@ context 'Frontend with base path' do
Precious::MapGollum.new(@base_path)
end
end
context "Default keybindings" do
include Rack::Test::Methods
setup do
@path = cloned_testpath("examples/empty.git")
@wiki = Gollum::Wiki.new(@path)
@url = '/gollum/create/test'
Precious::App.set(:gollum_path, @path)
Precious::App.set(:wiki_options, {})
end
teardown do
FileUtils.rm_rf(@path)
end
test 'keybinding unset' do
get @url
assert_equal last_response.body.include?('selected="selected" value="default"'), false
assert_equal last_response.body.include?('selected="selected" value="vim"'), false
assert_equal last_response.body.include?('selected="selected" value="emacs"'), false
end
test 'keybinding `dne`' do
# dne := does not exist
Precious::App.set(:wiki_options, {:default_keybinding => 'dne'})
get @url
assert_equal last_response.body.include?('selected="selected" value="default"'), false
assert_equal last_response.body.include?('selected="selected" value="vim"'), false
assert_equal last_response.body.include?('selected="selected" value="emacs"'), false
Precious::App.set(:wiki_options, {:default_keybinding => 'none'})
end
test 'keybinding `default`' do
Precious::App.set(:wiki_options, {:default_keybinding => 'default'})
get @url
assert_equal last_response.body.include?('selected="selected" value="default"'), true
assert_equal last_response.body.include?('selected="selected" value="vim"'), false
assert_equal last_response.body.include?('selected="selected" value="emacs"'), false
Precious::App.set(:wiki_options, {:default_keybinding => 'none'})
end
test 'keybinding `vim`' do
Precious::App.set(:wiki_options, {:default_keybinding => 'vim'})
get @url
assert_equal last_response.body.include?('selected="selected" value="default"'), false
assert_equal last_response.body.include?('selected="selected" value="vim"'), true
assert_equal last_response.body.include?('selected="selected" value="emacs"'), false
Precious::App.set(:wiki_options, {:default_keybinding => 'none'})
end
test 'keybinding `emacs`' do
Precious::App.set(:wiki_options, {:default_keybinding => 'emacs'})
get @url
assert_equal last_response.body.include?('selected="selected" value="default"'), false
assert_equal last_response.body.include?('selected="selected" value="vim"'), false
assert_equal last_response.body.include?('selected="selected" value="emacs"'), true
Precious::App.set(:wiki_options, {:default_keybinding => 'none'})
end
def app
Precious::App
end
end