summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--tests/unixSelect.test108
2 files changed, 49 insertions, 67 deletions
diff --git a/ChangeLog b/ChangeLog
index 9e25d63..81830ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-10-30 Don Porter <dgp@users.sourceforge.net>
+
+ * tests/unixSelect.test: Revise the unixSelect-1.* tests so that
+ they test the ability of Tk's selection mechanism to faithfully pass
+ valid Tcl values without corruption, and stop testing details of
+ Tcl's internal encoding scheme. With this change, the Tk test suite
+ no longer uses the identity encoding or [string bytelength].
+
2008-10-30 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tk.h: CONSTify return value of
diff --git a/tests/unixSelect.test b/tests/unixSelect.test
index 08268b6..d2bcf50 100644
--- a/tests/unixSelect.test
+++ b/tests/unixSelect.test
@@ -9,7 +9,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: unixSelect.test,v 1.11 2008/08/30 21:52:26 aniap Exp $
+# RCS: @(#) $Id: unixSelect.test,v 1.12 2008/10/30 21:50:08 dgp Exp $
package require tcltest 2.2
namespace import ::tcltest::*
@@ -117,13 +117,13 @@ test unixSelect-1.1 {TkSelGetSelection procedure: simple i18n text} -constraints
} -body {
pack [entry .e]
update
- .e insert 0 [encoding convertfrom identity \u00fcber]
+ .e insert 0 \u00fcber
.e selection range 0 end
- dobg {string bytelength [selection get]}
+ dobg {string length [selection get]}
} -cleanup {
cleanupbg
destroy .e
-} -result {5}
+} -result {4}
test unixSelect-1.2 {TkSelGetSelection procedure: simple i18n text, iso8859-1} -constraints {
unix
@@ -136,12 +136,10 @@ test unixSelect-1.2 {TkSelGetSelection procedure: simple i18n text, iso8859-1} -
.e insert 0 \u00fc\u0444
.e selection range 0 end
}
- set x [selection get]
- list [string equal \u00fc? $x] \
- [string length $x] [string bytelength $x]
+ selection get
} -cleanup {
cleanupbg
-} -result {1 2 3}
+} -result \u00fc?
test unixSelect-1.3 {TkSelGetSelection procedure: simple i18n text, iso2022} -constraints {
unix
@@ -156,13 +154,12 @@ test unixSelect-1.3 {TkSelGetSelection procedure: simple i18n text, iso2022} -co
set selInfo {}
set result [dobg {
set x [selection get -type COMPOUND_TEXT]
- list [string equal \u00fc\u0444 $x] \
- [string length $x] [string bytelength $x]
+ list [string equal \u00fc\u0444 $x] [string length $x]
}]
lappend result $selInfo
} -cleanup {
cleanupbg
-} -result {1 2 4 {COMPOUND_TEXT 0 4000}}
+} -result {1 2 {COMPOUND_TEXT 0 4000}}
test unixSelect-1.4 {TkSelGetSelection procedure: INCR i18n text, iso2022} -constraints {
unix
@@ -183,12 +180,12 @@ test unixSelect-1.4 {TkSelGetSelection procedure: INCR i18n text, iso2022} -cons
set x [selection get -type COMPOUND_TEXT]
list [string equal \
[string repeat x 3999]\u00fc\u0444[string repeat x 3999] $x] \
- [string length $x] [string bytelength $x]
+ [string length $x]
}]
lappend result $selInfo
} -cleanup {
cleanupbg
-} -result {1 8000 8002 {COMPOUND_TEXT 0 4000 COMPOUND_TEXT 4000 3999 COMPOUND_TEXT 7998 4000 COMPOUND_TEXT 0 4000 COMPOUND_TEXT 4000 3998 COMPOUND_TEXT 7997 4000}}
+} -result {1 8000 {COMPOUND_TEXT 0 4000 COMPOUND_TEXT 4000 3999 COMPOUND_TEXT 7998 4000 COMPOUND_TEXT 0 4000 COMPOUND_TEXT 4000 3998 COMPOUND_TEXT 7997 4000}}
test unixSelect-1.5 {TkSelGetSelection procedure: simple i18n text, iso2022} -constraints {
unix
@@ -203,26 +200,25 @@ test unixSelect-1.5 {TkSelGetSelection procedure: simple i18n text, iso2022} -co
set selInfo {}
set result [dobg {
set x [selection get -type COMPOUND_TEXT]
- list [string equal \u00fc\u0444 $x] \
- [string length $x] [string bytelength $x]
+ list [string equal \u00fc\u0444 $x] [string length $x]
}]
lappend result $selInfo
} -cleanup {
cleanupbg
-} -result {1 2 4 {COMPOUND_TEXT 0 4000}}
+} -result {1 2 {COMPOUND_TEXT 0 4000}}
test unixSelect-1.6 {TkSelGetSelection procedure: INCR i18n text} -constraints {
unix
} -setup {
setupbg
} -body {
- dobg "entry .e; pack .e; update
- .e insert 0 \[encoding convertfrom identity \\u00fcber\]$longValue
- .e selection range 0 end"
- string bytelength [selection get]
+ dobg [subst -nobackslashes {entry .e; pack .e; update
+ .e insert 0 \u00fcber$longValue
+ .e selection range 0 end}]
+ string length [selection get]
} -cleanup {
cleanupbg
-} -result [expr {5 + [string bytelength $longValue]}]
+} -result [expr {4 + [string length $longValue]}]
test unixSelect-1.7 {TkSelGetSelection procedure: INCR i18n text} -constraints {
unix
@@ -235,12 +231,10 @@ test unixSelect-1.7 {TkSelGetSelection procedure: INCR i18n text} -constraints {
.e insert 0 [string repeat x 3999]\u00fc
.e selection range 0 end
}
- set x [selection get]
- list [string equal [string repeat x 3999]\u00fc $x] \
- [string length $x] [string bytelength $x]
+ selection get
} -cleanup {
cleanupbg
-} -result {1 4000 4001}
+} -result [string repeat x 3999]\u00fc
test unixSelect-1.8 {TkSelGetSelection procedure: INCR i18n text} -constraints {
unix
@@ -253,12 +247,10 @@ test unixSelect-1.8 {TkSelGetSelection procedure: INCR i18n text} -constraints {
.e insert 0 \u00fc[string repeat x 3999]
.e selection range 0 end
}
- set x [selection get]
- list [string equal \u00fc[string repeat x 3999] $x] \
- [string length $x] [string bytelength $x]
+ selection get
} -cleanup {
cleanupbg
-} -result {1 4000 4001}
+} -result \u00fc[string repeat x 3999]
test unixSelect-1.9 {TkSelGetSelection procedure: INCR i18n text} -constraints {
unix
@@ -271,12 +263,10 @@ test unixSelect-1.9 {TkSelGetSelection procedure: INCR i18n text} -constraints {
.e insert 0 [string repeat x 3999]\u00fc[string repeat x 4000]
.e selection range 0 end
}
- set x [selection get]
- list [string equal [string repeat x 3999]\u00fc[string repeat x 4000] $x] \
- [string length $x] [string bytelength $x]
+ selection get
} -cleanup {
cleanupbg
-} -result {1 8000 8001}
+} -result [string repeat x 3999]\u00fc[string repeat x 4000]
# Now some tests to make sure that the right thing is done when
# transferring UTF8 selections, to prevent [Bug 614650] and its ilk
# from rearing its ugly head again.
@@ -292,12 +282,10 @@ test unixSelect-1.10 {TkSelGetSelection procedure: INCR i18n text, utf-8} -const
.e insert 0 [string repeat x 3999]\u00fc
.e selection range 0 end
}
- set x [selection get -type UTF8_STRING]
- list [string equal [string repeat x 3999]\u00fc $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 4000 4001}
+} -result [string repeat x 3999]\u00fc
test unixSelect-1.11 {TkSelGetSelection procedure: INCR i18n text, utf-8} -constraints {
unix
@@ -310,12 +298,10 @@ test unixSelect-1.11 {TkSelGetSelection procedure: INCR i18n text, utf-8} -const
.e insert 0 \u00fc[string repeat x 3999]
.e selection range 0 end
}
- set x [selection get -type UTF8_STRING]
- list [string equal \u00fc[string repeat x 3999] $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 4000 4001}
+} -result \u00fc[string repeat x 3999]
test unixSelect-1.12 {TkSelGetSelection procedure: INCR i18n text, utf-8} -constraints {
unix
@@ -328,12 +314,10 @@ test unixSelect-1.12 {TkSelGetSelection procedure: INCR i18n text, utf-8} -const
.e insert 0 [string repeat x 3999]\u00fc[string repeat x 4000]
.e selection range 0 end
}
- set x [selection get -type UTF8_STRING]
- list [string equal [string repeat x 3999]\u00fc[string repeat x 4000] $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 8000 8001}
+} -result [string repeat x 3999]\u00fc[string repeat x 4000]
test unixSelect-1.13 {TkSelGetSelection procedure: simple i18n text, utf-8} -constraints {
unix
@@ -343,9 +327,9 @@ test unixSelect-1.13 {TkSelGetSelection procedure: simple i18n text, utf-8} -con
} -body {
pack [entry .e]
update
- .e insert 0 [encoding convertfrom identity \u00fcber\u0444]
+ .e insert 0 \u00fcber\u0444
.e selection range 0 end
- dobg {string bytelength [selection get -type UTF8_STRING]}
+ dobg {string length [selection get -type UTF8_STRING]}
} -cleanup {
destroy .e
cleanupbg
@@ -362,12 +346,10 @@ test unixSelect-1.14 {TkSelGetSelection procedure: simple i18n text, utf-8} -con
.e insert 0 \u00fc\u0444
.e selection range 0 end
}
- set x [selection get -type UTF8_STRING]
- list [string equal \u00fc\u0444 $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 2 4}
+} -result \u00fc\u0444
test unixSelect-1.15 {TkSelGetSelection procedure: INCR i18n text, utf-8} -constraints {
unix
@@ -380,12 +362,10 @@ test unixSelect-1.15 {TkSelGetSelection procedure: INCR i18n text, utf-8} -const
.e insert 0 [string repeat [string repeat \u00c4\u00e4 50]\n 21]
.e selection range 0 end
}
- set x [selection get -type UTF8_STRING]
- list [string equal [string repeat [string repeat \u00c4\u00e4 50]\n 21] $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 2121 4221}
+} -result [string repeat [string repeat \u00c4\u00e4 50]\n 21]
test unixSelect-1.16 {TkSelGetSelection procedure: INCR i18n text, utf-8} -constraints {
unix
@@ -398,12 +378,10 @@ test unixSelect-1.16 {TkSelGetSelection procedure: INCR i18n text, utf-8} -const
.e insert 0 i[string repeat [string repeat \u00c4\u00e4 50]\n 21]
.e selection range 0 end
}
- set x [selection get -type UTF8_STRING]
- list [string equal i[string repeat [string repeat \u00c4\u00e4 50]\n 21] $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 2122 4222}
+} -result i[string repeat [string repeat \u00c4\u00e4 50]\n 21]
test unixSelect-1.17 {TkSelGetSelection procedure: INCR i18n text, utf-8} -constraints {
unix
@@ -418,12 +396,10 @@ test unixSelect-1.17 {TkSelGetSelection procedure: INCR i18n text, utf-8} -const
.t tag add sel 1.0 21.end+1c
}
after 10
- set x [selection get -type UTF8_STRING]
- list [string equal [string repeat [string repeat \u00c4\u00e4 50]\n 21] $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 2121 4221}
+} -result [string repeat [string repeat \u00c4\u00e4 50]\n 21]
test unixSelect-1.18 {TkSelGetSelection procedure: INCR i18n text, utf-8} -constraints {
unix
@@ -438,12 +414,10 @@ test unixSelect-1.18 {TkSelGetSelection procedure: INCR i18n text, utf-8} -const
.t tag add sel 1.0 21.end+1c
}
after 10
- set x [selection get -type UTF8_STRING]
- list [string equal i[string repeat [string repeat \u00c4\u00e4 50]\n 21] $x] \
- [string length $x] [string bytelength $x]
+ selection get -type UTF8_STRING
} -cleanup {
cleanupbg
-} -result {1 2122 4222}
+} -result i[string repeat [string repeat \u00c4\u00e4 50]\n 21]
test unixSelect-1.19 {Automatic UTF8_STRING support for selection handle} -constraints {
unix