diff options
| author | hypnotoad <yoda@etoyoc.com> | 2016-10-02 12:07:40 (GMT) |
|---|---|---|
| committer | hypnotoad <yoda@etoyoc.com> | 2016-10-02 12:07:40 (GMT) |
| commit | 0c444bd87e7dc74b25427a5fccf08ddd8d565cd6 (patch) | |
| tree | 3afc6c9d5e73e2e86de808ce98ce275312d3dc7e /tests/textIndex.test | |
| parent | 20c81b194394bb6ea16d1831f6f895b63477819c (diff) | |
| parent | 6c0dafab46875ddb6dd0a91f5e056a8d87722ca6 (diff) | |
| download | tk-core_zip_vfs.zip tk-core_zip_vfs.tar.gz tk-core_zip_vfs.tar.bz2 | |
Pulling changes from trunkcore_zip_vfs
Diffstat (limited to 'tests/textIndex.test')
| -rw-r--r-- | tests/textIndex.test | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/tests/textIndex.test b/tests/textIndex.test index c949b1f..ce331b4 100644 --- a/tests/textIndex.test +++ b/tests/textIndex.test @@ -17,7 +17,7 @@ pack append . .t {top expand fill} update .t debug on wm geometry . {} - + # The statements below reset the main window; it's needed if the window # manager is mwm to make mwm forget about a previous minimum size setting. @@ -74,7 +74,7 @@ test textIndex-1.9 {TkTextMakeByteIndex: shortcut for 0} {testtext} { testtext .t byteindex 3 80 } {3.5 5} test textIndex-1.10 {TkTextMakeByteIndex: verify index is in range} {testtext} { - # for (segPtr = indexPtr->linePtr->segPtr; ; segPtr = segPtr->nextPtr) + # for (segPtr = indexPtr->linePtr->segPtr; ; segPtr = segPtr->nextPtr) # one segment testtext .t byteindex 3 5 @@ -84,7 +84,7 @@ test textIndex-1.11 {TkTextMakeByteIndex: verify index is in range} {testtext} { # index += segPtr->size # Multiple segments, make sure add segment size to index. - .t mark set foo 3.2 + .t mark set foo 3.2 set x [testtext .t byteindex 3 7] .t mark unset foo set x @@ -117,7 +117,7 @@ test textIndex-1.16 {TkTextMakeByteIndex: UTF-8 characters} {testtext} { } {5.18 20} test textIndex-1.17 {TkTextMakeByteIndex: prevent splitting UTF-8 character} \ {testtext} { - # ((byteIndex > index) && (segPtr->typePtr == &tkTextCharType)) + # ((byteIndex > index) && (segPtr->typePtr == &tkTextCharType)) # Wrong answer would be \xb9 (the 2nd byte of UTF rep of 0x4e4f). set x [testtext .t byteindex 5 2] @@ -125,7 +125,7 @@ test textIndex-1.17 {TkTextMakeByteIndex: prevent splitting UTF-8 character} \ } {{5.2 4} y} test textIndex-1.18 {TkTextMakeByteIndex: prevent splitting UTF-8 character} \ {testtext} { - # ((byteIndex > index) && (segPtr->typePtr == &tkTextCharType)) + # ((byteIndex > index) && (segPtr->typePtr == &tkTextCharType)) testtext .t byteindex 5 1 .t get insert } "\u4e4f" @@ -168,7 +168,7 @@ test textIndex-2.9 {TkTextMakeCharIndex: verify index is in range} { # for (segPtr = indexPtr->linePtr->segPtr; ; segPtr = segPtr->nextPtr) # Multiple segments, make sure add segment size to index. - .t mark set foo 3.2 + .t mark set foo 3.2 set x [.t index 3.7] .t mark unset foo set x @@ -439,7 +439,7 @@ test textIndex-12.5 {TkTextIndexForwChars: find index} { test textIndex-12.6 {TkTextIndexForwChars: find index} { # for ( ; segPtr != NULL; segPtr = segPtr->nextPtr) # border condition: segPtr == NULL -> beginning of next line - + .t index {2.3 + 11 chars} } 3.0 test textIndex-12.7 {TkTextIndexForwChars: find index} { @@ -458,7 +458,7 @@ test textIndex-12.9 {TkTextIndexForwChars: find index} { .t image create 2.4 -image textimage set x [.t get {2.3 + 3 chars}] .t delete 2.4 - set x + set x } "f" test textIndex-12.10 {TkTextIndexForwChars: find index} { # dstPtr->byteIndex += segPtr->size - byteOffset @@ -588,11 +588,11 @@ test textIndex-14.11 {TkTextIndexBackChars: move to previous segment} { set x } 2.9 test textIndex-14.12 {TkTextIndexBackChars: move to previous line} { - # (lineIndex == 0) + # (lineIndex == 0) .t index {1.5 - 10 chars} } 1.0 test textIndex-14.13 {TkTextIndexBackChars: move to previous line} { - # not (lineIndex == 0) + # not (lineIndex == 0) .t index {2.5 - 10 chars} } 1.2 test textIndex-14.14 {TkTextIndexBackChars: move to previous line} { @@ -905,6 +905,21 @@ test textIndex-22.12 {text index wordstart, unicode} { test textIndex-22.13 {text index wordstart, unicode} { text_test_word wordstart "\uc700\uc700 abc" 8 } 3 +test textIndex-22.14 {text index wordstart, unicode, start index at internal segment start} { + catch {destroy .t} + text .t + .t insert end "C'est du texte en fran\u00e7ais\n" + .t insert end "\u042D\u0442\u043E\u0020\u0442\u0435\u043A\u0441\u0442\u0020\u043D\u0430\u0020\u0440\u0443\u0441\u0441\u043A\u043E\u043C" + .t mark set insert 1.23 + set res [.t index "1.23 wordstart"] + .t mark set insert 2.16 + lappend res [.t index "2.16 wordstart"] [.t index "2.15 wordstart"] +} {1.18 2.13 2.13} +test textIndex-22.15 {text index display wordstart} { + catch {destroy .t} + text .t + .t index "1.0 display wordstart" ; # used to crash +} 1.0 test textIndex-23.1 {text paragraph start} { pack [text .t2] @@ -928,6 +943,19 @@ test textIndex-24.1 {text mark prev} { set res } {1.0} +test textIndex-25.1 {IndexCountBytesOrdered, bug [3f1f79abcf]} { + pack [text .t2] + .t2 tag configure elided -elide 1 + .t2 insert end "01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n" + .t2 insert end "11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n" + .t2 insert end "21\n22\n23\n25\n26\n27\n28\n29\n30\n31" + .t2 insert end "32\n33\n34\n36\n37\n38\n39" elided + # then this used to crash Tk: + .t2 see end + focus -force .t2 ; # to see the cursor blink + destroy .t2 +} {} + # cleanup rename textimage {} catch {destroy .t} |
