From 095e90a2c5b150d48b15f49d161ebe2082e8750c Mon Sep 17 00:00:00 2001 From: vro Date: Mon, 7 Aug 2017 08:52:40 +0300 Subject: [PATCH] 0028973: Undo/Redo changes the order of some attributes --- src/TDF/TDF_DefaultDeltaOnRemoval.cxx | 2 +- tests/caf/basic/B8 | 41 +++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 tests/caf/basic/B8 diff --git a/src/TDF/TDF_DefaultDeltaOnRemoval.cxx b/src/TDF/TDF_DefaultDeltaOnRemoval.cxx index ca4a45b7fd..3269a534fb 100644 --- a/src/TDF/TDF_DefaultDeltaOnRemoval.cxx +++ b/src/TDF/TDF_DefaultDeltaOnRemoval.cxx @@ -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 index 0000000000..bcd23d371b --- /dev/null +++ b/tests/caf/basic/B8 @@ -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." +}