diff options
author | ZyX <kp-pav@yandex.ru> | 2015-07-05 17:24:02 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-08 22:00:03 +0300 |
commit | c8c5da875c0b7d37c4aedc6b2301441fdc004ac4 (patch) | |
tree | 836f3a430d6cfe90b88b6569f2be51483b240775 /test/functional/shada/history_spec.lua | |
parent | ee282cf49ea1a61c92626679a1a7ab636b45a6b7 (diff) | |
download | rneovim-c8c5da875c0b7d37c4aedc6b2301441fdc004ac4.tar.gz rneovim-c8c5da875c0b7d37c4aedc6b2301441fdc004ac4.tar.bz2 rneovim-c8c5da875c0b7d37c4aedc6b2301441fdc004ac4.zip |
functests: Test &encoding support
Diffstat (limited to 'test/functional/shada/history_spec.lua')
-rw-r--r-- | test/functional/shada/history_spec.lua | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/test/functional/shada/history_spec.lua b/test/functional/shada/history_spec.lua index 811afd268f..5a7db2bfa6 100644 --- a/test/functional/shada/history_spec.lua +++ b/test/functional/shada/history_spec.lua @@ -124,4 +124,159 @@ describe('ShaDa support code', function() nvim_command('&') eq('goo', nvim_eval('getline(1)')) end) + + it('dumps and loads history correctly when &encoding is not UTF-8', function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_feed(':echo "\171"\n') + nvim_command('qall') + reset() + eq('echo "\171"', nvim_eval('histget(":", -1)')) + end) + + it('dumps and loads history correctly when &encoding /= UTF-8 when dumping', + function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_feed(':echo "\171"\n') + set_additional_cmd('') + nvim_command('qall') + reset() + eq('echo "«"', nvim_eval('histget(":", -1)')) + end) + + it('dumps and loads history correctly when &encoding /= UTF-8 when loading', + function() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_feed(':echo "«"\n') + set_additional_cmd('set encoding=latin1') + nvim_command('qall') + reset() + eq('echo "\171"', nvim_eval('histget(":", -1)')) + end) + + it('dumps and loads replacement correctly when &encoding is not UTF-8', + function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('substitute/./\171/ge') + nvim_command('qall!') + reset() + nvim_eval('setline(".", ["."])') + nvim_command('&') + eq('\171', nvim_eval('getline(".")')) + end) + + it('dumps&loads replacement correctly when &encoding /= UTF-8 when dumping', + function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('substitute/./\171/ge') + set_additional_cmd('') + nvim_command('qall') + reset() + nvim_eval('setline(".", ["."])') + nvim_command('&') + eq('«', nvim_eval('getline(".")')) + end) + + it('dumps&loads replacement correctly when &encoding /= UTF-8 when loading', + function() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('substitute/./«/ge') + set_additional_cmd('set encoding=latin1') + nvim_command('qall') + reset() + nvim_eval('setline(".", ["."])') + nvim_command('&') + eq('\171', nvim_eval('getline(".")')) + end) + + it('dumps and loads substitute pattern correctly when &encoding is not UTF-8', + function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('substitute/\171/./ge') + nvim_command('qall!') + reset() + nvim_eval('setline(".", ["\171«"])') + nvim_command('&') + eq('.«', nvim_eval('getline(".")')) + end) + + it('dumps&loads s/pattern correctly when &encoding /= UTF-8 when dumping', + function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('substitute/\171/./ge') + set_additional_cmd('') + nvim_command('qall') + reset() + nvim_eval('setline(".", ["«\171"])') + nvim_command('&') + eq('.\171', nvim_eval('getline(".")')) + end) + + it('dumps&loads s/pattern correctly when &encoding /= UTF-8 when loading', + function() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('substitute/«/./ge') + set_additional_cmd('set encoding=latin1') + nvim_command('qall') + reset() + nvim_eval('setline(".", ["\171«"])') + nvim_command('&') + eq('.«', nvim_eval('getline(".")')) + end) + + it('dumps and loads search pattern correctly when &encoding is not UTF-8', + function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('silent! /\171/') + nvim_command('set viminfo+=/0') + nvim_command('qall!') + reset() + nvim_eval('setline(".", ["\171«"])') + nvim_command('~&') + eq('«', nvim_eval('getline(".")')) + eq('', nvim_eval('histget("/", -1)')) + end) + + it('dumps&loads /pattern correctly when &encoding /= UTF-8 when dumping', + function() + set_additional_cmd('set encoding=latin1') + reset() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('silent! /\171/') + nvim_command('set viminfo+=/0') + set_additional_cmd('') + nvim_command('qall') + reset() + nvim_eval('setline(".", ["«\171"])') + nvim_command('~&') + eq('\171', nvim_eval('getline(".")')) + eq('', nvim_eval('histget("/", -1)')) + end) + + it('dumps&loads /pattern correctly when &encoding /= UTF-8 when loading', + function() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim_command('silent! /«/') + nvim_command('set viminfo+=/0') + set_additional_cmd('set encoding=latin1') + nvim_command('qall') + reset() + nvim_eval('setline(".", ["\171«"])') + nvim_command('~&') + eq('«', nvim_eval('getline(".")')) + eq('', nvim_eval('histget("/", -1)')) + end) end) |