A Multi-Column Listbox
Hex Artifact Content
Not logged in

Artifact 3b8c15b5f6bdbcea0bc75986f4bcb413c924ed6f:

Attachment "ctext.test" to ticket [2059415fff] added by relaxmike 2008-08-19 17:17:13.
0000: 23 0d 0a 23 20 63 74 65 78 74 2e 74 65 73 74 20  #..# ctext.test 
0010: 2d 2d 0d 0a 23 20 20 20 55 6e 69 74 20 74 65 73  --..#   Unit tes
0020: 74 73 20 66 6f 72 20 74 68 65 20 63 74 65 78 74  ts for the ctext
0030: 20 70 61 63 6b 61 67 65 2e 0d 0a 23 0d 0a 23 0d   package...#..#.
0040: 0a 23 20 53 74 61 72 74 75 70 20 75 6e 69 74 20  .# Startup unit 
0050: 74 65 73 74 73 0d 0a 23 0d 0a 70 61 63 6b 61 67  tests..#..packag
0060: 65 20 72 65 71 75 69 72 65 20 74 63 6c 74 65 73  e require tcltes
0070: 74 0d 0a 6e 61 6d 65 73 70 61 63 65 20 69 6d 70  t..namespace imp
0080: 6f 72 74 20 2d 66 6f 72 63 65 20 74 63 6c 74 65  ort -force tclte
0090: 73 74 3a 3a 74 65 73 74 0d 0a 74 63 6c 74 65 73  st::test..tcltes
00a0: 74 3a 3a 63 6f 6e 66 69 67 75 72 65 20 2d 76 65  t::configure -ve
00b0: 72 62 6f 73 65 20 7b 62 6f 64 79 20 65 72 72 6f  rbose {body erro
00c0: 72 20 70 61 73 73 20 73 74 61 72 74 7d 0d 0a 70  r pass start}..p
00d0: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 63  ackage require c
00e0: 74 65 78 74 0d 0a 74 65 73 74 20 63 74 65 78 74  text..test ctext
00f0: 2d 31 2e 31 20 7b 7d 20 7b 0d 0a 20 20 20 20 63  -1.1 {} {..    c
0100: 74 65 78 74 20 2e 74 20 2d 75 6e 64 6f 20 31 0d  text .t -undo 1.
0110: 0a 20 20 20 20 2e 74 20 69 6e 73 65 72 74 20 31  .    .t insert 1
0120: 2e 30 20 22 54 68 69 73 20 69 73 20 61 20 73 65  .0 "This is a se
0130: 6e 74 65 6e 63 65 2e 22 0d 0a 20 20 20 20 73 65  ntence."..    se
0140: 74 20 72 65 73 20 5b 2e 74 20 65 64 69 74 20 6d  t res [.t edit m
0150: 6f 64 69 66 69 65 64 5d 0d 0a 20 20 20 20 64 65  odified]..    de
0160: 73 74 72 6f 79 20 2e 74 0d 0a 20 20 20 20 73 65  stroy .t..    se
0170: 74 20 72 65 73 20 24 72 65 73 0d 0a 7d 20 7b 31  t res $res..} {1
0180: 7d 0d 0a 74 65 73 74 20 63 74 65 78 74 2d 31 2e  }..test ctext-1.
0190: 32 20 7b 7d 20 7b 0d 0a 20 20 20 20 63 74 65 78  2 {} {..    ctex
01a0: 74 20 2e 74 20 2d 75 6e 64 6f 20 31 0d 0a 20 20  t .t -undo 1..  
01b0: 20 20 2e 74 20 69 6e 73 65 72 74 20 31 2e 30 20    .t insert 1.0 
01c0: 22 54 68 69 73 20 69 73 20 61 20 73 65 6e 74 65  "This is a sente
01d0: 6e 63 65 2e 22 0d 0a 20 20 20 20 2e 74 20 65 64  nce."..    .t ed
01e0: 69 74 20 75 6e 64 6f 0d 0a 20 20 20 20 73 65 74  it undo..    set
01f0: 20 72 65 73 20 5b 2e 74 20 65 64 69 74 20 6d 6f   res [.t edit mo
0200: 64 69 66 69 65 64 5d 0d 0a 20 20 20 20 64 65 73  dified]..    des
0210: 74 72 6f 79 20 2e 74 0d 0a 20 20 20 20 73 65 74  troy .t..    set
0220: 20 72 65 73 20 24 72 65 73 0d 0a 7d 20 7b 30 7d   res $res..} {0}
0230: 0d 0a 74 65 73 74 20 63 74 65 78 74 2d 31 2e 33  ..test ctext-1.3
0240: 20 7b 7d 20 7b 0d 0a 20 20 20 20 63 74 65 78 74   {} {..    ctext
0250: 20 2e 74 20 2d 75 6e 64 6f 20 31 0d 0a 20 20 20   .t -undo 1..   
0260: 20 2e 74 20 69 6e 73 65 72 74 20 31 2e 30 20 22   .t insert 1.0 "
0270: 54 68 69 73 20 69 73 20 61 20 73 65 6e 74 65 6e  This is a senten
0280: 63 65 2e 22 0d 0a 20 20 20 20 2e 74 20 65 64 69  ce."..    .t edi
0290: 74 20 6d 6f 64 69 66 69 65 64 20 30 0d 0a 20 20  t modified 0..  
02a0: 20 20 73 65 74 20 72 65 73 20 5b 2e 74 20 65 64    set res [.t ed
02b0: 69 74 20 6d 6f 64 69 66 69 65 64 5d 0d 0a 20 20  it modified]..  
02c0: 20 20 64 65 73 74 72 6f 79 20 2e 74 0d 0a 20 20    destroy .t..  
02d0: 20 20 73 65 74 20 72 65 73 20 24 72 65 73 0d 0a    set res $res..
02e0: 7d 20 7b 30 7d 0d 0a 74 65 73 74 20 63 74 65 78  } {0}..test ctex
02f0: 74 2d 31 2e 34 20 7b 7d 20 7b 0d 0a 20 20 20 20  t-1.4 {} {..    
0300: 63 74 65 78 74 20 2e 74 20 2d 75 6e 64 6f 20 31  ctext .t -undo 1
0310: 0d 0a 20 20 20 20 2e 74 20 69 6e 73 65 72 74 20  ..    .t insert 
0320: 31 2e 30 20 22 54 68 69 73 20 69 73 20 61 20 73  1.0 "This is a s
0330: 65 6e 74 65 6e 63 65 2e 22 0d 0a 20 20 20 20 2e  entence."..    .
0340: 74 20 65 64 69 74 20 6d 6f 64 69 66 69 65 64 20  t edit modified 
0350: 30 0d 0a 20 20 20 20 2e 74 20 65 64 69 74 20 72  0..    .t edit r
0360: 65 73 65 74 0d 0a 20 20 20 20 73 65 74 20 72 65  eset..    set re
0370: 73 20 5b 2e 74 20 65 64 69 74 20 6d 6f 64 69 66  s [.t edit modif
0380: 69 65 64 5d 0d 0a 20 20 20 20 64 65 73 74 72 6f  ied]..    destro
0390: 79 20 2e 74 0d 0a 20 20 20 20 73 65 74 20 72 65  y .t..    set re
03a0: 73 20 24 72 65 73 0d 0a 7d 20 7b 30 7d 0d 0a 74  s $res..} {0}..t
03b0: 65 73 74 20 63 74 65 78 74 2d 31 2e 35 20 7b 7d  est ctext-1.5 {}
03c0: 20 7b 0d 0a 20 20 20 20 63 74 65 78 74 20 2e 74   {..    ctext .t
03d0: 20 2d 75 6e 64 6f 20 31 0d 0a 20 20 20 20 73 65   -undo 1..    se
03e0: 74 20 72 65 73 20 5b 63 61 74 63 68 20 7b 2e 74  t res [catch {.t
03f0: 20 65 64 69 74 20 75 6e 64 6f 7d 20 6d 73 67 5d   edit undo} msg]
0400: 0d 0a 20 20 20 20 64 65 73 74 72 6f 79 20 2e 74  ..    destroy .t
0410: 0d 0a 20 20 20 20 73 65 74 20 72 65 73 20 24 72  ..    set res $r
0420: 65 73 0d 0a 7d 7b 31 7d 0d 0a 74 65 73 74 20 63  es..}{1}..test c
0430: 74 65 78 74 2d 31 2e 37 20 7b 7d 20 7b 0d 0a 20  text-1.7 {} {.. 
0440: 20 20 20 63 74 65 78 74 20 2e 74 20 2d 75 6e 64     ctext .t -und
0450: 6f 20 31 0d 0a 20 20 20 20 2e 74 20 69 6e 73 65  o 1..    .t inse
0460: 72 74 20 31 2e 30 20 22 54 68 69 73 20 69 73 20  rt 1.0 "This is 
0470: 61 20 73 65 6e 74 65 6e 63 65 2e 22 0d 0a 20 20  a sentence."..  
0480: 20 20 2e 74 20 74 61 67 20 61 64 64 20 73 65 6c    .t tag add sel
0490: 20 31 2e 30 20 31 2e 34 0d 0a 20 20 20 20 2e 74   1.0 1.4..    .t
04a0: 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73   delete sel.firs
04b0: 74 20 73 65 6c 2e 6c 61 73 74 0d 0a 20 20 20 20  t sel.last..    
04c0: 73 65 74 20 72 65 73 20 5b 2e 74 20 67 65 74 20  set res [.t get 
04d0: 31 2e 30 20 31 2e 65 6e 64 5d 0d 0a 20 20 20 20  1.0 1.end]..    
04e0: 64 65 73 74 72 6f 79 20 2e 74 0d 0a 20 20 20 20  destroy .t..    
04f0: 73 65 74 20 72 65 73 20 24 72 65 73 0d 0a 7d 20  set res $res..} 
0500: 7b 20 69 73 20 61 20 73 65 6e 74 65 6e 63 65 2e  { is a sentence.
0510: 7d 0d 0a 74 65 73 74 20 63 74 65 78 74 2d 31 2e  }..test ctext-1.
0520: 38 20 7b 74 65 73 74 20 64 65 73 74 72 6f 79 2c  8 {test destroy,
0530: 20 74 68 65 6e 20 75 70 64 61 74 65 7d 20 7b 0d   then update} {.
0540: 0a 20 20 20 20 63 74 65 78 74 20 2e 74 0d 0a 20  .    ctext .t.. 
0550: 20 20 20 64 65 73 74 72 6f 79 20 2e 74 0d 0a 20     destroy .t.. 
0560: 20 20 20 75 70 64 61 74 65 0d 0a 7d 20 7b 7d 0d     update..} {}.
0570: 0a 23 0d 0a 23 20 53 68 75 74 64 6f 77 6e 20 75  .#..# Shutdown u
0580: 6e 69 74 20 74 65 73 74 73 0d 0a 23 0d 0a 74 63  nit tests..#..tc
0590: 6c 74 65 73 74 3a 3a 63 6c 65 61 6e 75 70 54 65  ltest::cleanupTe
05a0: 73 74 73 0d 0a 0d 0a                             sts....