Artifact
6289b940db9f80fb56c707d47a7a19c40693daaa:
Attachment "reg.test.diff" to
ticket [703709ffff]
added by
vincentdarley
2003-03-14 23:23:36.
0000: 49 6e 64 65 78 3a 20 72 65 67 2e 74 65 73 74 0a Index: reg.test.
0010: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0040: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0050: 3d 3d 3d 0a 52 43 53 20 66 69 6c 65 3a 20 2f 63 ===.RCS file: /c
0060: 76 73 72 6f 6f 74 2f 74 63 6c 2f 74 63 6c 2f 74 vsroot/tcl/tcl/t
0070: 65 73 74 73 2f 72 65 67 2e 74 65 73 74 2c 76 0a ests/reg.test,v.
0080: 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 73 retrieving revis
0090: 69 6f 6e 20 31 2e 31 36 0a 64 69 66 66 20 2d 72 ion 1.16.diff -r
00a0: 31 2e 31 36 20 72 65 67 2e 74 65 73 74 0a 39 39 1.16 reg.test.99
00b0: 37 61 39 39 38 2c 31 30 37 37 0a 3e 20 74 65 73 7a998,1077.> tes
00c0: 74 20 72 65 67 2d 33 32 2e 31 20 7b 63 61 6e 6d t reg-32.1 {canm
00d0: 61 74 63 68 20 66 75 6e 63 74 69 6f 6e 61 6c 69 atch functionali
00e0: 74 79 20 2d 2d 20 61 74 20 65 6e 64 7d 20 7b 0a ty -- at end} {.
00f0: 3e 20 20 20 20 20 73 65 74 20 70 61 74 20 7b 62 > set pat {b
0100: 6c 61 68 7d 0a 3e 20 20 20 20 20 73 65 74 20 6c lah}.> set l
0110: 69 6e 65 20 22 61 73 64 20 61 73 64 22 0a 3e 20 ine "asd asd".>
0120: 20 20 20 20 23 20 63 61 6e 20 6d 61 74 63 68 20 # can match
0130: 61 74 20 74 68 65 20 66 69 6e 61 6c 20 64 2c 20 at the final d,
0140: 69 66 20 27 25 27 20 66 6f 6c 6c 6f 77 73 0a 3e if '%' follows.>
0150: 20 20 20 20 20 73 65 74 20 72 65 73 20 5b 74 65 set res [te
0160: 73 74 72 65 67 65 78 70 20 2d 78 66 6c 61 67 73 stregexp -xflags
0170: 20 2d 2d 20 63 20 24 70 61 74 20 24 6c 69 6e 65 -- c $pat $line
0180: 20 72 65 73 76 61 72 5d 0a 3e 20 20 20 20 20 6c resvar].> l
0190: 61 70 70 65 6e 64 20 72 65 73 20 24 72 65 73 76 append res $resv
01a0: 61 72 0a 3e 20 7d 20 7b 30 20 37 7d 0a 3e 20 0a ar.> } {0 7}.> .
01b0: 3e 20 74 65 73 74 20 72 65 67 2d 33 32 2e 32 20 > test reg-32.2
01c0: 7b 63 61 6e 6d 61 74 63 68 20 66 75 6e 63 74 69 {canmatch functi
01d0: 6f 6e 61 6c 69 74 79 20 2d 2d 20 61 74 20 65 6e onality -- at en
01e0: 64 7d 20 7b 0a 3e 20 20 20 20 20 73 65 74 20 70 d} {.> set p
01f0: 61 74 20 7b 73 25 24 7d 0a 3e 20 20 20 20 20 73 at {s%$}.> s
0200: 65 74 20 6c 69 6e 65 20 22 61 73 64 20 61 73 64 et line "asd asd
0210: 22 0a 3e 20 20 20 20 20 23 20 63 61 6e 20 6f 6e ".> # can on
0220: 6c 79 20 6d 61 74 63 68 20 61 66 74 65 72 20 74 ly match after t
0230: 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 he end of the st
0240: 72 69 6e 67 0a 3e 20 20 20 20 20 73 65 74 20 72 ring.> set r
0250: 65 73 20 5b 74 65 73 74 72 65 67 65 78 70 20 2d es [testregexp -
0260: 78 66 6c 61 67 73 20 2d 2d 20 63 20 24 70 61 74 xflags -- c $pat
0270: 20 24 6c 69 6e 65 20 72 65 73 76 61 72 5d 0a 3e $line resvar].>
0280: 20 20 20 20 20 6c 61 70 70 65 6e 64 20 72 65 73 lappend res
0290: 20 24 72 65 73 76 61 72 0a 3e 20 7d 20 7b 30 20 $resvar.> } {0
02a0: 37 7d 0a 3e 20 0a 3e 20 74 65 73 74 20 72 65 67 7}.> .> test reg
02b0: 2d 33 32 2e 33 20 7b 63 61 6e 6d 61 74 63 68 20 -32.3 {canmatch
02c0: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 2d 2d functionality --
02d0: 20 6e 6f 74 20 6c 61 73 74 20 63 68 61 72 7d 20 not last char}
02e0: 7b 0a 3e 20 20 20 20 20 73 65 74 20 70 61 74 20 {.> set pat
02f0: 7b 5b 5e 64 5d 25 24 7d 0a 3e 20 20 20 20 20 73 {[^d]%$}.> s
0300: 65 74 20 6c 69 6e 65 20 22 61 73 64 20 61 73 64 et line "asd asd
0310: 22 0a 3e 20 20 20 20 20 23 20 63 61 6e 20 6f 6e ".> # can on
0320: 6c 79 20 6d 61 74 63 68 20 61 66 74 65 72 20 74 ly match after t
0330: 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 he end of the st
0340: 72 69 6e 67 0a 3e 20 20 20 20 20 73 65 74 20 72 ring.> set r
0350: 65 73 20 5b 74 65 73 74 72 65 67 65 78 70 20 2d es [testregexp -
0360: 78 66 6c 61 67 73 20 2d 2d 20 63 20 24 70 61 74 xflags -- c $pat
0370: 20 24 6c 69 6e 65 20 72 65 73 76 61 72 5d 0a 3e $line resvar].>
0380: 20 20 20 20 20 6c 61 70 70 65 6e 64 20 72 65 73 lappend res
0390: 20 24 72 65 73 76 61 72 0a 3e 20 7d 20 7b 30 20 $resvar.> } {0
03a0: 37 7d 0a 3e 20 0a 3e 20 74 65 73 74 20 72 65 67 7}.> .> test reg
03b0: 2d 33 32 2e 34 20 7b 63 61 6e 6d 61 74 63 68 20 -32.4 {canmatch
03c0: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 2d 2d functionality --
03d0: 20 6c 61 73 74 20 63 68 61 72 7d 20 7b 6b 6e 6f last char} {kno
03e0: 77 6e 42 75 67 7d 20 7b 0a 3e 20 20 20 20 20 73 wnBug} {.> s
03f0: 65 74 20 70 61 74 20 7b 2e 78 7d 0a 3e 20 20 20 et pat {.x}.>
0400: 20 20 73 65 74 20 6c 69 6e 65 20 22 61 73 64 20 set line "asd
0410: 61 73 64 22 0a 3e 20 20 20 20 20 23 20 63 61 6e asd".> # can
0420: 20 6d 61 74 63 68 20 74 68 65 20 6c 61 73 74 20 match the last
0430: 63 68 61 72 2c 20 69 66 20 66 6f 6c 6c 6f 77 65 char, if followe
0440: 64 20 62 79 20 78 0a 3e 20 20 20 20 20 73 65 74 d by x.> set
0450: 20 72 65 73 20 5b 74 65 73 74 72 65 67 65 78 70 res [testregexp
0460: 20 2d 78 66 6c 61 67 73 20 2d 2d 20 63 20 24 70 -xflags -- c $p
0470: 61 74 20 24 6c 69 6e 65 20 72 65 73 76 61 72 5d at $line resvar]
0480: 0a 3e 20 20 20 20 20 6c 61 70 70 65 6e 64 20 72 .> lappend r
0490: 65 73 20 24 72 65 73 76 61 72 0a 3e 20 7d 20 7b es $resvar.> } {
04a0: 30 20 36 7d 0a 3e 20 0a 3e 20 74 65 73 74 20 72 0 6}.> .> test r
04b0: 65 67 2d 33 32 2e 34 2e 31 20 7b 63 61 6e 6d 61 eg-32.4.1 {canma
04c0: 74 63 68 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 tch functionalit
04d0: 79 20 2d 2d 20 6c 61 73 74 20 63 68 61 72 7d 20 y -- last char}
04e0: 7b 6b 6e 6f 77 6e 42 75 67 7d 20 7b 0a 3e 20 20 {knownBug} {.>
04f0: 20 20 20 73 65 74 20 70 61 74 20 7b 2e 78 24 7d set pat {.x$}
0500: 0a 3e 20 20 20 20 20 73 65 74 20 6c 69 6e 65 20 .> set line
0510: 22 61 73 64 20 61 73 64 22 0a 3e 20 20 20 20 20 "asd asd".>
0520: 23 20 63 61 6e 20 6d 61 74 63 68 20 74 68 65 20 # can match the
0530: 6c 61 73 74 20 63 68 61 72 2c 20 69 66 20 66 6f last char, if fo
0540: 6c 6c 6f 77 65 64 20 62 79 20 78 0a 3e 20 20 20 llowed by x.>
0550: 20 20 73 65 74 20 72 65 73 20 5b 74 65 73 74 72 set res [testr
0560: 65 67 65 78 70 20 2d 78 66 6c 61 67 73 20 2d 2d egexp -xflags --
0570: 20 63 20 24 70 61 74 20 24 6c 69 6e 65 20 72 65 c $pat $line re
0580: 73 76 61 72 5d 0a 3e 20 20 20 20 20 6c 61 70 70 svar].> lapp
0590: 65 6e 64 20 72 65 73 20 24 72 65 73 76 61 72 0a end res $resvar.
05a0: 3e 20 7d 20 7b 30 20 36 7d 0a 3e 20 0a 3e 20 74 > } {0 6}.> .> t
05b0: 65 73 74 20 72 65 67 2d 33 32 2e 35 20 7b 63 61 est reg-32.5 {ca
05c0: 6e 6d 61 74 63 68 20 66 75 6e 63 74 69 6f 6e 61 nmatch functiona
05d0: 6c 69 74 79 20 2d 2d 20 6c 61 73 74 20 63 68 61 lity -- last cha
05e0: 72 7d 20 7b 6b 6e 6f 77 6e 42 75 67 7d 20 7b 0a r} {knownBug} {.
05f0: 3e 20 20 20 20 20 73 65 74 20 70 61 74 20 7b 2e > set pat {.
0600: 5b 5e 64 5d 78 24 7d 0a 3e 20 20 20 20 20 73 65 [^d]x$}.> se
0610: 74 20 6c 69 6e 65 20 22 61 73 64 20 61 73 64 22 t line "asd asd"
0620: 0a 3e 20 20 20 20 20 23 20 63 61 6e 20 6d 61 74 .> # can mat
0630: 63 68 20 74 68 65 20 6c 61 73 74 20 63 68 61 72 ch the last char
0640: 2c 20 69 66 20 66 6f 6c 6c 6f 77 65 64 20 62 79 , if followed by
0650: 20 6e 6f 74 2d 64 20 61 6e 64 20 78 2e 0a 3e 20 not-d and x..>
0660: 20 20 20 20 73 65 74 20 72 65 73 20 5b 74 65 73 set res [tes
0670: 74 72 65 67 65 78 70 20 2d 78 66 6c 61 67 73 20 tregexp -xflags
0680: 2d 2d 20 63 20 24 70 61 74 20 24 6c 69 6e 65 20 -- c $pat $line
0690: 72 65 73 76 61 72 5d 0a 3e 20 20 20 20 20 6c 61 resvar].> la
06a0: 70 70 65 6e 64 20 72 65 73 20 24 72 65 73 76 61 ppend res $resva
06b0: 72 0a 3e 20 7d 20 7b 30 20 36 7d 0a 3e 20 0a 3e r.> } {0 6}.> .>
06c0: 20 74 65 73 74 20 72 65 67 2d 33 32 2e 36 20 7b test reg-32.6 {
06d0: 63 61 6e 6d 61 74 63 68 20 66 75 6e 63 74 69 6f canmatch functio
06e0: 6e 61 6c 69 74 79 20 2d 2d 20 6c 61 73 74 20 63 nality -- last c
06f0: 68 61 72 7d 20 7b 6b 6e 6f 77 6e 42 75 67 7d 20 har} {knownBug}
0700: 7b 0a 3e 20 20 20 20 20 73 65 74 20 70 61 74 20 {.> set pat
0710: 7b 5b 5e 61 5d 25 5b 5e 5c 72 5c 6e 5d 2a 24 7d {[^a]%[^\r\n]*$}
0720: 0a 3e 20 20 20 20 20 73 65 74 20 6c 69 6e 65 20 .> set line
0730: 22 61 73 64 20 61 73 64 22 0a 3e 20 20 20 20 20 "asd asd".>
0740: 23 20 63 61 6e 20 6d 61 74 63 68 20 61 74 20 74 # can match at t
0750: 68 65 20 66 69 6e 61 6c 20 64 2c 20 69 66 20 27 he final d, if '
0760: 25 27 20 66 6f 6c 6c 6f 77 73 0a 3e 20 20 20 20 %' follows.>
0770: 20 73 65 74 20 72 65 73 20 5b 74 65 73 74 72 65 set res [testre
0780: 67 65 78 70 20 2d 78 66 6c 61 67 73 20 2d 2d 20 gexp -xflags --
0790: 63 20 24 70 61 74 20 24 6c 69 6e 65 20 72 65 73 c $pat $line res
07a0: 76 61 72 5d 0a 3e 20 20 20 20 20 6c 61 70 70 65 var].> lappe
07b0: 6e 64 20 72 65 73 20 24 72 65 73 76 61 72 0a 3e nd res $resvar.>
07c0: 20 7d 20 7b 30 20 36 7d 0a 3e 20 0a 3e 20 74 65 } {0 6}.> .> te
07d0: 73 74 20 72 65 67 2d 33 32 2e 37 20 7b 63 61 6e st reg-32.7 {can
07e0: 6d 61 74 63 68 20 66 75 6e 63 74 69 6f 6e 61 6c match functional
07f0: 69 74 79 20 2d 2d 20 6c 61 73 74 20 63 68 61 72 ity -- last char
0800: 7d 20 7b 6b 6e 6f 77 6e 42 75 67 7d 20 7b 0a 3e } {knownBug} {.>
0810: 20 20 20 20 20 73 65 74 20 70 61 74 20 7b 5b 5e set pat {[^
0820: 61 5d 25 24 7d 0a 3e 20 20 20 20 20 73 65 74 20 a]%$}.> set
0830: 6c 69 6e 65 20 22 61 73 64 20 61 73 64 22 0a 3e line "asd asd".>
0840: 20 20 20 20 20 23 20 63 61 6e 20 6d 61 74 63 68 # can match
0850: 20 61 74 20 74 68 65 20 66 69 6e 61 6c 20 64 2c at the final d,
0860: 20 69 66 20 27 25 27 20 66 6f 6c 6c 6f 77 73 0a if '%' follows.
0870: 3e 20 20 20 20 20 73 65 74 20 72 65 73 20 5b 74 > set res [t
0880: 65 73 74 72 65 67 65 78 70 20 2d 78 66 6c 61 67 estregexp -xflag
0890: 73 20 2d 2d 20 63 20 24 70 61 74 20 24 6c 69 6e s -- c $pat $lin
08a0: 65 20 72 65 73 76 61 72 5d 0a 3e 20 20 20 20 20 e resvar].>
08b0: 6c 61 70 70 65 6e 64 20 72 65 73 20 24 72 65 73 lappend res $res
08c0: 76 61 72 0a 3e 20 7d 20 7b 30 20 36 7d 0a 3e 20 var.> } {0 6}.>
08d0: 0a 3e 20 74 65 73 74 20 72 65 67 2d 33 32 2e 38 .> test reg-32.8
08e0: 20 7b 63 61 6e 6d 61 74 63 68 20 66 75 6e 63 74 {canmatch funct
08f0: 69 6f 6e 61 6c 69 74 79 20 2d 2d 20 6c 61 73 74 ionality -- last
0900: 20 63 68 61 72 7d 20 7b 6b 6e 6f 77 6e 42 75 67 char} {knownBug
0910: 7d 20 7b 0a 3e 20 20 20 20 20 73 65 74 20 70 61 } {.> set pa
0920: 74 20 7b 5b 5e 78 5d 25 24 7d 0a 3e 20 20 20 20 t {[^x]%$}.>
0930: 20 73 65 74 20 6c 69 6e 65 20 22 61 73 64 20 61 set line "asd a
0940: 73 64 22 0a 3e 20 20 20 20 20 23 20 63 61 6e 20 sd".> # can
0950: 6d 61 74 63 68 20 61 74 20 74 68 65 20 66 69 6e match at the fin
0960: 61 6c 20 64 2c 20 69 66 20 27 25 27 20 66 6f 6c al d, if '%' fol
0970: 6c 6f 77 73 0a 3e 20 20 20 20 20 73 65 74 20 72 lows.> set r
0980: 65 73 20 5b 74 65 73 74 72 65 67 65 78 70 20 2d es [testregexp -
0990: 78 66 6c 61 67 73 20 2d 2d 20 63 20 24 70 61 74 xflags -- c $pat
09a0: 20 24 6c 69 6e 65 20 72 65 73 76 61 72 5d 0a 3e $line resvar].>
09b0: 20 20 20 20 20 6c 61 70 70 65 6e 64 20 72 65 73 lappend res
09c0: 20 24 72 65 73 76 61 72 0a 3e 20 7d 20 7b 30 20 $resvar.> } {0
09d0: 36 7d 0a 3e 20 0a 3e 20 74 65 73 74 20 72 65 67 6}.> .> test reg
09e0: 2d 33 32 2e 37 20 7b 63 61 6e 6d 61 74 63 68 20 -32.7 {canmatch
09f0: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 2d 2d functionality --
0a00: 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 63 61 more complex ca
0a10: 73 65 7d 20 7b 6b 6e 6f 77 6e 42 75 67 7d 20 7b se} {knownBug} {
0a20: 0a 3e 20 20 20 20 20 73 65 74 20 70 61 74 20 7b .> set pat {
0a30: 28 28 5c 42 5c 42 7c 5c 42 68 2b 6c 69 6e 65 29 ((\B\B|\Bh+line)
0a40: 5b 20 5c 74 5d 2a 7c 5b 5e 5c 42 5d 25 5b 5e 5c [ \t]*|[^\B]%[^\
0a50: 72 5c 6e 5d 2a 29 24 7d 0a 3e 20 20 20 20 20 73 r\n]*)$}.> s
0a60: 65 74 20 6c 69 6e 65 20 22 61 73 64 20 61 73 64 et line "asd asd
0a70: 22 0a 3e 20 20 20 20 20 23 20 63 61 6e 20 6d 61 ".> # can ma
0a80: 74 63 68 20 61 74 20 74 68 65 20 66 69 6e 61 6c tch at the final
0a90: 20 64 2c 20 69 66 20 27 25 27 20 66 6f 6c 6c 6f d, if '%' follo
0aa0: 77 73 0a 3e 20 20 20 20 20 73 65 74 20 72 65 73 ws.> set res
0ab0: 20 5b 74 65 73 74 72 65 67 65 78 70 20 2d 78 66 [testregexp -xf
0ac0: 6c 61 67 73 20 2d 2d 20 63 20 24 70 61 74 20 24 lags -- c $pat $
0ad0: 6c 69 6e 65 20 72 65 73 76 61 72 5d 0a 3e 20 20 line resvar].>
0ae0: 20 20 20 6c 61 70 70 65 6e 64 20 72 65 73 20 24 lappend res $
0af0: 72 65 73 76 61 72 0a 3e 20 7d 20 7b 30 20 36 7d resvar.> } {0 6}
0b00: 0a 3e 20 0a .> .