0023275: restore command set name of result variable incorrectly if absolute path...
authorabv <abv@opencascade.com>
Thu, 1 Nov 2012 12:14:06 +0000 (16:14 +0400)
committeraba <aba@opencascade.com>
Fri, 2 Nov 2012 12:08:20 +0000 (16:08 +0400)
Command restore corrected to set default name of the shape equal to filename without extension
Test case added (demo draw restore)

src/DrawResources/StandardCommands.tcl
tests/demo/draw/restore [new file with mode: 0644]

index 1d16b4b..7a4f654 100755 (executable)
@@ -281,7 +281,10 @@ proc save {name {file ""}} {
 help save {save variable [filename]} "DRAW Variables management"
 
 proc restore {file {name ""}} {
-    if {$name == ""} {set name $file}
+    if {$name == ""} {
+        # if name is not given explicitly, use name of the file w/o extension
+        set name [file rootname [file tail $file]]
+    }
     global Draw_DataDir
     uplevel #0 "brestore [file join $Draw_DataDir $file ] $name"
     return $name
diff --git a/tests/demo/draw/restore b/tests/demo/draw/restore
new file mode 100644 (file)
index 0000000..5ac560c
--- /dev/null
@@ -0,0 +1,10 @@
+# check that restore command defines default name for the loaded shape
+# as base name of the file without extension
+
+restore [locate_data_file CCV-POUR-COPIER-COLLER.brep]
+
+if { ! [regexp {is a shape} [whatis CCV-POUR-COPIER-COLLER]] } {
+    puts "Error: no shape with name CCV-POUR-COPIER-COLLER after restore"
+}
+
+puts "TEST COMPLETED"