diff options
author | jan.nijtmans <jan.nijtmans@noemail.net> | 2012-01-25 21:14:19 (GMT) |
---|---|---|
committer | jan.nijtmans <jan.nijtmans@noemail.net> | 2012-01-25 21:14:19 (GMT) |
commit | 9e7ee32565fa097e9ad527b5175682f3f15c94c5 (patch) | |
tree | e9665bba1fa5305a3954ad06939ee5bd49afcc16 /tests | |
parent | 7e3cf82078ce14879bfc0829a0014182c417769b (diff) | |
parent | 4d325e70b2e37e1771966dbdc775bad03f256f2e (diff) | |
download | tk-9e7ee32565fa097e9ad527b5175682f3f15c94c5.zip tk-9e7ee32565fa097e9ad527b5175682f3f15c94c5.tar.gz tk-9e7ee32565fa097e9ad527b5175682f3f15c94c5.tar.bz2 |
[Bug-1630271]: segfault/infinite loop when a mark is before -startline
FossilOrigin-Name: 30db605b7660d9698c206f95975c8a3f70702bf4
Diffstat (limited to 'tests')
-rw-r--r-- | tests/textMark.test | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/tests/textMark.test b/tests/textMark.test index a412574..6e0f8a0 100644 --- a/tests/textMark.test +++ b/tests/textMark.test @@ -141,6 +141,40 @@ test textMark-6.1 {TkTextMarkSegToIndex} -body { .t mark set d 1.4 list [.t index a] [.t index b] [.t index c ] [.t index d] } -result {1.2 1.2 1.2 1.4} +test textMark-6.2 {TkTextMarkNameToIndex, with mark outside -startline/-endline range - bug 1630271} -body { + .t mark set insert 1.0 + .t configure -startline 2 + set res [list [.t index insert] [.t index insert-1c] [.t get insert]] + .t mark set insert end + .t configure -endline 4 + lappend res [.t index insert] +} -cleanup { + .t configure -startline {} -endline {} +} -result {1.0 1.0 a 2.5} +test textMark-6.3 {TkTextMarkNameToIndex, with mark outside -startline/-endline range - bug 1630271} -body { + .t mark set mymark 1.0 + .t configure -startline 2 + list [catch {.t index mymark} msg] $msg +} -cleanup { + .t configure -startline {} -endline {} + .t mark unset mymark +} -result {1 {bad text index "mymark"}} +test textMark-6.4 {TkTextMarkNameToIndex, with mark outside -startline/-endline range - bug 1630271} -body { + .t mark set mymark 1.0 + .t configure -startline 2 + set res [list [catch {.t index mymark} msg] $msg] + lappend res [.pt index mymark] + .t configure -startline {} + .pt configure -startline 4 + lappend res [.t index mymark] + lappend res [catch {.pt index mymark} msg] $msg + lappend res [.t get mymark] + lappend res [catch {.pt get mymark} msg] $msg +} -cleanup { + .t configure -startline {} -endline {} + .pt configure -startline {} -endline {} + .t mark unset mymark +} -result {1 {bad text index "mymark"} 1.0 1.0 1 {bad text index "mymark"} L 1 {bad text index "mymark"}} test textMark-7.1 {MarkFindNext - invalid mark name} -body { .t mark next bogus @@ -193,8 +227,8 @@ test textMark-7.9 {MarkFindNext - mark set in a text widget and retrieved from a .t mark unset {*}[.t mark names] } -body { .t mark set mymark 1.0 - set res [list [.pt mark next 1.0] [.pt mark next mymark] [.pt mark next insert]] -} -result {mymark insert current} + lsort [list [.pt mark next 1.0] [.pt mark next mymark] [.pt mark next insert]] +} -result {current insert mymark} test textMark-8.1 {MarkFindPrev - invalid mark name} -body { .t mark prev bogus @@ -250,7 +284,7 @@ test textMark-8.9 {MarkFindPrev - mark set in a text widget and retrieved from a .t mark unset {*}[.t mark names] } -body { .t mark set mymark 1.0 - set res [list [.pt mark prev end] [.pt mark prev current] [.pt mark prev insert]] + lsort [list [.pt mark prev end] [.pt mark prev current] [.pt mark prev insert]] } -result {current insert mymark} destroy .pt |