| 1 | # registry.test -- |
|---|
| 2 | # |
|---|
| 3 | # This file contains a collection of tests for the registry command. |
|---|
| 4 | # Sourcing this file into Tcl runs the tests and generates output for |
|---|
| 5 | # errors. No output means no errors were found. |
|---|
| 6 | # |
|---|
| 7 | # In order for these tests to run, the registry package must be on the |
|---|
| 8 | # auto_path or the registry package must have been loaded already. |
|---|
| 9 | # |
|---|
| 10 | # Copyright (c) 1997 by Sun Microsystems, Inc. All rights reserved. |
|---|
| 11 | # Copyright (c) 1998-1999 by Scriptics Corporation. |
|---|
| 12 | # |
|---|
| 13 | # RCS: @(#) $Id: registry.test,v 1.21 2007/04/20 13:39:04 dkf Exp $ |
|---|
| 14 | |
|---|
| 15 | if {[lsearch [namespace children] ::tcltest] == -1} { |
|---|
| 16 | package require tcltest 2 |
|---|
| 17 | namespace import -force ::tcltest::* |
|---|
| 18 | } |
|---|
| 19 | |
|---|
| 20 | testConstraint reg 0 |
|---|
| 21 | if {[testConstraint win]} { |
|---|
| 22 | catch { |
|---|
| 23 | # Is the registry extension already static to this shell? |
|---|
| 24 | if [catch {load {} Registry; set ::reglib {}}] { |
|---|
| 25 | # try the location given to use on the commandline to tcltest |
|---|
| 26 | ::tcltest::loadTestedCommands |
|---|
| 27 | load $::reglib Registry |
|---|
| 28 | } |
|---|
| 29 | testConstraint reg 1 |
|---|
| 30 | } |
|---|
| 31 | } |
|---|
| 32 | |
|---|
| 33 | # determine the current locale |
|---|
| 34 | testConstraint english [expr { |
|---|
| 35 | [llength [info commands testlocale]] |
|---|
| 36 | && [string match "English*" [testlocale all ""]] |
|---|
| 37 | }] |
|---|
| 38 | |
|---|
| 39 | test registry-1.1 {argument parsing for registry command} {win reg} { |
|---|
| 40 | list [catch {registry} msg] $msg |
|---|
| 41 | } {1 {wrong # args: should be "registry option ?arg arg ...?"}} |
|---|
| 42 | test registry-1.2 {argument parsing for registry command} {win reg} { |
|---|
| 43 | list [catch {registry foo} msg] $msg |
|---|
| 44 | } {1 {bad option "foo": must be broadcast, delete, get, keys, set, type, or values}} |
|---|
| 45 | |
|---|
| 46 | test registry-1.3 {argument parsing for registry command} {win reg} { |
|---|
| 47 | list [catch {registry d} msg] $msg |
|---|
| 48 | } {1 {wrong # args: should be "registry delete keyName ?valueName?"}} |
|---|
| 49 | test registry-1.4 {argument parsing for registry command} {win reg} { |
|---|
| 50 | list [catch {registry delete} msg] $msg |
|---|
| 51 | } {1 {wrong # args: should be "registry delete keyName ?valueName?"}} |
|---|
| 52 | test registry-1.5 {argument parsing for registry command} {win reg} { |
|---|
| 53 | list [catch {registry delete foo bar baz} msg] $msg |
|---|
| 54 | } {1 {wrong # args: should be "registry delete keyName ?valueName?"}} |
|---|
| 55 | |
|---|
| 56 | test registry-1.6 {argument parsing for registry command} {win reg} { |
|---|
| 57 | list [catch {registry g} msg] $msg |
|---|
| 58 | } {1 {wrong # args: should be "registry get keyName valueName"}} |
|---|
| 59 | test registry-1.7 {argument parsing for registry command} {win reg} { |
|---|
| 60 | list [catch {registry get} msg] $msg |
|---|
| 61 | } {1 {wrong # args: should be "registry get keyName valueName"}} |
|---|
| 62 | test registry-1.8 {argument parsing for registry command} {win reg} { |
|---|
| 63 | list [catch {registry get foo} msg] $msg |
|---|
| 64 | } {1 {wrong # args: should be "registry get keyName valueName"}} |
|---|
| 65 | test registry-1.9 {argument parsing for registry command} {win reg} { |
|---|
| 66 | list [catch {registry get foo bar baz} msg] $msg |
|---|
| 67 | } {1 {wrong # args: should be "registry get keyName valueName"}} |
|---|
| 68 | |
|---|
| 69 | test registry-1.10 {argument parsing for registry command} {win reg} { |
|---|
| 70 | list [catch {registry k} msg] $msg |
|---|
| 71 | } {1 {wrong # args: should be "registry keys keyName ?pattern?"}} |
|---|
| 72 | test registry-1.11 {argument parsing for registry command} {win reg} { |
|---|
| 73 | list [catch {registry keys} msg] $msg |
|---|
| 74 | } {1 {wrong # args: should be "registry keys keyName ?pattern?"}} |
|---|
| 75 | test registry-1.12 {argument parsing for registry command} {win reg} { |
|---|
| 76 | list [catch {registry keys foo bar baz} msg] $msg |
|---|
| 77 | } {1 {wrong # args: should be "registry keys keyName ?pattern?"}} |
|---|
| 78 | |
|---|
| 79 | test registry-1.13 {argument parsing for registry command} {win reg} { |
|---|
| 80 | list [catch {registry s} msg] $msg |
|---|
| 81 | } {1 {wrong # args: should be "registry set keyName ?valueName data ?type??"}} |
|---|
| 82 | test registry-1.14 {argument parsing for registry command} {win reg} { |
|---|
| 83 | list [catch {registry set} msg] $msg |
|---|
| 84 | } {1 {wrong # args: should be "registry set keyName ?valueName data ?type??"}} |
|---|
| 85 | test registry-1.15 {argument parsing for registry command} {win reg} { |
|---|
| 86 | list [catch {registry set foo bar} msg] $msg |
|---|
| 87 | } {1 {wrong # args: should be "registry set keyName ?valueName data ?type??"}} |
|---|
| 88 | test registry-1.16 {argument parsing for registry command} {win reg} { |
|---|
| 89 | list [catch {registry set foo bar baz blat gorp} msg] $msg |
|---|
| 90 | } {1 {wrong # args: should be "registry set keyName ?valueName data ?type??"}} |
|---|
| 91 | |
|---|
| 92 | test registry-1.17 {argument parsing for registry command} {win reg} { |
|---|
| 93 | list [catch {registry t} msg] $msg |
|---|
| 94 | } {1 {wrong # args: should be "registry type keyName valueName"}} |
|---|
| 95 | test registry-1.18 {argument parsing for registry command} {win reg} { |
|---|
| 96 | list [catch {registry type} msg] $msg |
|---|
| 97 | } {1 {wrong # args: should be "registry type keyName valueName"}} |
|---|
| 98 | test registry-1.19 {argument parsing for registry command} {win reg} { |
|---|
| 99 | list [catch {registry type foo} msg] $msg |
|---|
| 100 | } {1 {wrong # args: should be "registry type keyName valueName"}} |
|---|
| 101 | test registry-1.20 {argument parsing for registry command} {win reg} { |
|---|
| 102 | list [catch {registry type foo bar baz} msg] $msg |
|---|
| 103 | } {1 {wrong # args: should be "registry type keyName valueName"}} |
|---|
| 104 | |
|---|
| 105 | test registry-1.21 {argument parsing for registry command} {win reg} { |
|---|
| 106 | list [catch {registry v} msg] $msg |
|---|
| 107 | } {1 {wrong # args: should be "registry values keyName ?pattern?"}} |
|---|
| 108 | test registry-1.22 {argument parsing for registry command} {win reg} { |
|---|
| 109 | list [catch {registry values} msg] $msg |
|---|
| 110 | } {1 {wrong # args: should be "registry values keyName ?pattern?"}} |
|---|
| 111 | test registry-1.23 {argument parsing for registry command} {win reg} { |
|---|
| 112 | list [catch {registry values foo bar baz} msg] $msg |
|---|
| 113 | } {1 {wrong # args: should be "registry values keyName ?pattern?"}} |
|---|
| 114 | |
|---|
| 115 | test registry-2.1 {DeleteKey: bad key} {win reg} { |
|---|
| 116 | list [catch {registry delete foo} msg] $msg |
|---|
| 117 | } {1 {bad root name "foo": must be HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA, or HKEY_DYN_DATA}} |
|---|
| 118 | test registry-2.2 {DeleteKey: bad key} {win reg} { |
|---|
| 119 | list [catch {registry delete HKEY_CLASSES_ROOT} msg] $msg |
|---|
| 120 | } {1 {bad key: cannot delete root keys}} |
|---|
| 121 | test registry-2.3 {DeleteKey: bad key} {win reg} { |
|---|
| 122 | list [catch {registry delete HKEY_CLASSES_ROOT\\} msg] $msg |
|---|
| 123 | } {1 {bad key: cannot delete root keys}} |
|---|
| 124 | test registry-2.4 {DeleteKey: subkey at root level} {win reg} { |
|---|
| 125 | registry set HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 126 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 127 | registry keys HKEY_CLASSES_ROOT TclFoobar |
|---|
| 128 | } {} |
|---|
| 129 | test registry-2.5 {DeleteKey: subkey below root level} {win reg} { |
|---|
| 130 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test |
|---|
| 131 | registry delete HKEY_CLASSES_ROOT\\TclFoobar\\test |
|---|
| 132 | set result [registry keys HKEY_CLASSES_ROOT TclFoobar\\test] |
|---|
| 133 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 134 | set result |
|---|
| 135 | } {} |
|---|
| 136 | test registry-2.6 {DeleteKey: recursive delete} {win reg} { |
|---|
| 137 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test1 |
|---|
| 138 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test2\\test3 |
|---|
| 139 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 140 | set result [registry keys HKEY_CLASSES_ROOT TclFoobar] |
|---|
| 141 | set result |
|---|
| 142 | } {} |
|---|
| 143 | test registry-2.7 {DeleteKey: trailing backslashes} {win reg english} { |
|---|
| 144 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz |
|---|
| 145 | list [catch {registry delete HKEY_CLASSES_ROOT\\TclFoobar\\} msg] $msg |
|---|
| 146 | } {1 {unable to delete key: The configuration registry key is invalid.}} |
|---|
| 147 | test registry-2.8 {DeleteKey: failure} {win reg} { |
|---|
| 148 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 149 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 150 | } {} |
|---|
| 151 | test registry-2.9 {DeleteKey: unicode} {win reg} { |
|---|
| 152 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 153 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test\u00c7bar\\a |
|---|
| 154 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test\u00c7bar\\b |
|---|
| 155 | registry delete HKEY_CLASSES_ROOT\\TclFoobar\\test\u00c7bar |
|---|
| 156 | set result [registry keys HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 157 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 158 | set result |
|---|
| 159 | } {} |
|---|
| 160 | |
|---|
| 161 | test registry-3.1 {DeleteValue} {win reg} { |
|---|
| 162 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 163 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz test1 blort |
|---|
| 164 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz test2 blat |
|---|
| 165 | registry delete HKEY_CLASSES_ROOT\\TclFoobar\\baz test1 |
|---|
| 166 | set result [registry values HKEY_CLASSES_ROOT\\TclFoobar\\baz] |
|---|
| 167 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 168 | set result |
|---|
| 169 | } test2 |
|---|
| 170 | test registry-3.2 {DeleteValue: bad key} {win reg english} { |
|---|
| 171 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 172 | list [catch {registry delete HKEY_CLASSES_ROOT\\TclFoobar test} msg] $msg |
|---|
| 173 | } {1 {unable to open key: The system cannot find the file specified.}} |
|---|
| 174 | test registry-3.3 {DeleteValue: bad value} {win reg english} { |
|---|
| 175 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 176 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz test2 blort |
|---|
| 177 | set result [list [catch {registry delete HKEY_CLASSES_ROOT\\TclFoobar test1} msg] $msg] |
|---|
| 178 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 179 | set result |
|---|
| 180 | } {1 {unable to delete value "test1" from key "HKEY_CLASSES_ROOT\TclFoobar": The system cannot find the file specified.}} |
|---|
| 181 | test registry-3.4 {DeleteValue: Unicode} {win reg} { |
|---|
| 182 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 183 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\\u00c7baz \u00c7test1 blort |
|---|
| 184 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\\u00c7baz test2 blat |
|---|
| 185 | registry delete HKEY_CLASSES_ROOT\\TclFoobar\\\u00c7baz \u00c7test1 |
|---|
| 186 | set result [registry values HKEY_CLASSES_ROOT\\TclFoobar\\\u00c7baz] |
|---|
| 187 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 188 | set result |
|---|
| 189 | } test2 |
|---|
| 190 | |
|---|
| 191 | test registry-4.1 {GetKeyNames: bad key} {win reg english} { |
|---|
| 192 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 193 | list [catch {registry keys HKEY_CLASSES_ROOT\\TclFoobar} msg] $msg |
|---|
| 194 | } {1 {unable to open key: The system cannot find the file specified.}} |
|---|
| 195 | test registry-4.2 {GetKeyNames} {win reg} { |
|---|
| 196 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 197 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz |
|---|
| 198 | set result [registry keys HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 199 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 200 | set result |
|---|
| 201 | } {baz} |
|---|
| 202 | test registry-4.3 {GetKeyNames: remote key} {win reg nonPortable english} { |
|---|
| 203 | set hostname [info hostname] |
|---|
| 204 | registry set \\\\$hostname\\HKEY_CLASSES_ROOT\\TclFoobar\\baz |
|---|
| 205 | set result [registry keys \\\\gaspode\\HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 206 | registry delete \\\\$hostname\\HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 207 | set result |
|---|
| 208 | } {baz} |
|---|
| 209 | test registry-4.4 {GetKeyNames: empty key} {win reg} { |
|---|
| 210 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 211 | registry set HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 212 | set result [registry keys HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 213 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 214 | set result |
|---|
| 215 | } {} |
|---|
| 216 | test registry-4.5 {GetKeyNames: patterns} {win reg} { |
|---|
| 217 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 218 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz |
|---|
| 219 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\blat |
|---|
| 220 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\foo |
|---|
| 221 | set result [lsort [registry keys HKEY_CLASSES_ROOT\\TclFoobar b*]] |
|---|
| 222 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 223 | set result |
|---|
| 224 | } {baz blat} |
|---|
| 225 | test registry-4.6 {GetKeyNames: names with spaces} {win reg} { |
|---|
| 226 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 227 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz\ bar |
|---|
| 228 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\blat |
|---|
| 229 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\foo |
|---|
| 230 | set result [lsort [registry keys HKEY_CLASSES_ROOT\\TclFoobar b*]] |
|---|
| 231 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 232 | set result |
|---|
| 233 | } {{baz bar} blat} |
|---|
| 234 | test registry-4.7 {GetKeyNames: Unicode} {win reg english} { |
|---|
| 235 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 236 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz\u00c7bar |
|---|
| 237 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\blat |
|---|
| 238 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\foo |
|---|
| 239 | set result [lsort [registry keys HKEY_CLASSES_ROOT\\TclFoobar b*]] |
|---|
| 240 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 241 | set result |
|---|
| 242 | } "baz\u00c7bar blat" |
|---|
| 243 | test registry-4.8 {GetKeyNames: Unicode} {win reg nt} { |
|---|
| 244 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 245 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz\u30b7bar |
|---|
| 246 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\blat |
|---|
| 247 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\foo |
|---|
| 248 | set result [lsort [registry keys HKEY_CLASSES_ROOT\\TclFoobar b*]] |
|---|
| 249 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 250 | set result |
|---|
| 251 | } "baz\u30b7bar blat" |
|---|
| 252 | test registry-4.9 {GetKeyNames: very long key [Bug 1682211]} {*}{ |
|---|
| 253 | -constraints {win reg} |
|---|
| 254 | -setup { |
|---|
| 255 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\a |
|---|
| 256 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\b[string repeat x 254] |
|---|
| 257 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\c |
|---|
| 258 | } |
|---|
| 259 | -body { |
|---|
| 260 | lsort [registry keys HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 261 | } |
|---|
| 262 | -cleanup { |
|---|
| 263 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 264 | }} \ |
|---|
| 265 | -result [list a b[string repeat x 254] c] |
|---|
| 266 | |
|---|
| 267 | test registry-5.1 {GetType} {win reg english} { |
|---|
| 268 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 269 | list [catch {registry type HKEY_CLASSES_ROOT\\TclFoobar val1} msg] $msg |
|---|
| 270 | } {1 {unable to open key: The system cannot find the file specified.}} |
|---|
| 271 | test registry-5.2 {GetType} {win reg english} { |
|---|
| 272 | registry set HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 273 | list [catch {registry type HKEY_CLASSES_ROOT\\TclFoobar val1} msg] $msg |
|---|
| 274 | } {1 {unable to get type of value "val1" from key "HKEY_CLASSES_ROOT\TclFoobar": The system cannot find the file specified.}} |
|---|
| 275 | test registry-5.3 {GetType} {win reg} { |
|---|
| 276 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar none |
|---|
| 277 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 278 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 279 | set result |
|---|
| 280 | } none |
|---|
| 281 | test registry-5.4 {GetType} {win reg} { |
|---|
| 282 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar |
|---|
| 283 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 284 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 285 | set result |
|---|
| 286 | } sz |
|---|
| 287 | test registry-5.5 {GetType} {win reg} { |
|---|
| 288 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar sz |
|---|
| 289 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 290 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 291 | set result |
|---|
| 292 | } sz |
|---|
| 293 | test registry-5.6 {GetType} {win reg} { |
|---|
| 294 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar expand_sz |
|---|
| 295 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 296 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 297 | set result |
|---|
| 298 | } expand_sz |
|---|
| 299 | test registry-5.7 {GetType} {win reg} { |
|---|
| 300 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 binary |
|---|
| 301 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 302 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 303 | set result |
|---|
| 304 | } binary |
|---|
| 305 | test registry-5.8 {GetType} {win reg} { |
|---|
| 306 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 dword |
|---|
| 307 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 308 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 309 | set result |
|---|
| 310 | } dword |
|---|
| 311 | test registry-5.9 {GetType} {win reg} { |
|---|
| 312 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 dword_big_endian |
|---|
| 313 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 314 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 315 | set result |
|---|
| 316 | } dword_big_endian |
|---|
| 317 | test registry-5.10 {GetType} {win reg} { |
|---|
| 318 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 link |
|---|
| 319 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 320 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 321 | set result |
|---|
| 322 | } link |
|---|
| 323 | test registry-5.11 {GetType} {win reg} { |
|---|
| 324 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar multi_sz |
|---|
| 325 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 326 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 327 | set result |
|---|
| 328 | } multi_sz |
|---|
| 329 | test registry-5.12 {GetType} {win reg} { |
|---|
| 330 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 resource_list |
|---|
| 331 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 332 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 333 | set result |
|---|
| 334 | } resource_list |
|---|
| 335 | test registry-5.13 {GetType: unknown types} {win reg} { |
|---|
| 336 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 24 |
|---|
| 337 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 338 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 339 | set result |
|---|
| 340 | } 24 |
|---|
| 341 | test registry-5.14 {GetType: Unicode} {win reg} { |
|---|
| 342 | registry set HKEY_CLASSES_ROOT\\TclFoobar va\u00c7l1 1 24 |
|---|
| 343 | set result [registry type HKEY_CLASSES_ROOT\\TclFoobar va\u00c7l1] |
|---|
| 344 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 345 | set result |
|---|
| 346 | } 24 |
|---|
| 347 | |
|---|
| 348 | test registry-6.1 {GetValue} {win reg english} { |
|---|
| 349 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 350 | list [catch {registry get HKEY_CLASSES_ROOT\\TclFoobar val1} msg] $msg |
|---|
| 351 | } {1 {unable to open key: The system cannot find the file specified.}} |
|---|
| 352 | test registry-6.2 {GetValue} {win reg english} { |
|---|
| 353 | registry set HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 354 | list [catch {registry get HKEY_CLASSES_ROOT\\TclFoobar val1} msg] $msg |
|---|
| 355 | } {1 {unable to get value "val1" from key "HKEY_CLASSES_ROOT\TclFoobar": The system cannot find the file specified.}} |
|---|
| 356 | test registry-6.3 {GetValue} {win reg} { |
|---|
| 357 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar none |
|---|
| 358 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 359 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 360 | set result |
|---|
| 361 | } foobar |
|---|
| 362 | test registry-6.4 {GetValue} {win reg} { |
|---|
| 363 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar |
|---|
| 364 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 365 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 366 | set result |
|---|
| 367 | } foobar |
|---|
| 368 | test registry-6.5 {GetValue} {win reg} { |
|---|
| 369 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar sz |
|---|
| 370 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 371 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 372 | set result |
|---|
| 373 | } foobar |
|---|
| 374 | test registry-6.6 {GetValue} {win reg} { |
|---|
| 375 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar expand_sz |
|---|
| 376 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 377 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 378 | set result |
|---|
| 379 | } foobar |
|---|
| 380 | test registry-6.7 {GetValue} {win reg} { |
|---|
| 381 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 binary |
|---|
| 382 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 383 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 384 | set result |
|---|
| 385 | } 1 |
|---|
| 386 | test registry-6.8 {GetValue} {win reg} { |
|---|
| 387 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 0x20 dword |
|---|
| 388 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 389 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 390 | set result |
|---|
| 391 | } 32 |
|---|
| 392 | test registry-6.9 {GetValue} {win reg} { |
|---|
| 393 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 0x20 dword_big_endian |
|---|
| 394 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 395 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 396 | set result |
|---|
| 397 | } 32 |
|---|
| 398 | test registry-6.10 {GetValue} {win reg} { |
|---|
| 399 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 link |
|---|
| 400 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 401 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 402 | set result |
|---|
| 403 | } 1 |
|---|
| 404 | test registry-6.11 {GetValue} {win reg} { |
|---|
| 405 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 foobar multi_sz |
|---|
| 406 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 407 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 408 | set result |
|---|
| 409 | } foobar |
|---|
| 410 | test registry-6.12 {GetValue} {win reg} { |
|---|
| 411 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 {foo\ bar baz} multi_sz |
|---|
| 412 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 413 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 414 | set result |
|---|
| 415 | } {{foo bar} baz} |
|---|
| 416 | test registry-6.13 {GetValue} {win reg} { |
|---|
| 417 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 {} multi_sz |
|---|
| 418 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 419 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 420 | set result |
|---|
| 421 | } {} |
|---|
| 422 | test registry-6.14 {GetValue: truncation of multivalues with null elements} \ |
|---|
| 423 | {win reg} { |
|---|
| 424 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 {a {} b} multi_sz |
|---|
| 425 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 426 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 427 | set result |
|---|
| 428 | } a |
|---|
| 429 | test registry-6.15 {GetValue} {win reg} { |
|---|
| 430 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 resource_list |
|---|
| 431 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 432 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 433 | set result |
|---|
| 434 | } 1 |
|---|
| 435 | test registry-6.16 {GetValue: unknown types} {win reg} { |
|---|
| 436 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 1 24 |
|---|
| 437 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 438 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 439 | set result |
|---|
| 440 | } 1 |
|---|
| 441 | test registry-6.17 {GetValue: Unicode value names} {win reg} { |
|---|
| 442 | registry set HKEY_CLASSES_ROOT\\TclFoobar val\u00c71 foobar multi_sz |
|---|
| 443 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val\u00c71] |
|---|
| 444 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 445 | set result |
|---|
| 446 | } foobar |
|---|
| 447 | test registry-6.18 {GetValue: values with Unicode strings} {win reg nt} { |
|---|
| 448 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 {foo ba\u30b7r baz} multi_sz |
|---|
| 449 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 450 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 451 | set result |
|---|
| 452 | } "foo ba\u30b7r baz" |
|---|
| 453 | test registry-6.19 {GetValue: values with Unicode strings} {win reg english} { |
|---|
| 454 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 {foo ba\u00c7r baz} multi_sz |
|---|
| 455 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 456 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 457 | set result |
|---|
| 458 | } "foo ba\u00c7r baz" |
|---|
| 459 | test registry-6.20 {GetValue: values with Unicode strings with embedded nulls} {win reg} { |
|---|
| 460 | registry set HKEY_CLASSES_ROOT\\TclFoobar val1 {foo ba\u0000r baz} multi_sz |
|---|
| 461 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar val1] |
|---|
| 462 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 463 | set result |
|---|
| 464 | } "foo ba r baz" |
|---|
| 465 | |
|---|
| 466 | test registry-7.1 {GetValueNames: bad key} {win reg english} { |
|---|
| 467 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 468 | list [catch {registry values HKEY_CLASSES_ROOT\\TclFoobar} msg] $msg |
|---|
| 469 | } {1 {unable to open key: The system cannot find the file specified.}} |
|---|
| 470 | test registry-7.2 {GetValueNames} {win reg} { |
|---|
| 471 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 472 | registry set HKEY_CLASSES_ROOT\\TclFoobar baz foobar |
|---|
| 473 | set result [registry values HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 474 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 475 | set result |
|---|
| 476 | } baz |
|---|
| 477 | test registry-7.3 {GetValueNames} {win reg} { |
|---|
| 478 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 479 | registry set HKEY_CLASSES_ROOT\\TclFoobar baz foobar1 |
|---|
| 480 | registry set HKEY_CLASSES_ROOT\\TclFoobar blat foobar2 |
|---|
| 481 | registry set HKEY_CLASSES_ROOT\\TclFoobar {} foobar3 |
|---|
| 482 | set result [lsort [registry values HKEY_CLASSES_ROOT\\TclFoobar]] |
|---|
| 483 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 484 | set result |
|---|
| 485 | } {{} baz blat} |
|---|
| 486 | test registry-7.4 {GetValueNames: remote key} {win reg nonPortable english} { |
|---|
| 487 | set hostname [info hostname] |
|---|
| 488 | registry set \\\\$hostname\\HKEY_CLASSES_ROOT\\TclFoobar baz blat |
|---|
| 489 | set result [registry values \\\\$hostname\\HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 490 | registry delete \\\\$hostname\\HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 491 | set result |
|---|
| 492 | } baz |
|---|
| 493 | test registry-7.5 {GetValueNames: empty key} {win reg} { |
|---|
| 494 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 495 | registry set HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 496 | set result [registry values HKEY_CLASSES_ROOT\\TclFoobar] |
|---|
| 497 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 498 | set result |
|---|
| 499 | } {} |
|---|
| 500 | test registry-7.6 {GetValueNames: patterns} {win reg} { |
|---|
| 501 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 502 | registry set HKEY_CLASSES_ROOT\\TclFoobar baz foobar1 |
|---|
| 503 | registry set HKEY_CLASSES_ROOT\\TclFoobar blat foobar2 |
|---|
| 504 | registry set HKEY_CLASSES_ROOT\\TclFoobar foo foobar3 |
|---|
| 505 | set result [lsort [registry values HKEY_CLASSES_ROOT\\TclFoobar b*]] |
|---|
| 506 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 507 | set result |
|---|
| 508 | } {baz blat} |
|---|
| 509 | test registry-7.7 {GetValueNames: names with spaces} {win reg} { |
|---|
| 510 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 511 | registry set HKEY_CLASSES_ROOT\\TclFoobar baz\ bar foobar1 |
|---|
| 512 | registry set HKEY_CLASSES_ROOT\\TclFoobar blat foobar2 |
|---|
| 513 | registry set HKEY_CLASSES_ROOT\\TclFoobar foo foobar3 |
|---|
| 514 | set result [lsort [registry values HKEY_CLASSES_ROOT\\TclFoobar b*]] |
|---|
| 515 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 516 | set result |
|---|
| 517 | } {{baz bar} blat} |
|---|
| 518 | |
|---|
| 519 | test registry-8.1 {OpenSubKey} {win reg nonPortable english} { |
|---|
| 520 | # This test will only succeed if the current user does not have registry |
|---|
| 521 | # access on the specified machine. |
|---|
| 522 | list [catch {registry keys {\\mom\HKEY_LOCAL_MACHINE}} msg] $msg |
|---|
| 523 | } {1 {unable to open key: Access is denied.}} |
|---|
| 524 | test registry-8.2 {OpenSubKey} {win reg} { |
|---|
| 525 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 526 | registry set HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 527 | set result [registry keys HKEY_CLASSES_ROOT TclFoobar] |
|---|
| 528 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 529 | set result |
|---|
| 530 | } TclFoobar |
|---|
| 531 | test registry-8.3 {OpenSubKey} {win reg english} { |
|---|
| 532 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 533 | list [catch {registry keys HKEY_CLASSES_ROOT\\TclFoobar} msg] $msg |
|---|
| 534 | } {1 {unable to open key: The system cannot find the file specified.}} |
|---|
| 535 | |
|---|
| 536 | test registry-9.1 {ParseKeyName: bad keys} {win reg} { |
|---|
| 537 | list [catch {registry values \\} msg] $msg |
|---|
| 538 | } "1 {bad key \"\\\": must start with a valid root}" |
|---|
| 539 | test registry-9.2 {ParseKeyName: bad keys} {win reg} { |
|---|
| 540 | list [catch {registry values \\foobar} msg] $msg |
|---|
| 541 | } {1 {bad key "\foobar": must start with a valid root}} |
|---|
| 542 | test registry-9.3 {ParseKeyName: bad keys} {win reg} { |
|---|
| 543 | list [catch {registry values \\\\} msg] $msg |
|---|
| 544 | } {1 {bad root name "": must be HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA, or HKEY_DYN_DATA}} |
|---|
| 545 | test registry-9.4 {ParseKeyName: bad keys} {win reg} { |
|---|
| 546 | list [catch {registry values \\\\\\} msg] $msg |
|---|
| 547 | } {1 {bad root name "": must be HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA, or HKEY_DYN_DATA}} |
|---|
| 548 | test registry-9.5 {ParseKeyName: bad keys} {win reg english nt} { |
|---|
| 549 | list [catch {registry values \\\\\\HKEY_CLASSES_ROOT} msg] $msg |
|---|
| 550 | } {1 {unable to open key: The network address is invalid.}} |
|---|
| 551 | test registry-9.6 {ParseKeyName: bad keys} {win reg} { |
|---|
| 552 | list [catch {registry values \\\\gaspode} msg] $msg |
|---|
| 553 | } {1 {bad root name "": must be HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA, or HKEY_DYN_DATA}} |
|---|
| 554 | test registry-9.7 {ParseKeyName: bad keys} {win reg} { |
|---|
| 555 | list [catch {registry values foobar} msg] $msg |
|---|
| 556 | } {1 {bad root name "foobar": must be HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA, or HKEY_DYN_DATA}} |
|---|
| 557 | test registry-9.8 {ParseKeyName: null keys} {win reg} { |
|---|
| 558 | list [catch {registry delete HKEY_CLASSES_ROOT\\} msg] $msg |
|---|
| 559 | } {1 {bad key: cannot delete root keys}} |
|---|
| 560 | test registry-9.9 {ParseKeyName: null keys} {win reg english} { |
|---|
| 561 | list [catch {registry keys HKEY_CLASSES_ROOT\\TclFoobar\\baz} msg] $msg |
|---|
| 562 | } {1 {unable to open key: The system cannot find the file specified.}} |
|---|
| 563 | |
|---|
| 564 | test registry-10.1 {RecursiveDeleteKey} {win reg} { |
|---|
| 565 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 566 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test1 |
|---|
| 567 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test2\\test3 |
|---|
| 568 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 569 | set result [registry keys HKEY_CLASSES_ROOT TclFoobar] |
|---|
| 570 | set result |
|---|
| 571 | } {} |
|---|
| 572 | test registry-10.2 {RecursiveDeleteKey} {win reg} { |
|---|
| 573 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 574 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test1 |
|---|
| 575 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\test2\\test3 |
|---|
| 576 | set result [registry delete HKEY_CLASSES_ROOT\\TclFoobar\\test2\\test4] |
|---|
| 577 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 578 | set result |
|---|
| 579 | } {} |
|---|
| 580 | |
|---|
| 581 | test registry-11.1 {SetValue: recursive creation} {win reg} { |
|---|
| 582 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 583 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz blat foobar |
|---|
| 584 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar\\baz blat] |
|---|
| 585 | } foobar |
|---|
| 586 | test registry-11.2 {SetValue: modification} {win reg} { |
|---|
| 587 | registry delete HKEY_CLASSES_ROOT\\TclFoobar |
|---|
| 588 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz blat foobar |
|---|
| 589 | registry set HKEY_CLASSES_ROOT\\TclFoobar\\baz blat frob |
|---|
| 590 | set result [registry get HKEY_CLASSES_ROOT\\TclFoobar\\baz blat] |
|---|
| 591 | } frob |
|---|
| 592 | test registry-11.3 {SetValue: failure} {win reg nonPortable english} { |
|---|
| 593 | # This test will only succeed if the current user does not have registry |
|---|
| 594 | # access on the specified machine. |
|---|
| 595 | list [catch {registry set {\\mom\HKEY_CLASSES_ROOT\TclFoobar} bar foobar} msg] $msg |
|---|
| 596 | } {1 {unable to open key: Access is denied.}} |
|---|
| 597 | |
|---|
| 598 | test registry-12.1 {BroadcastValue} {win reg} { |
|---|
| 599 | list [catch {registry broadcast} msg] $msg |
|---|
| 600 | } {1 {wrong # args: should be "registry broadcast keyName ?-timeout millisecs?"}} |
|---|
| 601 | test registry-12.2 {BroadcastValue} {win reg} { |
|---|
| 602 | list [catch {registry broadcast "" -time} msg] $msg |
|---|
| 603 | } {1 {wrong # args: should be "registry broadcast keyName ?-timeout millisecs?"}} |
|---|
| 604 | test registry-12.3 {BroadcastValue} {win reg} { |
|---|
| 605 | list [catch {registry broadcast "" - 500} msg] $msg |
|---|
| 606 | } {1 {wrong # args: should be "registry broadcast keyName ?-timeout millisecs?"}} |
|---|
| 607 | test registry-12.4 {BroadcastValue} {win reg} { |
|---|
| 608 | list [catch {registry broadcast {Environment}} msg] $msg |
|---|
| 609 | } {0 {1 0}} |
|---|
| 610 | test registry-12.5 {BroadcastValue} {win reg} { |
|---|
| 611 | list [catch {registry b {}} msg] $msg |
|---|
| 612 | } {0 {1 0}} |
|---|
| 613 | |
|---|
| 614 | # cleanup |
|---|
| 615 | ::tcltest::cleanupTests |
|---|
| 616 | return |
|---|
| 617 | |
|---|
| 618 | # Local Variables: |
|---|
| 619 | # mode: tcl |
|---|
| 620 | # tcl-indent-level: 4 |
|---|
| 621 | # fill-column: 78 |
|---|
| 622 | # End: |
|---|