tests: Modernize migrated legacy test 69.

This commit is contained in:
Lucas Hoffmann 2015-07-10 15:01:57 +02:00 committed by Justin M. Keyes
parent 622a3ae8ea
commit b4c172d612

View File

@ -1,13 +1,14 @@
-- Test for multi-byte text formatting. -- Test for multibyte text formatting.
-- Also test, that 'mps' with multibyte chars works. -- Also test, that 'mps' with multibyte chars works.
-- And test "ra" on multi-byte characters. -- And test "ra" on multibyte characters.
-- Also test byteidx() and byteidxcomp() -- Also test byteidx() and byteidxcomp()
local helpers = require('test.functional.helpers') local helpers = require('test.functional.helpers')(after_each)
local feed, insert = helpers.feed, helpers.insert local feed, insert, eq, eval, clear, execute, expect = helpers.feed,
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect helpers.insert, helpers.eq, helpers.eval, helpers.clear, helpers.execute,
helpers.expect
describe('multi byte text', function() describe('multibyte text', function()
before_each(clear) before_each(clear)
it('formatting with "set fo=t"', function() it('formatting with "set fo=t"', function()
@ -196,7 +197,7 @@ describe('multi byte text', function()
}]]) }]])
end) end)
it('formatting with "set fo=cqm" and multi byte comments', function() it('formatting with "set fo=cqm" and multibyte comments', function()
insert([[ insert([[
{ {
@ -305,35 +306,35 @@ describe('multi byte text', function()
áx]]) áx]])
end) end)
it('can be querried with byteidx() and byteidxcomp()', function() it('can be queried with byteidx() and byteidxcomp()', function()
insert([[
byteidx
byteidxcomp]])
-- One char of two bytes. -- One char of two bytes.
execute("let a = '.é.'") execute("let a = '.é.'")
-- Normal e with composing char. -- Normal e with composing char.
execute("let b = '.é.'") execute("let b = '.é.'")
execute('/^byteidx') eq(0, eval('byteidx(a, 0)'))
execute('put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)])') eq(1, eval('byteidx(a, 1)'))
execute('put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)])') eq(3, eval('byteidx(a, 2)'))
execute('/^byteidxcomp') eq(4, eval('byteidx(a, 3)'))
execute('put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)])') eq(-1, eval('byteidx(a, 4)'))
execute("let b = '.é.'") eq(0, eval('byteidx(b, 0)'))
execute('put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])') eq(1, eval('byteidx(b, 1)'))
expect([=[ eq(4, eval('byteidx(b, 2)'))
byteidx eq(5, eval('byteidx(b, 3)'))
[0, 1, 3, 4, -1] eq(-1, eval('byteidx(b, 4)'))
[0, 1, 4, 5, -1] eq(0, eval('byteidxcomp(a, 0)'))
byteidxcomp eq(1, eval('byteidxcomp(a, 1)'))
[0, 1, 3, 4, -1] eq(3, eval('byteidxcomp(a, 2)'))
[0, 1, 2, 4, 5, -1]]=]) eq(4, eval('byteidxcomp(a, 3)'))
eq(-1, eval('byteidxcomp(a, 4)'))
eq(0, eval('byteidxcomp(b, 0)'))
eq(1, eval('byteidxcomp(b, 1)'))
eq(2, eval('byteidxcomp(b, 2)'))
eq(4, eval('byteidxcomp(b, 3)'))
eq(5, eval('byteidxcomp(b, 4)'))
eq(-1, eval('byteidxcomp(b, 5)'))
end) end)
it('correctly interact with the \zs pattern', function() it('correctly interact with the \zs pattern', function()
insert('substitute') eq('aaaa', eval([[substitute('', '\zs', 'a', 'g')]]))
execute([[let y = substitute('', '\zs', 'a', 'g') | put =y]])
expect([[
substitute
aaaa]])
end) end)
end) end)