0028973: Undo/Redo changes the order of some attributes
authorvro <vro@opencascade.com>
Mon, 7 Aug 2017 05:52:40 +0000 (08:52 +0300)
committerbugmaster <bugmaster@opencascade.com>
Tue, 8 Aug 2017 15:04:37 +0000 (18:04 +0300)
src/TDF/TDF_DefaultDeltaOnRemoval.cxx
tests/caf/basic/B8 [new file with mode: 0644]

index ca4a45b7fd5c1bc7c08ac0bb10eb4e9645a17578..3269a534fb4764f01e025f5b94ef6031577caed9 100644 (file)
@@ -42,5 +42,5 @@ TDF_DefaultDeltaOnRemoval::TDF_DefaultDeltaOnRemoval
 
 void TDF_DefaultDeltaOnRemoval::Apply() 
 {
-  Label().AddAttribute(Attribute());
+  Label().AddAttribute(Attribute(), Standard_True);
 }
diff --git a/tests/caf/basic/B8 b/tests/caf/basic/B8
new file mode 100644 (file)
index 0000000..bcd23d3
--- /dev/null
@@ -0,0 +1,41 @@
+#INTERFACE CAF
+# Basic attributes
+#
+# Testing order of attributes on Undo/Redo
+#
+# Testing command:   SetInteger
+# Testing command:   GetReal
+# Testing command:   Undo and Redo
+#
+
+puts "caf001-B8"
+
+NewCommand D
+SetInteger D 0:1 123
+SetReal D 0:1 123.321
+NewCommand D
+CheckLabel D 0:1
+
+set res1 [CheckLabel D 0:1]
+set indexReal1 [lsearch ${res1} TDataStd_Real]
+set indexInt1  [lsearch ${res1} TDataStd_Integer]
+if { ${indexReal1} != 5} {
+    puts "Error: Wrong position 1 of TDataStd_Real attribute."
+}
+if { ${indexInt1} != 11} {
+    puts "Error: Wrong position 1 of TDataStd_Integer attribute."
+}
+
+Undo D
+Redo D
+CheckLabel D 0:1
+
+set res2 [CheckLabel D 0:1]
+set indexReal2 [lsearch ${res2} TDataStd_Real]
+set indexInt2  [lsearch ${res2} TDataStd_Integer]
+if { ${indexReal1} != ${indexReal2}} {
+    puts "Error: Wrong position 2 of TDataStd_Real attribute."
+}
+if { ${indexInt1} != ${indexInt2}} {
+    puts "Error: Wrong position 2 of TDataStd_Integer attribute."
+}