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