summaryrefslogtreecommitdiffstats
path: root/tests/scan.test
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2013-10-22 18:55:02 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2013-10-22 18:55:02 (GMT)
commit1c8937d85be2f327d881c29e203c46df34b9da08 (patch)
tree4a99121a110b0074997b0c840212381d383a00c1 /tests/scan.test
parent19365e8ffd408a387d99496423bd1d1ef04e492a (diff)
downloadtcl-1c8937d85be2f327d881c29e203c46df34b9da08.zip
tcl-1c8937d85be2f327d881c29e203c46df34b9da08.tar.gz
tcl-1c8937d85be2f327d881c29e203c46df34b9da08.tar.bz2
[3556215]: Made [scan] match [format] better in what it accepts as a format
string, by allowing uppercase %X, %E and %G.
Diffstat (limited to 'tests/scan.test')
-rw-r--r--tests/scan.test17
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/scan.test b/tests/scan.test
index d7b72d5..109746f 100644
--- a/tests/scan.test
+++ b/tests/scan.test
@@ -280,6 +280,12 @@ test scan-4.48 {Tcl_ScanObjCmd, float scanning} {
test scan-4.49 {Tcl_ScanObjCmd, float scanning} {
list [scan {.1 0.2 3.} {%e %f %g} x y z] $x $y $z
} {3 0.1 0.2 3.0}
+test scan-4.49-uc-1 {Tcl_ScanObjCmd, float scanning} {
+ list [scan {0.5*0.75} {%E%c%G} x y z] $x $y $z
+} {3 0.5 42 0.75}
+test scan-4.49-uc-2 {Tcl_ScanObjCmd, float scanning} {
+ list [scan {5e-1*75E-2} {%E%c%G} x y z] $x $y $z
+} {3 0.5 42 0.75}
test scan-4.50 {Tcl_ScanObjCmd, float scanning} {
list [scan {1234567890a} %f x] $x
} {1 1234567890.0}
@@ -359,6 +365,9 @@ test scan-4.63 {scanning of large and negative hex integers} {
list [scan $scanstring {%x %x %x} a b c] \
[expr { $a == -1 }] [expr { $b == $MIN_INT }] [expr { $c == $MAX_INT }]
} {3 1 1 1}
+test scan-4.64 {scanning of hex with %X} {
+ scan "123 abc f78" %X%X%X
+} {291 2748 3960}
# clean up from last two tests
@@ -515,14 +524,14 @@ test scan-8.4 {error conditions} {
list [catch {scan a %O x} msg] $msg
} {1 {bad scan conversion character "O"}}
test scan-8.5 {error conditions} {
- list [catch {scan a %X x} msg] $msg
-} {1 {bad scan conversion character "X"}}
+ list [catch {scan a %B x} msg] $msg
+} {1 {bad scan conversion character "B"}}
test scan-8.6 {error conditions} {
list [catch {scan a %F x} msg] $msg
} {1 {bad scan conversion character "F"}}
test scan-8.7 {error conditions} {
- list [catch {scan a %E x} msg] $msg
-} {1 {bad scan conversion character "E"}}
+ list [catch {scan a %p x} msg] $msg
+} {1 {bad scan conversion character "p"}}
test scan-8.8 {error conditions} {
list [catch {scan a "%d %d" a} msg] $msg
} {1 {different numbers of variable names and field specifiers}}