[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog testsuite/server/PropertyListTe...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog testsuite/server/PropertyListTe... |
Date: |
Tue, 05 Feb 2008 18:16:55 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/02/05 18:16:54
Modified files:
. : ChangeLog
testsuite/server: PropertyListTest.cpp
Log message:
re-enable the tests, testing case-insensitive operations.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5564&r2=1.5565
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/server/PropertyListTest.cpp?cvsroot=gnash&r1=1.22&r2=1.23
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5564
retrieving revision 1.5565
diff -u -b -r1.5564 -r1.5565
--- ChangeLog 5 Feb 2008 16:14:28 -0000 1.5564
+++ ChangeLog 5 Feb 2008 18:16:53 -0000 1.5565
@@ -1,5 +1,7 @@
2008-02-05 Sandro Santilli <address@hidden>
+ * testsuite/server/PropertyListTest.cpp: re-enable the tests,
+ testing case-insensitive operations.
* testsuite/generic-testrunner.sh: don't write a logfile in the
same dir of the testcase, use the builddir instead.
Index: testsuite/server/PropertyListTest.cpp
===================================================================
RCS file: /sources/gnash/gnash/testsuite/server/PropertyListTest.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- testsuite/server/PropertyListTest.cpp 29 Jan 2008 07:13:24 -0000
1.22
+++ testsuite/server/PropertyListTest.cpp 5 Feb 2008 18:16:54 -0000
1.23
@@ -50,9 +50,12 @@
gnashInit();
boost::intrusive_ptr<movie_definition> md5 ( new
DummyMovieDefinition(5) );
- boost::intrusive_ptr<movie_definition> md6 ( new
DummyMovieDefinition(6) );
+ boost::intrusive_ptr<movie_definition> md7 ( new
DummyMovieDefinition(7) );
+
+ // TODO: test both SWF5 and SWF7 as they are different !!
ManualClock clock;
+
VM& vm = VM::init(*md5, clock);
vm.getRoot().setRootMovie( md5->create_movie_instance() );
@@ -68,7 +71,7 @@
string_table& st = vm.getStringTable();
- if (vm.getSWFVersion() > 6) // Below 7 is not case sensitive.
+ if (vm.getSWFVersion() > 6) // SWF 7 or higher is case sensitive.
{
check_equals(props.size(), 0);
check ( props.setValue(st.find("Var0"), val, obj) );
@@ -123,6 +126,67 @@
check_equals( vals["var0"], "value3" );
check_equals( vals["Var0"], "value2" );
check_equals( vals["var1"], "value" );
- } // end version specific
+
+ }
+ else
+ {
+ // Below SWF or is not case sensitive.
+
+ check_equals(props.size(), 0);
+ check ( props.setValue(st.find("Var0"), val, obj) );
+ check_equals(props.size(), 1);
+
+ check ( props.getValue(st.find("Var0"), ret, obj) );
+ check_equals ( ret, val );
+
+ // search should be case-insensitive
+ check ( props.getValue(st.find("var0"), ret, obj) );
+ check_equals ( ret, val );
+
+ // new value overrides existing value
+ check ( props.setValue(st.find("Var0"), val2, obj) );
+ check_equals(props.size(), 1);
+ check ( props.getValue(st.find("Var0"), ret, obj) );
+ check_equals ( ret, val2 );
+
+ // case-insensitive setting value should override existing value
+ check ( props.setValue(st.find("var0"), val3, obj) );
+ check_equals(props.size(), 1);
+ check ( props.getValue(st.find("vAr0"), ret, obj) );
+ check_equals ( ret, val3 );
+
+ // Now add some new labels
+ check ( props.setValue(st.find("var1"), val, obj) );
+ check_equals(props.size(), 2);
+ check ( props.setValue(st.find("var2"), val, obj) );
+ check_equals(props.size(), 3);
+ check ( props.setValue(st.find("var3"), val, obj) );
+ check_equals(props.size(), 4);
+
+ // Test deletion of properties
+
+ // this succeeds
+ check(props.delProperty(st.find("var3")).second);
+ check_equals(props.size(), 3);
+
+ // this fails (non existent property)
+ check(!props.delProperty(st.find("non-existent")).first);
+ check_equals(props.size(), 3);
+
+ // Set property var2 as protected from deletion!
+ check(props.setFlags(st.find("var2"),
as_prop_flags::dontDelete, 0));
+ // this fails (protected from deletion)
+ std::pair<bool, bool> delpair =
props.delProperty(st.find("var2"));
+ check_equals(delpair.first, true); // property was found
+ check_equals(delpair.second, false); // property was NOT deleted
+ check_equals(props.size(), 3);
+
+ std::map<std::string, std::string> vals;
+ props.enumerateKeyValue(obj, vals);
+ check_equals( vals.size(), 3 );
+ check_equals( vals["Var0"], "value3" );
+ check_equals( vals["var1"], "value" );
+ check_equals( vals["var2"], "value" );
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog testsuite/server/PropertyListTe...,
Sandro Santilli <=