comparison src/testdir/test_regex_char_classes.vim @ 11651:140d51d5b5c3 v8.0.0708

patch 8.0.0708: some tests are old style commit https://github.com/vim/vim/commit/292eff0c5aacb8531d65509679b6c29eae8dc22a Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 11 21:46:28 2017 +0200 patch 8.0.0708: some tests are old style Problem: Some tests are old style. Solution: Change a few tests from old style to new style. (pschuh, closes #1813)
author Christian Brabandt <cb@256bit.org>
date Tue, 11 Jul 2017 22:00:03 +0200
parents
children d9a94be389b5
comparison
equal deleted inserted replaced
11650:2a4e83ba20a5 11651:140d51d5b5c3
1 " Tests for regexp with backslash and other special characters inside []
2 " Also test backslash for hex/octal numbered character.
3
4 function RunSTest(value, calls, expected)
5 new
6 call feedkeys("i" . a:value, "mx")
7 exec a:calls
8 call assert_equal(a:expected, getline(1), printf("wrong result for %s", a:calls))
9 quit!
10 endfunction
11
12 function RunXTest(value, search_exp, expected)
13 new
14 call feedkeys("i" . a:value, "mx")
15 call feedkeys("gg" . a:search_exp . "\nx", "mx")
16 call assert_equal(a:expected, getline(1), printf("wrong result for %s", a:search_exp))
17 quit!
18 endfunction
19
20
21 function Test_x_search()
22 let res = "test text test text"
23 call RunXTest("test \\text test text", "/[\\x]", res)
24 call RunXTest("test \ttext test text", "/[\\t\\]]", res)
25 call RunXTest("test text ]test text", "/[]y]", res)
26 call RunXTest("test ]text test text", "/[\\]]", res)
27 call RunXTest("test text te^st text", "/[y^]", res)
28 call RunXTest("test te$xt test text", "/[$y]", res)
29 call RunXTest("test taext test text", "/[\\x61]", res)
30 call RunXTest("test tbext test text","/[\\x60-\\x64]", res)
31 call RunXTest("test 5text test text","/[\\x785]", res)
32 call RunXTest("testc text test text","/[\\o143]", res)
33 call RunXTest("tesdt text test text","/[\\o140-\\o144]", res)
34 call RunXTest("test7 text test text", "/[\\o417]", res)
35 call RunXTest("test text tBest text", "/\\%x42", res)
36 call RunXTest("test text teCst text", "/\\%o103", res)
37 call RunXTest("test text \<C-V>x00test text", "/[\\x00]", res)
38 endfunction
39
40 function Test_s_search()
41 let res = "test text test text"
42 call RunSTest("test te\<C-V>x00xt t\<C-V>x04est t\<C-V>x10ext", "s/[\\x00-\\x10]//g", res)
43 call RunSTest("test \\xyztext test text", "s/[\\x-z]\\+//", res)
44 call RunSTest("test text tev\\uyst text", "s/[\\u-z]\\{2,}//", res)
45 call RunSTest("xx aaaaa xx a", "s/\\(a\\)\\+//", "xx xx a")
46 call RunSTest("xx aaaaa xx a", "s/\\(a*\\)\\+//", "xx aaaaa xx a")
47 call RunSTest("xx aaaaa xx a", "s/\\(a*\\)*//", "xx aaaaa xx a")
48 call RunSTest("xx aaaaa xx", "s/\\(a\\)\\{2,3}/A/", "xx Aaa xx")
49 call RunSTest("xx aaaaa xx", "s/\\(a\\)\\{-2,3}/A/", "xx Aaaa xx")
50 call RunSTest("xx aaa12aa xx", "s/\\(a\\)*\\(12\\)\\@>/A/", "xx Aaa xx")
51 call RunSTest("xx foobar xbar xx", "s/\\(foo\\)\\@<!bar/A/", "xx foobar xA xx")
52 call RunSTest("xx an file xx", "s/\\(an\\_s\\+\\)\\@<=file/A/", "xx an A xx")
53 call RunSTest("x= 9;", "s/^\\(\\h\\w*\\%(->\\|\\.\\)\\=\\)\\+=/XX/", "XX 9;")
54 call RunSTest("hh= 77;", "s/^\\(\\h\\w*\\%(->\\|\\.\\)\\=\\)\\+=/YY/", "YY 77;")
55 call RunSTest(" aaa ", "s/aaa/xyz/", " xyz ")
56 call RunSTest(" xyz", "s/~/bcd/", " bcd")
57 call RunSTest(" bcdbcdbcd", "s/~\\+/BB/", " BB")
58 endfunction