view src/testdir/test69.in @ 9003:072556995a8e v7.4.1787

commit https://github.com/vim/vim/commit/b2658a1ab02cd0ba848164f70c7c464fdc398162 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Apr 26 17:16:24 2016 +0200 patch 7.4.1787 Problem: When a job ends the close callback is invoked before other callbacks. On Windows the close callback is not called. Solution: First invoke out/err callbacks before the close callback. Make the close callback work on Windows.
author Christian Brabandt <cb@256bit.org>
date Tue, 26 Apr 2016 17:30:05 +0200
parents 238f5027830c
children 1090d6637cfd
line wrap: on
line source

Test for multi-byte text formatting.
Also test, that 'mps' with multibyte chars works.
And test "ra" on multi-byte characters.
Also test byteidx() and byteidxcomp()

STARTTEST
:so mbyte.vim
:set encoding=utf-8
ENDTEST

Results of test69:

STARTTEST
/^{/+1
:set tw=2 fo=t
gqgqjgqgqo
XYZ
abc XYZ
ENDTEST

{
XYZ
abc XYZ
}

STARTTEST
/^{/+1
:set tw=1 fo=tm
gqgqjgqgqjgqgqjgqgqjgqgqo

Xa
X a
XY
X Y
ENDTEST

{

Xa
X a
XY
X Y
}

STARTTEST
/^{/+1
:set tw=2 fo=tm
gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

Xa
X a
XY
X Y
aX
abX
abcX
abX c
abXY
ENDTEST

{

Xa
X a
XY
X Y
aX
abX
abcX
abX c
abXY
}

STARTTEST
/^{/+1
:set ai tw=2 fo=tm
gqgqjgqgqo

Xa
ENDTEST

{

  Xa
}

STARTTEST
/^{/+1
:set noai tw=2 fo=tm
gqgqjgqgqo

  Xa
ENDTEST

{

  Xa
}

STARTTEST
/^{/+1
:set tw=2 fo=cqm comments=n:X
gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo

Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa
XXY
ENDTEST

{

Xa
XaY
XY
XYZ
X Y
X YZ
XX
XXa
XXY
}

STARTTEST
/^{/+1
:set tw=2 fo=tm
RXa
ENDTEST

{

}

STARTTEST
/^{/+1
:set mps+=u2018:u2019
d%
ENDTEST

{
‘ two three ’ four
}
STARTTEST
/^ra test
jVjra
ENDTEST

ra test
abba
aab

STARTTEST
:set whichwrap+=h
/^x
dh
:set whichwrap-=h
ENDTEST

á
x

STARTTEST
:let a = '.é.' " one char of two bytes
:let b = '.é.' " normal e with composing char
/^byteidx
:put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)])
:put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)])
/^byteidxcomp
:put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)])
:let b = '.é.'
:put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
ENDTEST

byteidx
byteidxcomp

STARTTEST
/^substitute
:let y = substitute('123', '\zs', 'a', 'g')    | put =y
ENDTEST

substitute

STARTTEST
:g/^STARTTEST/.,/^ENDTEST/d
:1;/^Results/,$wq! test.out
ENDTEST