0029116: [Regression] OCAF attributes insertion order is violated again
authorvro <vro@opencascade.com>
Mon, 4 Jun 2018 07:47:18 +0000 (10:47 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 14 Jun 2018 11:03:10 +0000 (14:03 +0300)
src/QABugs/QABugs_19.cxx
src/TDF/TDF_Label.hxx
tests/caf/basic/B8

index 2926e7a..273b159 100644 (file)
@@ -1935,10 +1935,10 @@ static Standard_Integer OCC24755 (Draw_Interpretor& di, Standard_Integer n, cons
 
   TDF_AttributeIterator i (aLab);
   Handle(TDF_Attribute) anAttr = i.Value();
-  QCOMPARE (anAttr->IsKind (STANDARD_TYPE (TDataStd_Name)), Standard_True);
+  QCOMPARE (anAttr->IsKind (STANDARD_TYPE (TDataStd_Integer)), Standard_True);
   i.Next();
   anAttr = i.Value();
-  QCOMPARE (anAttr->IsKind (STANDARD_TYPE (TDataStd_Integer)), Standard_True);
+  QCOMPARE (anAttr->IsKind (STANDARD_TYPE (TDataStd_Name)), Standard_True);
   i.Next();
   anAttr = i.Value();
   QCOMPARE (anAttr->IsKind (STANDARD_TYPE (TDataStd_Real)), Standard_True);
index 00f7522..ab01f01 100644 (file)
@@ -117,7 +117,7 @@ public:
   
   //! Adds an Attribute  to the current label. Raises if
   //! there is already one.
-  Standard_EXPORT void AddAttribute (const Handle(TDF_Attribute)& anAttribute, const Standard_Boolean append = Standard_False) const;
+  Standard_EXPORT void AddAttribute (const Handle(TDF_Attribute)& anAttribute, const Standard_Boolean append = Standard_True) const;
   
   //! Forgets an  Attribute   from the  current  label,
   //! setting its   forgotten status true and  its valid
index bcd23d3..8fecfd6 100644 (file)
@@ -19,10 +19,10 @@ 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} {
+if { ${indexReal1} != 11} {
     puts "Error: Wrong position 1 of TDataStd_Real attribute."
 }
-if { ${indexInt1} != 11} {
+if { ${indexInt1} != 5} {
     puts "Error: Wrong position 1 of TDataStd_Integer attribute."
 }