annotate src/testdir/test95.in @ 4478:032c9f916f25 v7.3.987

updated for version 7.3.987 Problem: No easy to run an individual test. Tests 64 fails when 'encoding' is not utf-8. Solution: Add individual test targets to the Makefile. Move some lines from test 64 to 95.
author Bram Moolenaar <bram@vim.org>
date Tue, 21 May 2013 13:30:21 +0200
parents 3cc2dca142a0
children 8cb14f59a327
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4476
3cc2dca142a0 updated for version 7.3.986
Bram Moolenaar <bram@vim.org>
parents: 4468
diff changeset
1 Test for regexp patterns with multi-byte support, using utf-8.
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
2 See test64 for the non-multi-byte tests.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
3
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
4 A pattern that gives the expected result produces OK, so that we know it was
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
5 actually tried.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
6
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
7 STARTTEST
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
8 :so small.vim
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
9 :so mbyte.vim
4478
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
10 :set nocp encoding=utf-8 viminfo+=nviminfo
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
11 :" tl is a List of Lists with:
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
12 :" regexp pattern
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
13 :" text to test the pattern on
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
14 :" expected match (optional)
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
15 :" expected submatch 1 (optional)
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
16 :" expected submatch 2 (optional)
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
17 :" etc.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
18 :" When there is no match use only the first two items.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
19 :let tl = []
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
20
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
21 :"""" Multi-byte character tests. These will fail unless vim is compiled
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
22 :"""" with Multibyte (FEAT_MBYTE) or BIG/HUGE features.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
23 :call add(tl, ['[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
24 :call add(tl, ['[[=a=]]\+', 'ddaãâbcd', 'aãâ']) " equivalence classes
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
25 :call add(tl, ['[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oijasoifjos'])
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
26 :call add(tl, [' [^ ]\+', 'start มabcdม ', ' มabcdม'])
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
27 :call add(tl, ['[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna'])
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
28
4468
dde1cf311be6 updated for version 7.3.982
Bram Moolenaar <bram@vim.org>
parents: 4444
diff changeset
29 :" this is not a normal "i" but 0xec
dde1cf311be6 updated for version 7.3.982
Bram Moolenaar <bram@vim.org>
parents: 4444
diff changeset
30 :call add(tl, ['\p\+', 'ìa', 'ìa'])
dde1cf311be6 updated for version 7.3.982
Bram Moolenaar <bram@vim.org>
parents: 4444
diff changeset
31
4478
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
32 :"""" Test recognition of some character classes
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
33 :call add(tl, ['\i\+', '&*§xx ', 'xx'])
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
34 :call add(tl, ['\%#=1\i\+', '&*§xx ', 'xx'])
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
35 :call add(tl, ['\f\+', '&*Ÿfname ', 'fname'])
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
36 :call add(tl, ['\%#=1\i\+', '&*Ÿfname ', 'fname'])
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
37
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
38 :"""" Combining different tests and features
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
39 :call add(tl, ['[^[=a=]]\+', 'ddaãâbcd', 'dd'])
032c9f916f25 updated for version 7.3.987
Bram Moolenaar <bram@vim.org>
parents: 4476
diff changeset
40
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
41 :"""" Run the tests
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
42
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
43 :"
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
44 :for t in tl
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
45 : let l = matchlist(t[1], t[0])
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
46 :" check the match itself
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
47 : if len(l) == 0 && len(t) > 2
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
48 : $put ='ERROR: pat: \"' . t[0] . '\", text: \"' . t[1] . '\", did not match, expected: \"' . t[2] . '\"'
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
49 : elseif len(l) > 0 && len(t) == 2
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
50 : $put ='ERROR: pat: \"' . t[0] . '\", text: \"' . t[1] . '\", match: \"' . l[0] . '\", expected no match'
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
51 : elseif len(t) > 2 && l[0] != t[2]
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
52 : $put ='ERROR: pat: \"' . t[0] . '\", text: \"' . t[1] . '\", match: \"' . l[0] . '\", expected: \"' . t[2] . '\"'
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
53 : else
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
54 : $put ='OK - ' . t[0]
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
55 : endif
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
56 : if len(l) > 0
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
57 :" check all the nine submatches
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
58 : for i in range(1, 9)
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
59 : if len(t) <= i + 2
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
60 : let e = ''
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
61 : else
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
62 : let e = t[i + 2]
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
63 : endif
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
64 : if l[i] != e
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
65 : $put ='ERROR: pat: \"' . t[0] . '\", text: \"' . t[1] . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
66 : endif
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
67 : endfor
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
68 : unlet i
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
69 : endif
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
70 :endfor
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
71 :unlet t tl e l
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
72
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
73 :/\%#=1^Results/,$wq! test.out
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
74 ENDTEST
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
75
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
76 Results of test95: