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/variables_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/variables_spec.lua')
-rw-r--r-- | test/functional/shada/variables_spec.lua | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/functional/shada/variables_spec.lua b/test/functional/shada/variables_spec.lua index c0b94b102e..0ffa524238 100644 --- a/test/functional/shada/variables_spec.lua +++ b/test/functional/shada/variables_spec.lua @@ -81,4 +81,59 @@ describe('ShaDa support code', function() nvim_command('rviminfo') eq(0, nvim_eval('exists("g:str_var")')) end) + + it('dumps and loads variables 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('set_var', 'STRVAR', '\171') + nvim('set_var', 'LSTVAR', {'\171'}) + nvim('set_var', 'DCTVAR', {['\171']='\171'}) + nvim('set_var', 'NESTEDVAR', {['\171']={{'\171'}, {['\171']='\171'}, + {a='Test'}}}) + nvim_command('qall') + reset() + eq('\171', nvim('get_var', 'STRVAR')) + eq({'\171'}, nvim('get_var', 'LSTVAR')) + eq({['\171']='\171'}, nvim('get_var', 'DCTVAR')) + eq({['\171']={{'\171'}, {['\171']='\171'}, {a='Test'}}}, + nvim('get_var', 'NESTEDVAR')) + end) + + it('dumps and loads variables 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('set_var', 'STRVAR', '\171') + nvim('set_var', 'LSTVAR', {'\171'}) + nvim('set_var', 'DCTVAR', {['\171']='\171'}) + nvim('set_var', 'NESTEDVAR', {['\171']={{'\171'}, {['\171']='\171'}, + {a='Test'}}}) + set_additional_cmd('') + nvim_command('qall') + reset() + eq('«', nvim('get_var', 'STRVAR')) + eq({'«'}, nvim('get_var', 'LSTVAR')) + eq({['«']='«'}, nvim('get_var', 'DCTVAR')) + eq({['«']={{'«'}, {['«']='«'}, {a='Test'}}}, nvim('get_var', 'NESTEDVAR')) + end) + + it('dumps and loads variables correctly when &encoding /= UTF-8 when loading', + function() + -- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1 + nvim('set_var', 'STRVAR', '«') + nvim('set_var', 'LSTVAR', {'«'}) + nvim('set_var', 'DCTVAR', {['«']='«'}) + nvim('set_var', 'NESTEDVAR', {['«']={{'«'}, {['«']='«'}, {a='Test'}}}) + set_additional_cmd('set encoding=latin1') + nvim_command('qall') + reset() + eq('\171', nvim('get_var', 'STRVAR')) + eq({'\171'}, nvim('get_var', 'LSTVAR')) + eq({['\171']='\171'}, nvim('get_var', 'DCTVAR')) + eq({['\171']={{'\171'}, {['\171']='\171'}, {a='Test'}}}, + nvim('get_var', 'NESTEDVAR')) + end) end) |