Tcl Source Code

Hex Artifact Content
Login

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                                      .> .