forked from aniani/vim
Problem: The fix in patch 7.3.192 is not tested. Solution: Add a test, one for each regexp engine. (Elias Diem)
74 lines
2.6 KiB
Plaintext
74 lines
2.6 KiB
Plaintext
Tests for regexp with multi-byte encoding and various magic settings.
|
||
Test matchstr() with a count and multi-byte chars.
|
||
See test44 for exactly the same test with re=1.
|
||
|
||
STARTTEST
|
||
:so mbyte.vim
|
||
:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
|
||
:set re=2
|
||
/^1
|
||
/a*b\{2}c\+/e
|
||
x/\Md\*e\{2}f\+/e
|
||
x:set nomagic
|
||
/g\*h\{2}i\+/e
|
||
x/\mj*k\{2}l\+/e
|
||
x/\vm*n{2}o+/e
|
||
x/\V^aa$
|
||
x:set magic
|
||
/\v(a)(b)\2\1\1/e
|
||
x/\V[ab]\(\[xy]\)\1
|
||
x:" Now search for multi-byte without composing char
|
||
/ม
|
||
x:" Now search for multi-byte with composing char
|
||
/ม่
|
||
x:" find word by change of word class
|
||
/ち\<カヨ\>は
|
||
x:" Test \%u, [\u] and friends
|
||
/\%u20ac
|
||
x/[\u4f7f\u5929]\+
|
||
x/\%U12345678
|
||
x/[\U1234abcd\u1234\uabcd]
|
||
x/\%d21879b
|
||
x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
|
||
x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
|
||
x:" Test backwards search from a multi-byte char
|
||
/x
|
||
x?.
|
||
x:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
|
||
:@w
|
||
:"
|
||
:" l Test what 7.3.192 fixed
|
||
/^l
|
||
:s/ \?/ /g
|
||
:?^1?,$w! test.out
|
||
:e! test.out
|
||
G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
|
||
:put =matchstr(\"אבגד\", \"..\", 0, 2) " בג
|
||
:put =matchstr(\"אבגד\", \".\", 0, 0) " א
|
||
:put =matchstr(\"אבגד\", \".\", 4, -1) " ג
|
||
:w!
|
||
:qa!
|
||
ENDTEST
|
||
|
||
1 a aa abb abbccc
|
||
2 d dd dee deefff
|
||
3 g gg ghh ghhiii
|
||
4 j jj jkk jkklll
|
||
5 m mm mnn mnnooo
|
||
6 x ^aa$ x
|
||
7 (a)(b) abbaa
|
||
8 axx [ab]xx
|
||
9 หม่x อมx
|
||
a อมx หม่x
|
||
b ちカヨは
|
||
c x ¬€x
|
||
d 天使x
|
||
e <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y
|
||
f <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z
|
||
g a啷bb
|
||
h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐẔ
|
||
i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ
|
||
j 0123❤x
|
||
k combinations
|
||
l äö üᾱ̆́
|