[Swfdec-commits] 8 commits - swfdec/swfdec_as_boolean.c swfdec/swfdec_as_strings.c swfdec/swfdec_loadvars_as.c swfdec/swfdec_net_stream.c test/gnash test/trace

Pekka Lampila medar at kemper.freedesktop.org
Wed Jul 9 01:39:48 PDT 2008


 dev/null                                                 |binary
 swfdec/swfdec_as_boolean.c                               |    2 
 swfdec/swfdec_as_strings.c                               |    2 
 swfdec/swfdec_loadvars_as.c                              |    9 
 swfdec/swfdec_net_stream.c                               |    4 
 test/gnash/actionscript.all/Boolean-5.swf                |binary
 test/gnash/actionscript.all/Boolean-5.swf.trace          |   32 ++
 test/gnash/actionscript.all/Boolean-6.swf                |binary
 test/gnash/actionscript.all/Boolean-6.swf.trace          |   32 ++
 test/gnash/actionscript.all/Boolean-7.swf                |binary
 test/gnash/actionscript.all/Boolean-7.swf.trace          |   32 ++
 test/gnash/actionscript.all/Boolean-8.swf                |binary
 test/gnash/actionscript.all/Boolean-8.swf.trace          |   32 ++
 test/gnash/actionscript.all/Boolean.as                   |  108 +++++++
 test/gnash/actionscript.all/LoadVars-5.swf               |binary
 test/gnash/actionscript.all/LoadVars-5.swf.trace         |    3 
 test/gnash/actionscript.all/LoadVars-6.swf               |binary
 test/gnash/actionscript.all/LoadVars-6.swf.trace         |   75 ++++
 test/gnash/actionscript.all/LoadVars-7.swf               |binary
 test/gnash/actionscript.all/LoadVars-7.swf.trace         |   75 ++++
 test/gnash/actionscript.all/LoadVars-8.swf               |binary
 test/gnash/actionscript.all/LoadVars-8.swf.trace         |   75 ++++
 test/gnash/actionscript.all/LoadVars.as                  |  222 ++++++++++++++
 test/gnash/actionscript.all/Makefile.am                  |   18 +
 test/gnash/actionscript.all/pending/Boolean-5.swf.trace  |   32 --
 test/gnash/actionscript.all/pending/Boolean-6.swf.trace  |   32 --
 test/gnash/actionscript.all/pending/Boolean-7.swf.trace  |   32 --
 test/gnash/actionscript.all/pending/Boolean-8.swf.trace  |   32 --
 test/gnash/actionscript.all/pending/Boolean.as           |  108 -------
 test/gnash/actionscript.all/pending/LoadVars-5.swf.trace |    3 
 test/gnash/actionscript.all/pending/LoadVars-6.swf.trace |   75 ----
 test/gnash/actionscript.all/pending/LoadVars-7.swf.trace |   75 ----
 test/gnash/actionscript.all/pending/LoadVars-8.swf.trace |   75 ----
 test/gnash/actionscript.all/pending/LoadVars.as          |  222 --------------
 test/trace/Makefile.am                                   |   18 +
 test/trace/boolean-5.swf                                 |binary
 test/trace/boolean-5.swf.trace                           |  229 ++++++++++++++
 test/trace/boolean-6.swf                                 |binary
 test/trace/boolean-6.swf.trace                           |  230 +++++++++++++++
 test/trace/boolean-7.swf                                 |binary
 test/trace/boolean-7.swf.trace                           |  230 +++++++++++++++
 test/trace/boolean-8.swf                                 |binary
 test/trace/boolean-8.swf.trace                           |  230 +++++++++++++++
 test/trace/boolean.as                                    |   20 +
 test/trace/loadvars-decode-return-5.swf                  |binary
 test/trace/loadvars-decode-return-5.swf.trace            |    9 
 test/trace/loadvars-decode-return-6.swf                  |binary
 test/trace/loadvars-decode-return-6.swf.trace            |    9 
 test/trace/loadvars-decode-return-7.swf                  |binary
 test/trace/loadvars-decode-return-7.swf.trace            |    9 
 test/trace/loadvars-decode-return-8.swf                  |binary
 test/trace/loadvars-decode-return-8.swf.trace            |    9 
 test/trace/loadvars-decode-return.as                     |   20 +
 53 files changed, 1733 insertions(+), 687 deletions(-)

New commits:
commit ded13b76d6f5184151a883cafec76788b80bd626
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Jul 8 13:54:57 2008 +0300

    Move Gnash test Boolean from pending to normal tests, since it works now

diff --git a/test/gnash/actionscript.all/Boolean-5.swf b/test/gnash/actionscript.all/Boolean-5.swf
new file mode 100644
index 0000000..9afd9a3
Binary files /dev/null and b/test/gnash/actionscript.all/Boolean-5.swf differ
diff --git a/test/gnash/actionscript.all/Boolean-5.swf.trace b/test/gnash/actionscript.all/Boolean-5.swf.trace
new file mode 100644
index 0000000..37a8ffd
--- /dev/null
+++ b/test/gnash/actionscript.all/Boolean-5.swf.trace
@@ -0,0 +1,32 @@
+PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
+PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
+PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
+PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
+PASSED: boolObj [Boolean.as:35]
+PASSED: boolObj.toString [Boolean.as:37]
+PASSED: boolObj.valueOf [Boolean.as:38]
+PASSED: boolObj.tostring [Boolean.as:45]
+PASSED: boolObj.valueof [Boolean.as:46]
+PASSED: defaultBool.toString() == "false" [Boolean.as:50]
+PASSED: defaultBool.valueOf() == false [Boolean.as:51]
+PASSED: trueBool.toString() == "true" [Boolean.as:54]
+PASSED: trueBool.valueOf() == true [Boolean.as:55]
+PASSED: falseBool.toString() == "false" [Boolean.as:58]
+PASSED: falseBool.valueOf() == false [Boolean.as:59]
+PASSED: true [Boolean.as:67]
+PASSED: ! false [Boolean.as:68]
+PASSED: 1 [Boolean.as:71]
+PASSED: !0 [Boolean.as:72]
+PASSED: _root [Boolean.as:75]
+PASSED: "1" [Boolean.as:78]
+PASSED: ! "0" [Boolean.as:80]
+PASSED: ! "true" [Boolean.as:81]
+PASSED: ! "false" [Boolean.as:82]
+PASSED: typeOf(null) == "null" [Boolean.as:90]
+PASSED: ! null [Boolean.as:91]
+PASSED: ! undefined [Boolean.as:94]
+PASSED: play [Boolean.as:97]
+PASSED: emptyArray [Boolean.as:101]
+PASSED: falseBoolean [Boolean.as:103]
+PASSED: trueBoolean [Boolean.as:105]
+check_totals: 31
diff --git a/test/gnash/actionscript.all/Boolean-6.swf b/test/gnash/actionscript.all/Boolean-6.swf
new file mode 100644
index 0000000..e8a7303
Binary files /dev/null and b/test/gnash/actionscript.all/Boolean-6.swf differ
diff --git a/test/gnash/actionscript.all/Boolean-6.swf.trace b/test/gnash/actionscript.all/Boolean-6.swf.trace
new file mode 100644
index 0000000..37a8ffd
--- /dev/null
+++ b/test/gnash/actionscript.all/Boolean-6.swf.trace
@@ -0,0 +1,32 @@
+PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
+PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
+PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
+PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
+PASSED: boolObj [Boolean.as:35]
+PASSED: boolObj.toString [Boolean.as:37]
+PASSED: boolObj.valueOf [Boolean.as:38]
+PASSED: boolObj.tostring [Boolean.as:45]
+PASSED: boolObj.valueof [Boolean.as:46]
+PASSED: defaultBool.toString() == "false" [Boolean.as:50]
+PASSED: defaultBool.valueOf() == false [Boolean.as:51]
+PASSED: trueBool.toString() == "true" [Boolean.as:54]
+PASSED: trueBool.valueOf() == true [Boolean.as:55]
+PASSED: falseBool.toString() == "false" [Boolean.as:58]
+PASSED: falseBool.valueOf() == false [Boolean.as:59]
+PASSED: true [Boolean.as:67]
+PASSED: ! false [Boolean.as:68]
+PASSED: 1 [Boolean.as:71]
+PASSED: !0 [Boolean.as:72]
+PASSED: _root [Boolean.as:75]
+PASSED: "1" [Boolean.as:78]
+PASSED: ! "0" [Boolean.as:80]
+PASSED: ! "true" [Boolean.as:81]
+PASSED: ! "false" [Boolean.as:82]
+PASSED: typeOf(null) == "null" [Boolean.as:90]
+PASSED: ! null [Boolean.as:91]
+PASSED: ! undefined [Boolean.as:94]
+PASSED: play [Boolean.as:97]
+PASSED: emptyArray [Boolean.as:101]
+PASSED: falseBoolean [Boolean.as:103]
+PASSED: trueBoolean [Boolean.as:105]
+check_totals: 31
diff --git a/test/gnash/actionscript.all/Boolean-7.swf b/test/gnash/actionscript.all/Boolean-7.swf
new file mode 100644
index 0000000..f148ec1
Binary files /dev/null and b/test/gnash/actionscript.all/Boolean-7.swf differ
diff --git a/test/gnash/actionscript.all/Boolean-7.swf.trace b/test/gnash/actionscript.all/Boolean-7.swf.trace
new file mode 100644
index 0000000..4b9c0a9
--- /dev/null
+++ b/test/gnash/actionscript.all/Boolean-7.swf.trace
@@ -0,0 +1,32 @@
+PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
+PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
+PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
+PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
+PASSED: boolObj [Boolean.as:35]
+PASSED: boolObj.toString [Boolean.as:37]
+PASSED: boolObj.valueOf [Boolean.as:38]
+PASSED: boolObj.tostring == undefined [Boolean.as:42]
+PASSED: boolObj.valueof == undefined [Boolean.as:43]
+PASSED: defaultBool.toString() == "false" [Boolean.as:50]
+PASSED: defaultBool.valueOf() == false [Boolean.as:51]
+PASSED: trueBool.toString() == "true" [Boolean.as:54]
+PASSED: trueBool.valueOf() == true [Boolean.as:55]
+PASSED: falseBool.toString() == "false" [Boolean.as:58]
+PASSED: falseBool.valueOf() == false [Boolean.as:59]
+PASSED: true [Boolean.as:67]
+PASSED: ! false [Boolean.as:68]
+PASSED: 1 [Boolean.as:71]
+PASSED: !0 [Boolean.as:72]
+PASSED: _root [Boolean.as:75]
+PASSED: "1" [Boolean.as:78]
+PASSED: "0" [Boolean.as:84]
+PASSED: "true" [Boolean.as:85]
+PASSED: "false" [Boolean.as:86]
+PASSED: typeOf(null) == "null" [Boolean.as:90]
+PASSED: ! null [Boolean.as:91]
+PASSED: ! undefined [Boolean.as:94]
+PASSED: play [Boolean.as:97]
+PASSED: emptyArray [Boolean.as:101]
+PASSED: falseBoolean [Boolean.as:103]
+PASSED: trueBoolean [Boolean.as:105]
+check_totals: 31
diff --git a/test/gnash/actionscript.all/Boolean-8.swf b/test/gnash/actionscript.all/Boolean-8.swf
new file mode 100644
index 0000000..921c1f0
Binary files /dev/null and b/test/gnash/actionscript.all/Boolean-8.swf differ
diff --git a/test/gnash/actionscript.all/Boolean-8.swf.trace b/test/gnash/actionscript.all/Boolean-8.swf.trace
new file mode 100644
index 0000000..4b9c0a9
--- /dev/null
+++ b/test/gnash/actionscript.all/Boolean-8.swf.trace
@@ -0,0 +1,32 @@
+PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
+PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
+PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
+PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
+PASSED: boolObj [Boolean.as:35]
+PASSED: boolObj.toString [Boolean.as:37]
+PASSED: boolObj.valueOf [Boolean.as:38]
+PASSED: boolObj.tostring == undefined [Boolean.as:42]
+PASSED: boolObj.valueof == undefined [Boolean.as:43]
+PASSED: defaultBool.toString() == "false" [Boolean.as:50]
+PASSED: defaultBool.valueOf() == false [Boolean.as:51]
+PASSED: trueBool.toString() == "true" [Boolean.as:54]
+PASSED: trueBool.valueOf() == true [Boolean.as:55]
+PASSED: falseBool.toString() == "false" [Boolean.as:58]
+PASSED: falseBool.valueOf() == false [Boolean.as:59]
+PASSED: true [Boolean.as:67]
+PASSED: ! false [Boolean.as:68]
+PASSED: 1 [Boolean.as:71]
+PASSED: !0 [Boolean.as:72]
+PASSED: _root [Boolean.as:75]
+PASSED: "1" [Boolean.as:78]
+PASSED: "0" [Boolean.as:84]
+PASSED: "true" [Boolean.as:85]
+PASSED: "false" [Boolean.as:86]
+PASSED: typeOf(null) == "null" [Boolean.as:90]
+PASSED: ! null [Boolean.as:91]
+PASSED: ! undefined [Boolean.as:94]
+PASSED: play [Boolean.as:97]
+PASSED: emptyArray [Boolean.as:101]
+PASSED: falseBoolean [Boolean.as:103]
+PASSED: trueBoolean [Boolean.as:105]
+check_totals: 31
diff --git a/test/gnash/actionscript.all/Boolean.as b/test/gnash/actionscript.all/Boolean.as
new file mode 100644
index 0000000..962b433
--- /dev/null
+++ b/test/gnash/actionscript.all/Boolean.as
@@ -0,0 +1,108 @@
+// 
+//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+// Test case for Boolean ActionScript class
+// compile this test case with Ming makeswf, and then
+// execute it like this gnash -1 -r 0 -v out.swf
+
+
+rcsid="$Id: Boolean.as,v 1.21 2008/04/02 09:39:59 strk Exp $";
+#include "check.as"
+
+check_equals(typeof(Boolean), 'function');
+check_equals(typeof(Boolean()), 'undefined');
+check_equals(typeof(Boolean(true)), 'boolean');
+check_equals(typeof(new Boolean()), 'object');
+
+var boolObj = new Boolean;
+
+// test the Boolean constuctor
+check (boolObj);
+
+check (boolObj.toString);
+check (boolObj.valueOf);
+
+#if OUTPUT_VERSION > 6
+// SWF7 and up is case-sensitive
+check_equals (boolObj.tostring, undefined);
+check_equals (boolObj.valueof, undefined);
+#else
+check (boolObj.tostring)
+check (boolObj.valueof)
+#endif
+
+var defaultBool = new Boolean();
+check_equals(defaultBool.toString(), "false");
+check_equals(defaultBool.valueOf(), false);
+
+var trueBool = new Boolean(true);
+check_equals(trueBool.toString(), "true");
+check_equals(trueBool.valueOf(), true);
+
+var falseBool = new Boolean(false);
+check_equals(falseBool.toString(), "false");
+check_equals(falseBool.valueOf(), false);
+
+
+//---------------------------------------------------
+// Test convertion to boolean
+//---------------------------------------------------
+
+// boolean
+check( true );
+check( ! false );
+ 
+// number
+check( 1 );
+check( !0 );
+
+// movieclip
+check( _root );
+
+// string
+check( "1" );
+#if OUTPUT_VERSION < 7
+ check( ! "0" );
+ check( ! "true" );
+ check( ! "false" );
+#else
+ check( "0" );
+ check( "true" );
+ check( "false" );
+#endif
+
+// Null 
+check_equals(typeOf(null), "null" );
+check( ! null );
+
+// Undefined
+check( ! undefined );
+
+// Function
+check( play );
+
+// Object - conversion might depend on object type
+emptyArray = new Array();
+check( emptyArray );
+falseBoolean = new Boolean(false);
+check( falseBoolean );
+trueBoolean = new Boolean(true);
+check( trueBoolean );
+
+
+check_totals(31);
diff --git a/test/gnash/actionscript.all/Makefile.am b/test/gnash/actionscript.all/Makefile.am
index 97690db..ee3e74e 100644
--- a/test/gnash/actionscript.all/Makefile.am
+++ b/test/gnash/actionscript.all/Makefile.am
@@ -15,6 +15,15 @@ EXTRA_DIST = \
 	AsBroadcaster-8.swf.trace \
 	AsBroadcaster.as \
 	AsBroadcaster.as.original \
+	Boolean-5.swf \
+	Boolean-5.swf.trace \
+	Boolean-6.swf \
+	Boolean-6.swf.trace \
+	Boolean-7.swf \
+	Boolean-7.swf.trace \
+	Boolean-8.swf \
+	Boolean-8.swf.trace \
+	Boolean.as \
 	check.as \
 	check.as.original \
 	ContextMenu-5.swf \
diff --git a/test/gnash/actionscript.all/pending/Boolean-5.swf b/test/gnash/actionscript.all/pending/Boolean-5.swf
deleted file mode 100644
index 9afd9a3..0000000
Binary files a/test/gnash/actionscript.all/pending/Boolean-5.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/Boolean-5.swf.trace b/test/gnash/actionscript.all/pending/Boolean-5.swf.trace
deleted file mode 100644
index 37a8ffd..0000000
--- a/test/gnash/actionscript.all/pending/Boolean-5.swf.trace
+++ /dev/null
@@ -1,32 +0,0 @@
-PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
-PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
-PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
-PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
-PASSED: boolObj [Boolean.as:35]
-PASSED: boolObj.toString [Boolean.as:37]
-PASSED: boolObj.valueOf [Boolean.as:38]
-PASSED: boolObj.tostring [Boolean.as:45]
-PASSED: boolObj.valueof [Boolean.as:46]
-PASSED: defaultBool.toString() == "false" [Boolean.as:50]
-PASSED: defaultBool.valueOf() == false [Boolean.as:51]
-PASSED: trueBool.toString() == "true" [Boolean.as:54]
-PASSED: trueBool.valueOf() == true [Boolean.as:55]
-PASSED: falseBool.toString() == "false" [Boolean.as:58]
-PASSED: falseBool.valueOf() == false [Boolean.as:59]
-PASSED: true [Boolean.as:67]
-PASSED: ! false [Boolean.as:68]
-PASSED: 1 [Boolean.as:71]
-PASSED: !0 [Boolean.as:72]
-PASSED: _root [Boolean.as:75]
-PASSED: "1" [Boolean.as:78]
-PASSED: ! "0" [Boolean.as:80]
-PASSED: ! "true" [Boolean.as:81]
-PASSED: ! "false" [Boolean.as:82]
-PASSED: typeOf(null) == "null" [Boolean.as:90]
-PASSED: ! null [Boolean.as:91]
-PASSED: ! undefined [Boolean.as:94]
-PASSED: play [Boolean.as:97]
-PASSED: emptyArray [Boolean.as:101]
-PASSED: falseBoolean [Boolean.as:103]
-PASSED: trueBoolean [Boolean.as:105]
-check_totals: 31
diff --git a/test/gnash/actionscript.all/pending/Boolean-6.swf b/test/gnash/actionscript.all/pending/Boolean-6.swf
deleted file mode 100644
index e8a7303..0000000
Binary files a/test/gnash/actionscript.all/pending/Boolean-6.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/Boolean-6.swf.trace b/test/gnash/actionscript.all/pending/Boolean-6.swf.trace
deleted file mode 100644
index 37a8ffd..0000000
--- a/test/gnash/actionscript.all/pending/Boolean-6.swf.trace
+++ /dev/null
@@ -1,32 +0,0 @@
-PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
-PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
-PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
-PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
-PASSED: boolObj [Boolean.as:35]
-PASSED: boolObj.toString [Boolean.as:37]
-PASSED: boolObj.valueOf [Boolean.as:38]
-PASSED: boolObj.tostring [Boolean.as:45]
-PASSED: boolObj.valueof [Boolean.as:46]
-PASSED: defaultBool.toString() == "false" [Boolean.as:50]
-PASSED: defaultBool.valueOf() == false [Boolean.as:51]
-PASSED: trueBool.toString() == "true" [Boolean.as:54]
-PASSED: trueBool.valueOf() == true [Boolean.as:55]
-PASSED: falseBool.toString() == "false" [Boolean.as:58]
-PASSED: falseBool.valueOf() == false [Boolean.as:59]
-PASSED: true [Boolean.as:67]
-PASSED: ! false [Boolean.as:68]
-PASSED: 1 [Boolean.as:71]
-PASSED: !0 [Boolean.as:72]
-PASSED: _root [Boolean.as:75]
-PASSED: "1" [Boolean.as:78]
-PASSED: ! "0" [Boolean.as:80]
-PASSED: ! "true" [Boolean.as:81]
-PASSED: ! "false" [Boolean.as:82]
-PASSED: typeOf(null) == "null" [Boolean.as:90]
-PASSED: ! null [Boolean.as:91]
-PASSED: ! undefined [Boolean.as:94]
-PASSED: play [Boolean.as:97]
-PASSED: emptyArray [Boolean.as:101]
-PASSED: falseBoolean [Boolean.as:103]
-PASSED: trueBoolean [Boolean.as:105]
-check_totals: 31
diff --git a/test/gnash/actionscript.all/pending/Boolean-7.swf b/test/gnash/actionscript.all/pending/Boolean-7.swf
deleted file mode 100644
index f148ec1..0000000
Binary files a/test/gnash/actionscript.all/pending/Boolean-7.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/Boolean-7.swf.trace b/test/gnash/actionscript.all/pending/Boolean-7.swf.trace
deleted file mode 100644
index 4b9c0a9..0000000
--- a/test/gnash/actionscript.all/pending/Boolean-7.swf.trace
+++ /dev/null
@@ -1,32 +0,0 @@
-PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
-PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
-PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
-PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
-PASSED: boolObj [Boolean.as:35]
-PASSED: boolObj.toString [Boolean.as:37]
-PASSED: boolObj.valueOf [Boolean.as:38]
-PASSED: boolObj.tostring == undefined [Boolean.as:42]
-PASSED: boolObj.valueof == undefined [Boolean.as:43]
-PASSED: defaultBool.toString() == "false" [Boolean.as:50]
-PASSED: defaultBool.valueOf() == false [Boolean.as:51]
-PASSED: trueBool.toString() == "true" [Boolean.as:54]
-PASSED: trueBool.valueOf() == true [Boolean.as:55]
-PASSED: falseBool.toString() == "false" [Boolean.as:58]
-PASSED: falseBool.valueOf() == false [Boolean.as:59]
-PASSED: true [Boolean.as:67]
-PASSED: ! false [Boolean.as:68]
-PASSED: 1 [Boolean.as:71]
-PASSED: !0 [Boolean.as:72]
-PASSED: _root [Boolean.as:75]
-PASSED: "1" [Boolean.as:78]
-PASSED: "0" [Boolean.as:84]
-PASSED: "true" [Boolean.as:85]
-PASSED: "false" [Boolean.as:86]
-PASSED: typeOf(null) == "null" [Boolean.as:90]
-PASSED: ! null [Boolean.as:91]
-PASSED: ! undefined [Boolean.as:94]
-PASSED: play [Boolean.as:97]
-PASSED: emptyArray [Boolean.as:101]
-PASSED: falseBoolean [Boolean.as:103]
-PASSED: trueBoolean [Boolean.as:105]
-check_totals: 31
diff --git a/test/gnash/actionscript.all/pending/Boolean-8.swf b/test/gnash/actionscript.all/pending/Boolean-8.swf
deleted file mode 100644
index 921c1f0..0000000
Binary files a/test/gnash/actionscript.all/pending/Boolean-8.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/Boolean-8.swf.trace b/test/gnash/actionscript.all/pending/Boolean-8.swf.trace
deleted file mode 100644
index 4b9c0a9..0000000
--- a/test/gnash/actionscript.all/pending/Boolean-8.swf.trace
+++ /dev/null
@@ -1,32 +0,0 @@
-PASSED: typeof(Boolean) == 'function' [Boolean.as:27]
-PASSED: typeof(Boolean()) == 'undefined' [Boolean.as:28]
-PASSED: typeof(Boolean(true)) == 'boolean' [Boolean.as:29]
-PASSED: typeof(new Boolean()) == 'object' [Boolean.as:30]
-PASSED: boolObj [Boolean.as:35]
-PASSED: boolObj.toString [Boolean.as:37]
-PASSED: boolObj.valueOf [Boolean.as:38]
-PASSED: boolObj.tostring == undefined [Boolean.as:42]
-PASSED: boolObj.valueof == undefined [Boolean.as:43]
-PASSED: defaultBool.toString() == "false" [Boolean.as:50]
-PASSED: defaultBool.valueOf() == false [Boolean.as:51]
-PASSED: trueBool.toString() == "true" [Boolean.as:54]
-PASSED: trueBool.valueOf() == true [Boolean.as:55]
-PASSED: falseBool.toString() == "false" [Boolean.as:58]
-PASSED: falseBool.valueOf() == false [Boolean.as:59]
-PASSED: true [Boolean.as:67]
-PASSED: ! false [Boolean.as:68]
-PASSED: 1 [Boolean.as:71]
-PASSED: !0 [Boolean.as:72]
-PASSED: _root [Boolean.as:75]
-PASSED: "1" [Boolean.as:78]
-PASSED: "0" [Boolean.as:84]
-PASSED: "true" [Boolean.as:85]
-PASSED: "false" [Boolean.as:86]
-PASSED: typeOf(null) == "null" [Boolean.as:90]
-PASSED: ! null [Boolean.as:91]
-PASSED: ! undefined [Boolean.as:94]
-PASSED: play [Boolean.as:97]
-PASSED: emptyArray [Boolean.as:101]
-PASSED: falseBoolean [Boolean.as:103]
-PASSED: trueBoolean [Boolean.as:105]
-check_totals: 31
diff --git a/test/gnash/actionscript.all/pending/Boolean.as b/test/gnash/actionscript.all/pending/Boolean.as
deleted file mode 100644
index 962b433..0000000
--- a/test/gnash/actionscript.all/pending/Boolean.as
+++ /dev/null
@@ -1,108 +0,0 @@
-// 
-//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-// Test case for Boolean ActionScript class
-// compile this test case with Ming makeswf, and then
-// execute it like this gnash -1 -r 0 -v out.swf
-
-
-rcsid="$Id: Boolean.as,v 1.21 2008/04/02 09:39:59 strk Exp $";
-#include "check.as"
-
-check_equals(typeof(Boolean), 'function');
-check_equals(typeof(Boolean()), 'undefined');
-check_equals(typeof(Boolean(true)), 'boolean');
-check_equals(typeof(new Boolean()), 'object');
-
-var boolObj = new Boolean;
-
-// test the Boolean constuctor
-check (boolObj);
-
-check (boolObj.toString);
-check (boolObj.valueOf);
-
-#if OUTPUT_VERSION > 6
-// SWF7 and up is case-sensitive
-check_equals (boolObj.tostring, undefined);
-check_equals (boolObj.valueof, undefined);
-#else
-check (boolObj.tostring)
-check (boolObj.valueof)
-#endif
-
-var defaultBool = new Boolean();
-check_equals(defaultBool.toString(), "false");
-check_equals(defaultBool.valueOf(), false);
-
-var trueBool = new Boolean(true);
-check_equals(trueBool.toString(), "true");
-check_equals(trueBool.valueOf(), true);
-
-var falseBool = new Boolean(false);
-check_equals(falseBool.toString(), "false");
-check_equals(falseBool.valueOf(), false);
-
-
-//---------------------------------------------------
-// Test convertion to boolean
-//---------------------------------------------------
-
-// boolean
-check( true );
-check( ! false );
- 
-// number
-check( 1 );
-check( !0 );
-
-// movieclip
-check( _root );
-
-// string
-check( "1" );
-#if OUTPUT_VERSION < 7
- check( ! "0" );
- check( ! "true" );
- check( ! "false" );
-#else
- check( "0" );
- check( "true" );
- check( "false" );
-#endif
-
-// Null 
-check_equals(typeOf(null), "null" );
-check( ! null );
-
-// Undefined
-check( ! undefined );
-
-// Function
-check( play );
-
-// Object - conversion might depend on object type
-emptyArray = new Array();
-check( emptyArray );
-falseBoolean = new Boolean(false);
-check( falseBoolean );
-trueBoolean = new Boolean(true);
-check( trueBoolean );
-
-
-check_totals(31);
commit fca1f72272cbabadbce7e1359122e223411fd4d9
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Jul 8 13:53:54 2008 +0300

    Add a simple test for creating Booleans

diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index ee64abc..299003a 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -405,6 +405,15 @@ EXTRA_DIST = \
 	blur-filter-properties-7.swf.trace \
 	blur-filter-properties-8.swf \
 	blur-filter-properties-8.swf.trace \
+	boolean.as \
+	boolean-5.swf \
+	boolean-5.swf.trace \
+	boolean-6.swf \
+	boolean-6.swf.trace \
+	boolean-7.swf \
+	boolean-7.swf.trace \
+	boolean-8.swf \
+	boolean-8.swf.trace \
 	boolean-properties.as \
 	boolean-properties-5.swf \
 	boolean-properties-5.swf.trace \
diff --git a/test/trace/boolean-5.swf b/test/trace/boolean-5.swf
new file mode 100644
index 0000000..f5f75d5
Binary files /dev/null and b/test/trace/boolean-5.swf differ
diff --git a/test/trace/boolean-5.swf.trace b/test/trace/boolean-5.swf.trace
new file mode 100644
index 0000000..efee1f6
--- /dev/null
+++ b/test/trace/boolean-5.swf.trace
@@ -0,0 +1,229 @@
+valueOf called
+toString called
+toString called with 
+valueOf called with 
+0: valueOf!
+1: valueOf!
+2: valueOf!
+3: valueOf!
+4: valueOf!
+5: valueOf!
+6: valueOf!
+7: valueOf!
+8: valueOf!
+9: valueOf!
+10: valueOf!
+11: valueOf!
+12: valueOf!
+13: valueOf!
+14: valueOf!
+15: valueOf!
+16: valueOf!
+17: valueOf!
+18: valueOf!
+19: valueOf!
+20: valueOf!
+21: valueOf!
+22: valueOf!
+22: toString!
+23: valueOf!
+23: toString!
+24: valueOf!
+24: toString!
+25: valueOf!
+26: valueOf!
+26: toString!
+27: valueOf!
+27: toString!
+28: valueOf!
+28: toString!
+29: valueOf!
+29: toString!
+false
+undefined
+true
+true
+false
+false
+true
+true
+Testing: (0)  (undefined)
+false
+false
+Testing: (1) null (null)
+false
+false
+Testing: (2) true (boolean)
+true
+false
+Testing: (3) false (boolean)
+false
+false
+Testing: (4) 0 (number)
+false
+false
+Testing: (5) 1 (number)
+true
+false
+Testing: (6) 0.5 (number)
+true
+false
+Testing: (7) -1 (number)
+true
+false
+Testing: (8) -0.5 (number)
+true
+false
+Testing: (9) Infinity (number)
+true
+false
+Testing: (10) -Infinity (number)
+true
+false
+Testing: (11) NaN (number)
+false
+false
+Testing: (12)  (string)
+false
+false
+Testing: (13) 0 (string)
+false
+false
+Testing: (14) -0 (string)
+false
+false
+Testing: (15) 0.0 (string)
+false
+false
+Testing: (16) 1 (string)
+true
+false
+Testing: (17) Hello World! (string)
+false
+false
+Testing: (18) true (string)
+false
+false
+Testing: (19) _level0 (string)
+false
+false
+Testing: (20) äöü (string)
+false
+false
+Testing: (21) _level0 (movieclip)
+true
+false
+Testing: (22) [object Object] (object)
+true
+false
+Testing: (23) 1239752134235.94 (object)
+true
+false
+Testing: (24)  (object)
+true
+false
+Testing: (25)  (undefined)
+false
+false
+Testing: (26) [type Object] (object)
+true
+false
+Testing: (27) [type Object] (object)
+true
+false
+Testing: (28) [object Object] (object)
+true
+false
+Testing: (29)  (object)
+true
+false
+Testing: (30)  (object)
+true
+false
+Testing: (31) null (object)
+true
+false
+Testing: (32) true (object)
+true
+false
+Testing: (33) false (object)
+true
+false
+Testing: (34) 0 (object)
+true
+false
+Testing: (35) 1 (object)
+true
+false
+Testing: (36) 0.5 (object)
+true
+false
+Testing: (37) -1 (object)
+true
+false
+Testing: (38) -0.5 (object)
+true
+false
+Testing: (39) Infinity (object)
+true
+false
+Testing: (40) -Infinity (object)
+true
+false
+Testing: (41) NaN (object)
+true
+false
+Testing: (42)  (object)
+true
+false
+Testing: (43) 0 (object)
+true
+false
+Testing: (44) -0 (object)
+true
+false
+Testing: (45) 0.0 (object)
+true
+false
+Testing: (46) 1 (object)
+true
+false
+Testing: (47) Hello World! (object)
+true
+false
+Testing: (48) true (object)
+true
+false
+Testing: (49) _level0 (object)
+true
+false
+Testing: (50) äöü (object)
+true
+false
+Testing: (51) _level0 (object)
+true
+false
+Testing: (52) [type Object] (object)
+true
+false
+Testing: (53) [type Object] (object)
+true
+false
+Testing: (54) [type Object] (object)
+true
+false
+Testing: (55)  (object)
+true
+false
+Testing: (56) [type Object] (object)
+true
+false
+Testing: (57) [type Object] (object)
+true
+false
+Testing: (58) [type Object] (object)
+true
+false
+Testing: (59) [type Object] (object)
+true
+false
diff --git a/test/trace/boolean-6.swf b/test/trace/boolean-6.swf
new file mode 100644
index 0000000..2ddb717
Binary files /dev/null and b/test/trace/boolean-6.swf differ
diff --git a/test/trace/boolean-6.swf.trace b/test/trace/boolean-6.swf.trace
new file mode 100644
index 0000000..db1b237
--- /dev/null
+++ b/test/trace/boolean-6.swf.trace
@@ -0,0 +1,230 @@
+valueOf called
+toString called
+toString called with 
+valueOf called with 
+0: valueOf!
+1: valueOf!
+2: valueOf!
+3: valueOf!
+4: valueOf!
+5: valueOf!
+6: valueOf!
+7: valueOf!
+8: valueOf!
+9: valueOf!
+10: valueOf!
+11: valueOf!
+12: valueOf!
+13: valueOf!
+14: valueOf!
+15: valueOf!
+16: valueOf!
+17: valueOf!
+18: valueOf!
+19: valueOf!
+20: valueOf!
+21: valueOf!
+22: valueOf!
+22: toString!
+23: valueOf!
+23: toString!
+24: valueOf!
+24: toString!
+25: valueOf!
+25: toString!
+26: valueOf!
+26: toString!
+27: valueOf!
+27: toString!
+28: valueOf!
+28: toString!
+29: valueOf!
+29: toString!
+false
+undefined
+true
+true
+false
+false
+true
+true
+Testing: (0)  (undefined)
+false
+false
+Testing: (1) null (null)
+false
+false
+Testing: (2) true (boolean)
+true
+false
+Testing: (3) false (boolean)
+false
+false
+Testing: (4) 0 (number)
+false
+false
+Testing: (5) 1 (number)
+true
+false
+Testing: (6) 0.5 (number)
+true
+false
+Testing: (7) -1 (number)
+true
+false
+Testing: (8) -0.5 (number)
+true
+false
+Testing: (9) Infinity (number)
+true
+false
+Testing: (10) -Infinity (number)
+true
+false
+Testing: (11) NaN (number)
+false
+false
+Testing: (12)  (string)
+false
+false
+Testing: (13) 0 (string)
+false
+false
+Testing: (14) -0 (string)
+false
+false
+Testing: (15) 0.0 (string)
+false
+false
+Testing: (16) 1 (string)
+true
+false
+Testing: (17) Hello World! (string)
+false
+false
+Testing: (18) true (string)
+false
+false
+Testing: (19) _level0 (string)
+false
+false
+Testing: (20) äöü (string)
+false
+false
+Testing: (21) _level0 (movieclip)
+true
+false
+Testing: (22) [object Object] (object)
+true
+false
+Testing: (23) Tue Apr 14 23:35:34 GMT+0000 2009 (object)
+true
+false
+Testing: (24)  (object)
+true
+false
+Testing: (25) [type Function] (function)
+true
+false
+Testing: (26) [type Object] (object)
+true
+false
+Testing: (27) [type Object] (object)
+true
+false
+Testing: (28) [object Object] (object)
+true
+false
+Testing: (29)  (object)
+true
+false
+Testing: (30)  (object)
+true
+false
+Testing: (31) null (object)
+true
+false
+Testing: (32) true (object)
+true
+false
+Testing: (33) false (object)
+true
+false
+Testing: (34) 0 (object)
+true
+false
+Testing: (35) 1 (object)
+true
+false
+Testing: (36) 0.5 (object)
+true
+false
+Testing: (37) -1 (object)
+true
+false
+Testing: (38) -0.5 (object)
+true
+false
+Testing: (39) Infinity (object)
+true
+false
+Testing: (40) -Infinity (object)
+true
+false
+Testing: (41) NaN (object)
+true
+false
+Testing: (42)  (object)
+true
+false
+Testing: (43) 0 (object)
+true
+false
+Testing: (44) -0 (object)
+true
+false
+Testing: (45) 0.0 (object)
+true
+false
+Testing: (46) 1 (object)
+true
+false
+Testing: (47) Hello World! (object)
+true
+false
+Testing: (48) true (object)
+true
+false
+Testing: (49) _level0 (object)
+true
+false
+Testing: (50) äöü (object)
+true
+false
+Testing: (51) _level0 (object)
+true
+false
+Testing: (52) [type Object] (object)
+true
+false
+Testing: (53) [type Object] (object)
+true
+false
+Testing: (54) [type Object] (object)
+true
+false
+Testing: (55) [type Object] (object)
+true
+false
+Testing: (56) [type Object] (object)
+true
+false
+Testing: (57) [type Object] (object)
+true
+false
+Testing: (58) [type Object] (object)
+true
+false
+Testing: (59) [type Object] (object)
+true
+false
diff --git a/test/trace/boolean-7.swf b/test/trace/boolean-7.swf
new file mode 100644
index 0000000..74cd9f4
Binary files /dev/null and b/test/trace/boolean-7.swf differ
diff --git a/test/trace/boolean-7.swf.trace b/test/trace/boolean-7.swf.trace
new file mode 100644
index 0000000..47f238b
--- /dev/null
+++ b/test/trace/boolean-7.swf.trace
@@ -0,0 +1,230 @@
+valueOf called
+toString called
+toString called with 
+valueOf called with 
+0: valueOf!
+1: valueOf!
+2: valueOf!
+3: valueOf!
+4: valueOf!
+5: valueOf!
+6: valueOf!
+7: valueOf!
+8: valueOf!
+9: valueOf!
+10: valueOf!
+11: valueOf!
+12: valueOf!
+13: valueOf!
+14: valueOf!
+15: valueOf!
+16: valueOf!
+17: valueOf!
+18: valueOf!
+19: valueOf!
+20: valueOf!
+21: valueOf!
+22: valueOf!
+22: toString!
+23: valueOf!
+23: toString!
+24: valueOf!
+24: toString!
+25: valueOf!
+25: toString!
+26: valueOf!
+26: toString!
+27: valueOf!
+27: toString!
+28: valueOf!
+28: toString!
+29: valueOf!
+29: toString!
+false
+undefined
+true
+true
+false
+false
+true
+true
+Testing: (0) undefined (undefined)
+false
+false
+Testing: (1) null (null)
+false
+false
+Testing: (2) true (boolean)
+true
+false
+Testing: (3) false (boolean)
+false
+false
+Testing: (4) 0 (number)
+false
+false
+Testing: (5) 1 (number)
+true
+false
+Testing: (6) 0.5 (number)
+true
+false
+Testing: (7) -1 (number)
+true
+false
+Testing: (8) -0.5 (number)
+true
+false
+Testing: (9) Infinity (number)
+true
+false
+Testing: (10) -Infinity (number)
+true
+false
+Testing: (11) NaN (number)
+false
+false
+Testing: (12)  (string)
+false
+false
+Testing: (13) 0 (string)
+true
+false
+Testing: (14) -0 (string)
+true
+false
+Testing: (15) 0.0 (string)
+true
+false
+Testing: (16) 1 (string)
+true
+false
+Testing: (17) Hello World! (string)
+true
+false
+Testing: (18) true (string)
+true
+false
+Testing: (19) _level0 (string)
+true
+false
+Testing: (20) äöü (string)
+true
+false
+Testing: (21) _level0 (movieclip)
+true
+false
+Testing: (22) [object Object] (object)
+true
+false
+Testing: (23) Tue Apr 14 23:35:34 GMT+0000 2009 (object)
+true
+false
+Testing: (24)  (object)
+true
+false
+Testing: (25) [type Function] (function)
+true
+false
+Testing: (26) [type Object] (object)
+true
+false
+Testing: (27) [type Object] (object)
+true
+false
+Testing: (28) [object Object] (object)
+true
+false
+Testing: (29) undefined (object)
+true
+false
+Testing: (30) undefined (object)
+true
+false
+Testing: (31) null (object)
+true
+false
+Testing: (32) true (object)
+true
+false
+Testing: (33) false (object)
+true
+false
+Testing: (34) 0 (object)
+true
+false
+Testing: (35) 1 (object)
+true
+false
+Testing: (36) 0.5 (object)
+true
+false
+Testing: (37) -1 (object)
+true
+false
+Testing: (38) -0.5 (object)
+true
+false
+Testing: (39) Infinity (object)
+true
+false
+Testing: (40) -Infinity (object)
+true
+false
+Testing: (41) NaN (object)
+true
+false
+Testing: (42)  (object)
+true
+false
+Testing: (43) 0 (object)
+true
+false
+Testing: (44) -0 (object)
+true
+false
+Testing: (45) 0.0 (object)
+true
+false
+Testing: (46) 1 (object)
+true
+false
+Testing: (47) Hello World! (object)
+true
+false
+Testing: (48) true (object)
+true
+false
+Testing: (49) _level0 (object)
+true
+false
+Testing: (50) äöü (object)
+true
+false
+Testing: (51) _level0 (object)
+true
+false
+Testing: (52) [type Object] (object)
+true
+false
+Testing: (53) [type Object] (object)
+true
+false
+Testing: (54) [type Object] (object)
+true
+false
+Testing: (55) [type Object] (object)
+true
+false
+Testing: (56) [type Object] (object)
+true
+false
+Testing: (57) [type Object] (object)
+true
+false
+Testing: (58) [type Object] (object)
+true
+false
+Testing: (59) [type Object] (object)
+true
+false
diff --git a/test/trace/boolean-8.swf b/test/trace/boolean-8.swf
new file mode 100644
index 0000000..ebf8cc5
Binary files /dev/null and b/test/trace/boolean-8.swf differ
diff --git a/test/trace/boolean-8.swf.trace b/test/trace/boolean-8.swf.trace
new file mode 100644
index 0000000..47f238b
--- /dev/null
+++ b/test/trace/boolean-8.swf.trace
@@ -0,0 +1,230 @@
+valueOf called
+toString called
+toString called with 
+valueOf called with 
+0: valueOf!
+1: valueOf!
+2: valueOf!
+3: valueOf!
+4: valueOf!
+5: valueOf!
+6: valueOf!
+7: valueOf!
+8: valueOf!
+9: valueOf!
+10: valueOf!
+11: valueOf!
+12: valueOf!
+13: valueOf!
+14: valueOf!
+15: valueOf!
+16: valueOf!
+17: valueOf!
+18: valueOf!
+19: valueOf!
+20: valueOf!
+21: valueOf!
+22: valueOf!
+22: toString!
+23: valueOf!
+23: toString!
+24: valueOf!
+24: toString!
+25: valueOf!
+25: toString!
+26: valueOf!
+26: toString!
+27: valueOf!
+27: toString!
+28: valueOf!
+28: toString!
+29: valueOf!
+29: toString!
+false
+undefined
+true
+true
+false
+false
+true
+true
+Testing: (0) undefined (undefined)
+false
+false
+Testing: (1) null (null)
+false
+false
+Testing: (2) true (boolean)
+true
+false
+Testing: (3) false (boolean)
+false
+false
+Testing: (4) 0 (number)
+false
+false
+Testing: (5) 1 (number)
+true
+false
+Testing: (6) 0.5 (number)
+true
+false
+Testing: (7) -1 (number)
+true
+false
+Testing: (8) -0.5 (number)
+true
+false
+Testing: (9) Infinity (number)
+true
+false
+Testing: (10) -Infinity (number)
+true
+false
+Testing: (11) NaN (number)
+false
+false
+Testing: (12)  (string)
+false
+false
+Testing: (13) 0 (string)
+true
+false
+Testing: (14) -0 (string)
+true
+false
+Testing: (15) 0.0 (string)
+true
+false
+Testing: (16) 1 (string)
+true
+false
+Testing: (17) Hello World! (string)
+true
+false
+Testing: (18) true (string)
+true
+false
+Testing: (19) _level0 (string)
+true
+false
+Testing: (20) äöü (string)
+true
+false
+Testing: (21) _level0 (movieclip)
+true
+false
+Testing: (22) [object Object] (object)
+true
+false
+Testing: (23) Tue Apr 14 23:35:34 GMT+0000 2009 (object)
+true
+false
+Testing: (24)  (object)
+true
+false
+Testing: (25) [type Function] (function)
+true
+false
+Testing: (26) [type Object] (object)
+true
+false
+Testing: (27) [type Object] (object)
+true
+false
+Testing: (28) [object Object] (object)
+true
+false
+Testing: (29) undefined (object)
+true
+false
+Testing: (30) undefined (object)
+true
+false
+Testing: (31) null (object)
+true
+false
+Testing: (32) true (object)
+true
+false
+Testing: (33) false (object)
+true
+false
+Testing: (34) 0 (object)
+true
+false
+Testing: (35) 1 (object)
+true
+false
+Testing: (36) 0.5 (object)
+true
+false
+Testing: (37) -1 (object)
+true
+false
+Testing: (38) -0.5 (object)
+true
+false
+Testing: (39) Infinity (object)
+true
+false
+Testing: (40) -Infinity (object)
+true
+false
+Testing: (41) NaN (object)
+true
+false
+Testing: (42)  (object)
+true
+false
+Testing: (43) 0 (object)
+true
+false
+Testing: (44) -0 (object)
+true
+false
+Testing: (45) 0.0 (object)
+true
+false
+Testing: (46) 1 (object)
+true
+false
+Testing: (47) Hello World! (object)
+true
+false
+Testing: (48) true (object)
+true
+false
+Testing: (49) _level0 (object)
+true
+false
+Testing: (50) äöü (object)
+true
+false
+Testing: (51) _level0 (object)
+true
+false
+Testing: (52) [type Object] (object)
+true
+false
+Testing: (53) [type Object] (object)
+true
+false
+Testing: (54) [type Object] (object)
+true
+false
+Testing: (55) [type Object] (object)
+true
+false
+Testing: (56) [type Object] (object)
+true
+false
+Testing: (57) [type Object] (object)
+true
+false
+Testing: (58) [type Object] (object)
+true
+false
+Testing: (59) [type Object] (object)
+true
+false
diff --git a/test/trace/boolean.as b/test/trace/boolean.as
new file mode 100644
index 0000000..11c6330
--- /dev/null
+++ b/test/trace/boolean.as
@@ -0,0 +1,20 @@
+// makeswf -v 7 -r 15 -o boolean-7.swf boolean.as
+
+#include "values.as"
+
+trace (new Boolean ());
+trace (Boolean ());
+trace (new Boolean (true));
+trace (Boolean (true));
+trace (new Boolean (false));
+trace (Boolean (false));
+trace (new Boolean (true, false));
+trace (Boolean (true, false));
+
+for (var i = 0; i < values.length; i++) {
+  trace ("Testing: " + names[i]);
+  trace (new Boolean (values[i]));
+  trace (new Boolean (name[i]));
+}
+
+getURL ("FSCommand:quit", "");
commit cf1f4f903a91c7eb6217ef1eb885fe0732bd8568
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Jul 8 13:52:33 2008 +0300

    Make a Boolean () call without arguments return undefined

diff --git a/swfdec/swfdec_as_boolean.c b/swfdec/swfdec_as_boolean.c
index b3d81dd..a33088b 100644
--- a/swfdec/swfdec_as_boolean.c
+++ b/swfdec/swfdec_as_boolean.c
@@ -54,6 +54,8 @@ swfdec_as_boolean_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
   if (argc > 0) {
     b = swfdec_as_value_to_boolean (object->context, &argv[0]);
   } else {
+    if (!swfdec_as_context_is_constructing (cx))
+      return;
     b = FALSE;
   }
 
commit 51a1b40e37ffceee7df1f61eb69ed611f7900a16
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Jul 8 13:39:20 2008 +0300

    Move Gnash test LoadVars from pending to normal tests, since it works now

diff --git a/test/gnash/actionscript.all/LoadVars-5.swf b/test/gnash/actionscript.all/LoadVars-5.swf
new file mode 100644
index 0000000..644dd18
Binary files /dev/null and b/test/gnash/actionscript.all/LoadVars-5.swf differ
diff --git a/test/gnash/actionscript.all/LoadVars-5.swf.trace b/test/gnash/actionscript.all/LoadVars-5.swf.trace
new file mode 100644
index 0000000..de0f911
--- /dev/null
+++ b/test/gnash/actionscript.all/LoadVars-5.swf.trace
@@ -0,0 +1,3 @@
+XPASSED: typeof(LoadVars) == 'function' [LoadVars.as:30]
+XPASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:35]
+check_totals: 2
diff --git a/test/gnash/actionscript.all/LoadVars-6.swf b/test/gnash/actionscript.all/LoadVars-6.swf
new file mode 100644
index 0000000..5569508
Binary files /dev/null and b/test/gnash/actionscript.all/LoadVars-6.swf differ
diff --git a/test/gnash/actionscript.all/LoadVars-6.swf.trace b/test/gnash/actionscript.all/LoadVars-6.swf.trace
new file mode 100644
index 0000000..053e298
--- /dev/null
+++ b/test/gnash/actionscript.all/LoadVars-6.swf.trace
@@ -0,0 +1,75 @@
+PASSED: typeof(LoadVars) == 'function' [LoadVars.as:41]
+PASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:46]
+PASSED: LoadVars.prototype.hasOwnProperty('addRequestHeader') [LoadVars.as:49]
+PASSED: typeof(loadvarsObj.addRequestHeader) == 'function' [LoadVars.as:50]
+PASSED: LoadVars.prototype.hasOwnProperty('decode') [LoadVars.as:53]
+PASSED: typeof(loadvarsObj.decode) == 'function' [LoadVars.as:54]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:56]
+PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:57]
+PASSED: loadvarsObj.ud2 == 2 [LoadVars.as:58]
+PASSED: loadvarsObj.ud4 == 4 [LoadVars.as:60]
+PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:61]
+PASSED: loadvarsObj.ud2 == 20 [LoadVars.as:62]
+PASSED: typeof(ret) == 'boolean' [LoadVars.as:64]
+PASSED: ret == false [LoadVars.as:65]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:67]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:70]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:73]
+PASSED: loadvarsObj.ud5 == 5 [LoadVars.as:74]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:77]
+PASSED: loadvarsObj.ud6 == undefined [LoadVars.as:78]
+PASSED: loadvarsObj['ud6'] == 6 [LoadVars.as:79]
+PASSED: loadvarsObj.ud7 == 7 [LoadVars.as:80]
+PASSED: LoadVars.prototype.hasOwnProperty('getBytesLoaded') [LoadVars.as:83]
+PASSED: typeof(loadvarsObj.getBytesLoaded) == 'function' [LoadVars.as:84]
+PASSED: LoadVars.prototype.hasOwnProperty('getBytesTotal') [LoadVars.as:87]
+PASSED: typeof(loadvarsObj.getBytesTotal) == 'function' [LoadVars.as:88]
+PASSED: LoadVars.prototype.hasOwnProperty('load') [LoadVars.as:91]
+PASSED: typeof(loadvarsObj.load) == 'function' [LoadVars.as:92]
+PASSED: LoadVars.prototype.hasOwnProperty('send') [LoadVars.as:95]
+PASSED: typeof(loadvarsObj.send) == 'function' [LoadVars.as:96]
+PASSED: LoadVars.prototype.hasOwnProperty('sendAndLoad') [LoadVars.as:99]
+PASSED: typeof(loadvarsObj.sendAndLoad) == 'function' [LoadVars.as:100]
+PASSED: LoadVars.prototype.hasOwnProperty('toString') [LoadVars.as:103]
+PASSED: typeof(loadvarsObj.toString) == 'function' [LoadVars.as:104]
+PASSED: !LoadVars.prototype.hasOwnProperty('valueOf') [LoadVars.as:107]
+PASSED: loadvarsObj.valueOf == Object.prototype.valueOf [LoadVars.as:108]
+PASSED: typeof(loadvarsObj.valueOf) == 'function' [LoadVars.as:109]
+PASSED: LoadVars.prototype.hasOwnProperty('onData') [LoadVars.as:112]
+PASSED: typeof(loadvarsObj.onData) == 'function' [LoadVars.as:113]
+PASSED: LoadVars.prototype.hasOwnProperty('onLoad') [LoadVars.as:116]
+PASSED: typeof(loadvarsObj.onLoad) == 'function' [LoadVars.as:117]
+PASSED: !LoadVars.prototype.hasOwnProperty('loaded') [LoadVars.as:120]
+PASSED: typeof(loadvarsObj.loaded) == 'undefined' [LoadVars.as:121]
+PASSED: loadvarsObj instanceOf LoadVars [LoadVars.as:205]
+PASSED: loadvarsObj.load( MEDIA(vars.txt) ) [LoadVars.as:207]
+PASSED: typeof(this.loaded) == 'undefined' [LoadVars.as:208]
+PASSED: loadvarsObj.loaded == false [LoadVars.as:211]
+PASSED: varsloaded == 0 [LoadVars.as:214]
+PASSED: loadvarsObj['var1'] == 'previous val1' [LoadVars.as:215]
+PASSED: loadvarsObj['var2'] == undefined [LoadVars.as:216]
+PASSED: this == loadvarsObj [LoadVars.as:177]
+PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:178]
+PASSED: this.loaded == false [LoadVars.as:179]
+PASSED: arguments.length == 1 [LoadVars.as:180]
+PASSED: typeof(src) == 'string' [LoadVars.as:181]
+PASSED: src.substr(0, 10) == 'var1=val1&' [LoadVars.as:182]
+PASSED: src.substr(loadvarsObj.getBytesTotal()-13) == 'var3=val3\n' [LoadVars.as:183]
+PASSED: datareceived == 0 [LoadVars.as:184]
+NOTE: LoadVars.onData called (1), byte loaded: 1126/1126
+NOTE: LoadVars.onLoad called 1. Bytes loaded: 1126/1126
+PASSED: loadvarsObj.getBytesTotal() == loadvarsObj.getBytesLoaded() [LoadVars.as:139]
+PASSED: loadvarsObj.getBytesLoaded() > 10 [LoadVars.as:140]
+PASSED: this == loadvarsObj [LoadVars.as:141]
+PASSED: arguments.length == 1 [LoadVars.as:142]
+PASSED: typeof(success) == 'boolean' [LoadVars.as:143]
+PASSED: success == true [LoadVars.as:144]
+PASSED: this.loaded == success [LoadVars.as:145]
+PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:146]
+PASSED: typeof(this.loaded) == 'number' [LoadVars.as:148]
+PASSED: varsloaded < 3 [LoadVars.as:150]
+PASSED: loadvarsObj.getBytesLoaded() == loadvarsObj.getBytesTotal() [LoadVars.as:153]
+PASSED: loadvarsObj['var1'] == 'val1' [LoadVars.as:159]
+PASSED: loadvarsObj['var2'] == 'val2' [LoadVars.as:161]
+PASSED: loadvarsObj['var3'] == 'val3\n' [LoadVars.as:166]
+check_totals: 72
diff --git a/test/gnash/actionscript.all/LoadVars-7.swf b/test/gnash/actionscript.all/LoadVars-7.swf
new file mode 100644
index 0000000..5545fb3
Binary files /dev/null and b/test/gnash/actionscript.all/LoadVars-7.swf differ
diff --git a/test/gnash/actionscript.all/LoadVars-7.swf.trace b/test/gnash/actionscript.all/LoadVars-7.swf.trace
new file mode 100644
index 0000000..053e298
--- /dev/null
+++ b/test/gnash/actionscript.all/LoadVars-7.swf.trace
@@ -0,0 +1,75 @@
+PASSED: typeof(LoadVars) == 'function' [LoadVars.as:41]
+PASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:46]
+PASSED: LoadVars.prototype.hasOwnProperty('addRequestHeader') [LoadVars.as:49]
+PASSED: typeof(loadvarsObj.addRequestHeader) == 'function' [LoadVars.as:50]
+PASSED: LoadVars.prototype.hasOwnProperty('decode') [LoadVars.as:53]
+PASSED: typeof(loadvarsObj.decode) == 'function' [LoadVars.as:54]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:56]
+PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:57]
+PASSED: loadvarsObj.ud2 == 2 [LoadVars.as:58]
+PASSED: loadvarsObj.ud4 == 4 [LoadVars.as:60]
+PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:61]
+PASSED: loadvarsObj.ud2 == 20 [LoadVars.as:62]
+PASSED: typeof(ret) == 'boolean' [LoadVars.as:64]
+PASSED: ret == false [LoadVars.as:65]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:67]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:70]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:73]
+PASSED: loadvarsObj.ud5 == 5 [LoadVars.as:74]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:77]
+PASSED: loadvarsObj.ud6 == undefined [LoadVars.as:78]
+PASSED: loadvarsObj['ud6'] == 6 [LoadVars.as:79]
+PASSED: loadvarsObj.ud7 == 7 [LoadVars.as:80]
+PASSED: LoadVars.prototype.hasOwnProperty('getBytesLoaded') [LoadVars.as:83]
+PASSED: typeof(loadvarsObj.getBytesLoaded) == 'function' [LoadVars.as:84]
+PASSED: LoadVars.prototype.hasOwnProperty('getBytesTotal') [LoadVars.as:87]
+PASSED: typeof(loadvarsObj.getBytesTotal) == 'function' [LoadVars.as:88]
+PASSED: LoadVars.prototype.hasOwnProperty('load') [LoadVars.as:91]
+PASSED: typeof(loadvarsObj.load) == 'function' [LoadVars.as:92]
+PASSED: LoadVars.prototype.hasOwnProperty('send') [LoadVars.as:95]
+PASSED: typeof(loadvarsObj.send) == 'function' [LoadVars.as:96]
+PASSED: LoadVars.prototype.hasOwnProperty('sendAndLoad') [LoadVars.as:99]
+PASSED: typeof(loadvarsObj.sendAndLoad) == 'function' [LoadVars.as:100]
+PASSED: LoadVars.prototype.hasOwnProperty('toString') [LoadVars.as:103]
+PASSED: typeof(loadvarsObj.toString) == 'function' [LoadVars.as:104]
+PASSED: !LoadVars.prototype.hasOwnProperty('valueOf') [LoadVars.as:107]
+PASSED: loadvarsObj.valueOf == Object.prototype.valueOf [LoadVars.as:108]
+PASSED: typeof(loadvarsObj.valueOf) == 'function' [LoadVars.as:109]
+PASSED: LoadVars.prototype.hasOwnProperty('onData') [LoadVars.as:112]
+PASSED: typeof(loadvarsObj.onData) == 'function' [LoadVars.as:113]
+PASSED: LoadVars.prototype.hasOwnProperty('onLoad') [LoadVars.as:116]
+PASSED: typeof(loadvarsObj.onLoad) == 'function' [LoadVars.as:117]
+PASSED: !LoadVars.prototype.hasOwnProperty('loaded') [LoadVars.as:120]
+PASSED: typeof(loadvarsObj.loaded) == 'undefined' [LoadVars.as:121]
+PASSED: loadvarsObj instanceOf LoadVars [LoadVars.as:205]
+PASSED: loadvarsObj.load( MEDIA(vars.txt) ) [LoadVars.as:207]
+PASSED: typeof(this.loaded) == 'undefined' [LoadVars.as:208]
+PASSED: loadvarsObj.loaded == false [LoadVars.as:211]
+PASSED: varsloaded == 0 [LoadVars.as:214]
+PASSED: loadvarsObj['var1'] == 'previous val1' [LoadVars.as:215]
+PASSED: loadvarsObj['var2'] == undefined [LoadVars.as:216]
+PASSED: this == loadvarsObj [LoadVars.as:177]
+PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:178]
+PASSED: this.loaded == false [LoadVars.as:179]
+PASSED: arguments.length == 1 [LoadVars.as:180]
+PASSED: typeof(src) == 'string' [LoadVars.as:181]
+PASSED: src.substr(0, 10) == 'var1=val1&' [LoadVars.as:182]
+PASSED: src.substr(loadvarsObj.getBytesTotal()-13) == 'var3=val3\n' [LoadVars.as:183]
+PASSED: datareceived == 0 [LoadVars.as:184]
+NOTE: LoadVars.onData called (1), byte loaded: 1126/1126
+NOTE: LoadVars.onLoad called 1. Bytes loaded: 1126/1126
+PASSED: loadvarsObj.getBytesTotal() == loadvarsObj.getBytesLoaded() [LoadVars.as:139]
+PASSED: loadvarsObj.getBytesLoaded() > 10 [LoadVars.as:140]
+PASSED: this == loadvarsObj [LoadVars.as:141]
+PASSED: arguments.length == 1 [LoadVars.as:142]
+PASSED: typeof(success) == 'boolean' [LoadVars.as:143]
+PASSED: success == true [LoadVars.as:144]
+PASSED: this.loaded == success [LoadVars.as:145]
+PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:146]
+PASSED: typeof(this.loaded) == 'number' [LoadVars.as:148]
+PASSED: varsloaded < 3 [LoadVars.as:150]
+PASSED: loadvarsObj.getBytesLoaded() == loadvarsObj.getBytesTotal() [LoadVars.as:153]
+PASSED: loadvarsObj['var1'] == 'val1' [LoadVars.as:159]
+PASSED: loadvarsObj['var2'] == 'val2' [LoadVars.as:161]
+PASSED: loadvarsObj['var3'] == 'val3\n' [LoadVars.as:166]
+check_totals: 72
diff --git a/test/gnash/actionscript.all/LoadVars-8.swf b/test/gnash/actionscript.all/LoadVars-8.swf
new file mode 100644
index 0000000..ff31f1f
Binary files /dev/null and b/test/gnash/actionscript.all/LoadVars-8.swf differ
diff --git a/test/gnash/actionscript.all/LoadVars-8.swf.trace b/test/gnash/actionscript.all/LoadVars-8.swf.trace
new file mode 100644
index 0000000..053e298
--- /dev/null
+++ b/test/gnash/actionscript.all/LoadVars-8.swf.trace
@@ -0,0 +1,75 @@
+PASSED: typeof(LoadVars) == 'function' [LoadVars.as:41]
+PASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:46]
+PASSED: LoadVars.prototype.hasOwnProperty('addRequestHeader') [LoadVars.as:49]
+PASSED: typeof(loadvarsObj.addRequestHeader) == 'function' [LoadVars.as:50]
+PASSED: LoadVars.prototype.hasOwnProperty('decode') [LoadVars.as:53]
+PASSED: typeof(loadvarsObj.decode) == 'function' [LoadVars.as:54]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:56]
+PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:57]
+PASSED: loadvarsObj.ud2 == 2 [LoadVars.as:58]
+PASSED: loadvarsObj.ud4 == 4 [LoadVars.as:60]
+PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:61]
+PASSED: loadvarsObj.ud2 == 20 [LoadVars.as:62]
+PASSED: typeof(ret) == 'boolean' [LoadVars.as:64]
+PASSED: ret == false [LoadVars.as:65]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:67]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:70]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:73]
+PASSED: loadvarsObj.ud5 == 5 [LoadVars.as:74]
+PASSED: typeof(ret) == 'undefined' [LoadVars.as:77]
+PASSED: loadvarsObj.ud6 == undefined [LoadVars.as:78]
+PASSED: loadvarsObj['ud6'] == 6 [LoadVars.as:79]
+PASSED: loadvarsObj.ud7 == 7 [LoadVars.as:80]
+PASSED: LoadVars.prototype.hasOwnProperty('getBytesLoaded') [LoadVars.as:83]
+PASSED: typeof(loadvarsObj.getBytesLoaded) == 'function' [LoadVars.as:84]
+PASSED: LoadVars.prototype.hasOwnProperty('getBytesTotal') [LoadVars.as:87]
+PASSED: typeof(loadvarsObj.getBytesTotal) == 'function' [LoadVars.as:88]
+PASSED: LoadVars.prototype.hasOwnProperty('load') [LoadVars.as:91]
+PASSED: typeof(loadvarsObj.load) == 'function' [LoadVars.as:92]
+PASSED: LoadVars.prototype.hasOwnProperty('send') [LoadVars.as:95]
+PASSED: typeof(loadvarsObj.send) == 'function' [LoadVars.as:96]
+PASSED: LoadVars.prototype.hasOwnProperty('sendAndLoad') [LoadVars.as:99]
+PASSED: typeof(loadvarsObj.sendAndLoad) == 'function' [LoadVars.as:100]
+PASSED: LoadVars.prototype.hasOwnProperty('toString') [LoadVars.as:103]
+PASSED: typeof(loadvarsObj.toString) == 'function' [LoadVars.as:104]
+PASSED: !LoadVars.prototype.hasOwnProperty('valueOf') [LoadVars.as:107]
+PASSED: loadvarsObj.valueOf == Object.prototype.valueOf [LoadVars.as:108]
+PASSED: typeof(loadvarsObj.valueOf) == 'function' [LoadVars.as:109]
+PASSED: LoadVars.prototype.hasOwnProperty('onData') [LoadVars.as:112]
+PASSED: typeof(loadvarsObj.onData) == 'function' [LoadVars.as:113]
+PASSED: LoadVars.prototype.hasOwnProperty('onLoad') [LoadVars.as:116]
+PASSED: typeof(loadvarsObj.onLoad) == 'function' [LoadVars.as:117]
+PASSED: !LoadVars.prototype.hasOwnProperty('loaded') [LoadVars.as:120]
+PASSED: typeof(loadvarsObj.loaded) == 'undefined' [LoadVars.as:121]
+PASSED: loadvarsObj instanceOf LoadVars [LoadVars.as:205]
+PASSED: loadvarsObj.load( MEDIA(vars.txt) ) [LoadVars.as:207]
+PASSED: typeof(this.loaded) == 'undefined' [LoadVars.as:208]
+PASSED: loadvarsObj.loaded == false [LoadVars.as:211]
+PASSED: varsloaded == 0 [LoadVars.as:214]
+PASSED: loadvarsObj['var1'] == 'previous val1' [LoadVars.as:215]
+PASSED: loadvarsObj['var2'] == undefined [LoadVars.as:216]
+PASSED: this == loadvarsObj [LoadVars.as:177]
+PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:178]
+PASSED: this.loaded == false [LoadVars.as:179]
+PASSED: arguments.length == 1 [LoadVars.as:180]
+PASSED: typeof(src) == 'string' [LoadVars.as:181]
+PASSED: src.substr(0, 10) == 'var1=val1&' [LoadVars.as:182]
+PASSED: src.substr(loadvarsObj.getBytesTotal()-13) == 'var3=val3\n' [LoadVars.as:183]
+PASSED: datareceived == 0 [LoadVars.as:184]
+NOTE: LoadVars.onData called (1), byte loaded: 1126/1126
+NOTE: LoadVars.onLoad called 1. Bytes loaded: 1126/1126
+PASSED: loadvarsObj.getBytesTotal() == loadvarsObj.getBytesLoaded() [LoadVars.as:139]
+PASSED: loadvarsObj.getBytesLoaded() > 10 [LoadVars.as:140]
+PASSED: this == loadvarsObj [LoadVars.as:141]
+PASSED: arguments.length == 1 [LoadVars.as:142]
+PASSED: typeof(success) == 'boolean' [LoadVars.as:143]
+PASSED: success == true [LoadVars.as:144]
+PASSED: this.loaded == success [LoadVars.as:145]
+PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:146]
+PASSED: typeof(this.loaded) == 'number' [LoadVars.as:148]
+PASSED: varsloaded < 3 [LoadVars.as:150]
+PASSED: loadvarsObj.getBytesLoaded() == loadvarsObj.getBytesTotal() [LoadVars.as:153]
+PASSED: loadvarsObj['var1'] == 'val1' [LoadVars.as:159]
+PASSED: loadvarsObj['var2'] == 'val2' [LoadVars.as:161]
+PASSED: loadvarsObj['var3'] == 'val3\n' [LoadVars.as:166]
+check_totals: 72
diff --git a/test/gnash/actionscript.all/LoadVars.as b/test/gnash/actionscript.all/LoadVars.as
new file mode 100644
index 0000000..8662da9
--- /dev/null
+++ b/test/gnash/actionscript.all/LoadVars.as
@@ -0,0 +1,222 @@
+// 
+//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+
+// Test case for LoadVars ActionScript class
+// compile this test case with Ming makeswf, and then
+// execute it like this gnash -1 -r 0 -v out.swf
+
+
+rcsid="$Id: LoadVars.as,v 1.29 2008/04/16 23:07:15 strk Exp $";
+#include "check.as"
+
+#if OUTPUT_VERSION < 6
+
+xcheck_equals(typeof(LoadVars), 'function');
+
+var loadvarsObj = new LoadVars;
+
+// test the LoadVars constuctor
+xcheck_equals (typeof(loadvarsObj), 'object');
+
+check_totals(2);
+
+#else // OUTPUT_VERSION >= 6
+
+check_equals(typeof(LoadVars), 'function');
+
+var loadvarsObj = new LoadVars;
+
+// test the LoadVars constuctor
+check_equals (typeof(loadvarsObj), 'object');
+
+// test the LoadVars::addrequestheader method
+check (LoadVars.prototype.hasOwnProperty('addRequestHeader'));
+check_equals (typeof(loadvarsObj.addRequestHeader), 'function');
+
+// test the LoadVars::decode method
+check (LoadVars.prototype.hasOwnProperty('decode'));
+check_equals (typeof(loadvarsObj.decode), 'function');
+ret = loadvarsObj.decode("ud3=3&ud2=2");
+check_equals(typeof(ret), 'undefined');
+check_equals (loadvarsObj.ud3, 3);
+check_equals (loadvarsObj.ud2, 2);
+loadvarsObj.decode("ud4=4&ud2=20");
+check_equals (loadvarsObj.ud4, 4);
+check_equals (loadvarsObj.ud3, 3);
+check_equals (loadvarsObj.ud2, 20);
+ret = loadvarsObj.decode();
+check_equals( typeof(ret), 'boolean');
+check_equals( ret, false );
+ret = loadvarsObj.decode("");
+check_equals( typeof(ret), 'undefined');
+o = {};
+ret = loadvarsObj.decode(o);
+check_equals( typeof(ret), 'undefined');
+o.toString = function() { return "ud5=5"; };
+ret = loadvarsObj.decode(o);
+check_equals( typeof(ret), 'undefined');
+check_equals (loadvarsObj.ud5, 5);
+bomstarting="ud6=6&ud7=7";
+ret = loadvarsObj.decode(bomstarting);
+check_equals( typeof(ret), 'undefined');
+check_equals (loadvarsObj.ud6, undefined);
+check_equals (loadvarsObj['ud6'], 6);
+check_equals (loadvarsObj.ud7, 7);
+
+// test the LoadVars::getbytesloaded method
+check (LoadVars.prototype.hasOwnProperty('getBytesLoaded'));
+check_equals (typeof(loadvarsObj.getBytesLoaded), 'function');
+
+// test the LoadVars::getbytestotal method
+check (LoadVars.prototype.hasOwnProperty('getBytesTotal'));
+check_equals (typeof(loadvarsObj.getBytesTotal), 'function');
+
+// test the LoadVars::load method
+check (LoadVars.prototype.hasOwnProperty('load'));
+check_equals (typeof(loadvarsObj.load), 'function');
+
+// test the LoadVars::send method
+check (LoadVars.prototype.hasOwnProperty('send'));
+check_equals (typeof(loadvarsObj.send), 'function');
+
+// test the LoadVars::sendandload method
+check (LoadVars.prototype.hasOwnProperty('sendAndLoad'));
+check_equals (typeof(loadvarsObj.sendAndLoad), 'function');
+
+// test the LoadVars::tostring method
+check (LoadVars.prototype.hasOwnProperty('toString'));
+check_equals (typeof(loadvarsObj.toString), 'function');
+
+// test the LoadVars::tostring method
+check (!LoadVars.prototype.hasOwnProperty('valueOf'));
+check_equals (loadvarsObj.valueOf, Object.prototype.valueOf);
+check_equals (typeof(loadvarsObj.valueOf), 'function');
+
+// test the LoadVars::onData method
+check (LoadVars.prototype.hasOwnProperty('onData'));
+check_equals (typeof(loadvarsObj.onData), 'function');
+
+// test the LoadVars::onLoad method
+check (LoadVars.prototype.hasOwnProperty('onLoad'));
+check_equals (typeof(loadvarsObj.onLoad), 'function');
+
+// test the LoadVars::loaded member
+check (!LoadVars.prototype.hasOwnProperty('loaded'));
+check_equals (typeof(loadvarsObj.loaded), 'undefined');
+
+//--------------------------------------------------------------------------
+// Test LoadVars::load()
+//--------------------------------------------------------------------------
+
+varsloaded = 0;
+datareceived = 0;
+//var1 = undefined;
+//var2 = undefined;
+loadvarsObj.onLoad = function(success) {
+	varsloaded++;
+	note("LoadVars.onLoad called "+varsloaded+". "
+		+"Bytes loaded: "+loadvarsObj.getBytesLoaded()
+		+"/"+loadvarsObj.getBytesTotal());
+
+	//delete loadvarsObj; // this to test robustness
+
+	check_equals (loadvarsObj.getBytesTotal(), loadvarsObj.getBytesLoaded());
+	check (loadvarsObj.getBytesLoaded() > 10);
+	check_equals (this, loadvarsObj);
+	check_equals(arguments.length, 1);
+	check_equals(typeof(success), 'boolean');
+	check_equals(success, true);
+	check_equals(this.loaded, success);
+	check_equals(typeof(this.loaded), 'boolean');
+	this.loaded = 5;
+	check_equals(typeof(this.loaded), 'number');
+
+	check(varsloaded < 3);
+
+	// onLoad is called after all vars have been called
+	check_equals( loadvarsObj.getBytesLoaded(), loadvarsObj.getBytesTotal() );
+
+	//for (var i in _root) { note("_root["+i+"] = "+_root[i]); }
+
+	if ( varsloaded == 1 )
+	{
+		check_equals(loadvarsObj['var1'], 'val1');
+		//check_equals(loadvarsObj['var1_check'], 'previous val1');
+		check_equals(loadvarsObj['var2'], 'val2');
+		//check_equals(loadvarsObj['v2_var1'], 'val1');
+		//check_equals(loadvarsObj['v2_var2'], 'val2');
+
+		// Gnash insists in looking for an ending & char !!		
+		check_equals(loadvarsObj['var3'], 'val3\n');
+
+		check_totals(72);
+
+		play();
+	}
+};
+
+// onData is called once with full parsed content.
+loadvarsObj.onDataReal = loadvarsObj.onData;
+loadvarsObj.onData = function(src) {
+	check_equals (this, loadvarsObj);
+	check_equals(typeof(this.loaded), 'boolean');
+	check_equals(this.loaded, false);
+	check_equals(arguments.length, 1);
+	check_equals(typeof(src), 'string');
+	check_equals(src.substr(0, 10), 'var1=val1&');
+	check_equals(src.substr(loadvarsObj.getBytesTotal()-13), 'var3=val3\n');
+	check_equals(datareceived, 0);
+	datareceived++; // we expecte it to be called only once ?
+	note("LoadVars.onData called ("+datareceived+"), byte loaded: "
+		+loadvarsObj.getBytesLoaded()
+		+"/"+loadvarsObj.getBytesTotal());
+	this.onDataReal(src);
+	//check_equals(loadvarsObj['var1'], 'val1');
+	//check_equals(loadvarsObj['var2'], 'val2');
+	//for (var i in _root) { note("_root["+i+"] = "+_root[i]); }
+	//play();
+};
+
+loadvarsObj.var1 = "previous val1";
+
+// We expect the loaded file to return this string:
+//
+// 	"var1=val1&var2=val2&"
+//
+// The final '&' char is important, and it must
+// not start with a '?' char.
+// 
+check( loadvarsObj instanceOf LoadVars );
+//check( loadvarsObj.sendAndLoad( 'http://localhost/vars.php', loadvarsObj ) );
+check( loadvarsObj.load( MEDIA(vars.txt) ) );
+check_equals(typeof(this.loaded), 'undefined');
+//loadvarsObj.load( 'vars.cgi' );
+
+check_equals( loadvarsObj.loaded, false );
+//loadvars.Obj.loaded = true;
+//check_equals( loadvarsObj.loaded, false );
+check_equals(varsloaded, 0);
+check_equals(loadvarsObj['var1'], 'previous val1'); // will be overridden
+check_equals(loadvarsObj['var2'], undefined);
+//delete loadvarsObj; // this to test robustness
+
+stop();
+
+#endif //  OUTPUT_VERSION >= 6
+
diff --git a/test/gnash/actionscript.all/Makefile.am b/test/gnash/actionscript.all/Makefile.am
index 2ee7dd1..97690db 100644
--- a/test/gnash/actionscript.all/Makefile.am
+++ b/test/gnash/actionscript.all/Makefile.am
@@ -64,6 +64,15 @@ EXTRA_DIST = \
 	Key-8.swf \
 	Key-8.swf.trace \
 	Key.as \
+	LoadVars-5.swf \
+	LoadVars-5.swf.trace \
+	LoadVars-6.swf \
+	LoadVars-6.swf.trace \
+	LoadVars-7.swf \
+	LoadVars-7.swf.trace \
+	LoadVars-8.swf \
+	LoadVars-8.swf.trace \
+	LoadVars.as \
 	Mouse-5.swf \
 	Mouse-5.swf.trace \
 	Mouse-6.swf \
diff --git a/test/gnash/actionscript.all/pending/LoadVars-5.swf b/test/gnash/actionscript.all/pending/LoadVars-5.swf
deleted file mode 100644
index 644dd18..0000000
Binary files a/test/gnash/actionscript.all/pending/LoadVars-5.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/LoadVars-5.swf.trace b/test/gnash/actionscript.all/pending/LoadVars-5.swf.trace
deleted file mode 100644
index de0f911..0000000
--- a/test/gnash/actionscript.all/pending/LoadVars-5.swf.trace
+++ /dev/null
@@ -1,3 +0,0 @@
-XPASSED: typeof(LoadVars) == 'function' [LoadVars.as:30]
-XPASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:35]
-check_totals: 2
diff --git a/test/gnash/actionscript.all/pending/LoadVars-6.swf b/test/gnash/actionscript.all/pending/LoadVars-6.swf
deleted file mode 100644
index 5569508..0000000
Binary files a/test/gnash/actionscript.all/pending/LoadVars-6.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/LoadVars-6.swf.trace b/test/gnash/actionscript.all/pending/LoadVars-6.swf.trace
deleted file mode 100644
index 053e298..0000000
--- a/test/gnash/actionscript.all/pending/LoadVars-6.swf.trace
+++ /dev/null
@@ -1,75 +0,0 @@
-PASSED: typeof(LoadVars) == 'function' [LoadVars.as:41]
-PASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:46]
-PASSED: LoadVars.prototype.hasOwnProperty('addRequestHeader') [LoadVars.as:49]
-PASSED: typeof(loadvarsObj.addRequestHeader) == 'function' [LoadVars.as:50]
-PASSED: LoadVars.prototype.hasOwnProperty('decode') [LoadVars.as:53]
-PASSED: typeof(loadvarsObj.decode) == 'function' [LoadVars.as:54]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:56]
-PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:57]
-PASSED: loadvarsObj.ud2 == 2 [LoadVars.as:58]
-PASSED: loadvarsObj.ud4 == 4 [LoadVars.as:60]
-PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:61]
-PASSED: loadvarsObj.ud2 == 20 [LoadVars.as:62]
-PASSED: typeof(ret) == 'boolean' [LoadVars.as:64]
-PASSED: ret == false [LoadVars.as:65]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:67]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:70]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:73]
-PASSED: loadvarsObj.ud5 == 5 [LoadVars.as:74]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:77]
-PASSED: loadvarsObj.ud6 == undefined [LoadVars.as:78]
-PASSED: loadvarsObj['ud6'] == 6 [LoadVars.as:79]
-PASSED: loadvarsObj.ud7 == 7 [LoadVars.as:80]
-PASSED: LoadVars.prototype.hasOwnProperty('getBytesLoaded') [LoadVars.as:83]
-PASSED: typeof(loadvarsObj.getBytesLoaded) == 'function' [LoadVars.as:84]
-PASSED: LoadVars.prototype.hasOwnProperty('getBytesTotal') [LoadVars.as:87]
-PASSED: typeof(loadvarsObj.getBytesTotal) == 'function' [LoadVars.as:88]
-PASSED: LoadVars.prototype.hasOwnProperty('load') [LoadVars.as:91]
-PASSED: typeof(loadvarsObj.load) == 'function' [LoadVars.as:92]
-PASSED: LoadVars.prototype.hasOwnProperty('send') [LoadVars.as:95]
-PASSED: typeof(loadvarsObj.send) == 'function' [LoadVars.as:96]
-PASSED: LoadVars.prototype.hasOwnProperty('sendAndLoad') [LoadVars.as:99]
-PASSED: typeof(loadvarsObj.sendAndLoad) == 'function' [LoadVars.as:100]
-PASSED: LoadVars.prototype.hasOwnProperty('toString') [LoadVars.as:103]
-PASSED: typeof(loadvarsObj.toString) == 'function' [LoadVars.as:104]
-PASSED: !LoadVars.prototype.hasOwnProperty('valueOf') [LoadVars.as:107]
-PASSED: loadvarsObj.valueOf == Object.prototype.valueOf [LoadVars.as:108]
-PASSED: typeof(loadvarsObj.valueOf) == 'function' [LoadVars.as:109]
-PASSED: LoadVars.prototype.hasOwnProperty('onData') [LoadVars.as:112]
-PASSED: typeof(loadvarsObj.onData) == 'function' [LoadVars.as:113]
-PASSED: LoadVars.prototype.hasOwnProperty('onLoad') [LoadVars.as:116]
-PASSED: typeof(loadvarsObj.onLoad) == 'function' [LoadVars.as:117]
-PASSED: !LoadVars.prototype.hasOwnProperty('loaded') [LoadVars.as:120]
-PASSED: typeof(loadvarsObj.loaded) == 'undefined' [LoadVars.as:121]
-PASSED: loadvarsObj instanceOf LoadVars [LoadVars.as:205]
-PASSED: loadvarsObj.load( MEDIA(vars.txt) ) [LoadVars.as:207]
-PASSED: typeof(this.loaded) == 'undefined' [LoadVars.as:208]
-PASSED: loadvarsObj.loaded == false [LoadVars.as:211]
-PASSED: varsloaded == 0 [LoadVars.as:214]
-PASSED: loadvarsObj['var1'] == 'previous val1' [LoadVars.as:215]
-PASSED: loadvarsObj['var2'] == undefined [LoadVars.as:216]
-PASSED: this == loadvarsObj [LoadVars.as:177]
-PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:178]
-PASSED: this.loaded == false [LoadVars.as:179]
-PASSED: arguments.length == 1 [LoadVars.as:180]
-PASSED: typeof(src) == 'string' [LoadVars.as:181]
-PASSED: src.substr(0, 10) == 'var1=val1&' [LoadVars.as:182]
-PASSED: src.substr(loadvarsObj.getBytesTotal()-13) == 'var3=val3\n' [LoadVars.as:183]
-PASSED: datareceived == 0 [LoadVars.as:184]
-NOTE: LoadVars.onData called (1), byte loaded: 1126/1126
-NOTE: LoadVars.onLoad called 1. Bytes loaded: 1126/1126
-PASSED: loadvarsObj.getBytesTotal() == loadvarsObj.getBytesLoaded() [LoadVars.as:139]
-PASSED: loadvarsObj.getBytesLoaded() > 10 [LoadVars.as:140]
-PASSED: this == loadvarsObj [LoadVars.as:141]
-PASSED: arguments.length == 1 [LoadVars.as:142]
-PASSED: typeof(success) == 'boolean' [LoadVars.as:143]
-PASSED: success == true [LoadVars.as:144]
-PASSED: this.loaded == success [LoadVars.as:145]
-PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:146]
-PASSED: typeof(this.loaded) == 'number' [LoadVars.as:148]
-PASSED: varsloaded < 3 [LoadVars.as:150]
-PASSED: loadvarsObj.getBytesLoaded() == loadvarsObj.getBytesTotal() [LoadVars.as:153]
-PASSED: loadvarsObj['var1'] == 'val1' [LoadVars.as:159]
-PASSED: loadvarsObj['var2'] == 'val2' [LoadVars.as:161]
-PASSED: loadvarsObj['var3'] == 'val3\n' [LoadVars.as:166]
-check_totals: 72
diff --git a/test/gnash/actionscript.all/pending/LoadVars-7.swf b/test/gnash/actionscript.all/pending/LoadVars-7.swf
deleted file mode 100644
index 5545fb3..0000000
Binary files a/test/gnash/actionscript.all/pending/LoadVars-7.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/LoadVars-7.swf.trace b/test/gnash/actionscript.all/pending/LoadVars-7.swf.trace
deleted file mode 100644
index 053e298..0000000
--- a/test/gnash/actionscript.all/pending/LoadVars-7.swf.trace
+++ /dev/null
@@ -1,75 +0,0 @@
-PASSED: typeof(LoadVars) == 'function' [LoadVars.as:41]
-PASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:46]
-PASSED: LoadVars.prototype.hasOwnProperty('addRequestHeader') [LoadVars.as:49]
-PASSED: typeof(loadvarsObj.addRequestHeader) == 'function' [LoadVars.as:50]
-PASSED: LoadVars.prototype.hasOwnProperty('decode') [LoadVars.as:53]
-PASSED: typeof(loadvarsObj.decode) == 'function' [LoadVars.as:54]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:56]
-PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:57]
-PASSED: loadvarsObj.ud2 == 2 [LoadVars.as:58]
-PASSED: loadvarsObj.ud4 == 4 [LoadVars.as:60]
-PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:61]
-PASSED: loadvarsObj.ud2 == 20 [LoadVars.as:62]
-PASSED: typeof(ret) == 'boolean' [LoadVars.as:64]
-PASSED: ret == false [LoadVars.as:65]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:67]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:70]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:73]
-PASSED: loadvarsObj.ud5 == 5 [LoadVars.as:74]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:77]
-PASSED: loadvarsObj.ud6 == undefined [LoadVars.as:78]
-PASSED: loadvarsObj['ud6'] == 6 [LoadVars.as:79]
-PASSED: loadvarsObj.ud7 == 7 [LoadVars.as:80]
-PASSED: LoadVars.prototype.hasOwnProperty('getBytesLoaded') [LoadVars.as:83]
-PASSED: typeof(loadvarsObj.getBytesLoaded) == 'function' [LoadVars.as:84]
-PASSED: LoadVars.prototype.hasOwnProperty('getBytesTotal') [LoadVars.as:87]
-PASSED: typeof(loadvarsObj.getBytesTotal) == 'function' [LoadVars.as:88]
-PASSED: LoadVars.prototype.hasOwnProperty('load') [LoadVars.as:91]
-PASSED: typeof(loadvarsObj.load) == 'function' [LoadVars.as:92]
-PASSED: LoadVars.prototype.hasOwnProperty('send') [LoadVars.as:95]
-PASSED: typeof(loadvarsObj.send) == 'function' [LoadVars.as:96]
-PASSED: LoadVars.prototype.hasOwnProperty('sendAndLoad') [LoadVars.as:99]
-PASSED: typeof(loadvarsObj.sendAndLoad) == 'function' [LoadVars.as:100]
-PASSED: LoadVars.prototype.hasOwnProperty('toString') [LoadVars.as:103]
-PASSED: typeof(loadvarsObj.toString) == 'function' [LoadVars.as:104]
-PASSED: !LoadVars.prototype.hasOwnProperty('valueOf') [LoadVars.as:107]
-PASSED: loadvarsObj.valueOf == Object.prototype.valueOf [LoadVars.as:108]
-PASSED: typeof(loadvarsObj.valueOf) == 'function' [LoadVars.as:109]
-PASSED: LoadVars.prototype.hasOwnProperty('onData') [LoadVars.as:112]
-PASSED: typeof(loadvarsObj.onData) == 'function' [LoadVars.as:113]
-PASSED: LoadVars.prototype.hasOwnProperty('onLoad') [LoadVars.as:116]
-PASSED: typeof(loadvarsObj.onLoad) == 'function' [LoadVars.as:117]
-PASSED: !LoadVars.prototype.hasOwnProperty('loaded') [LoadVars.as:120]
-PASSED: typeof(loadvarsObj.loaded) == 'undefined' [LoadVars.as:121]
-PASSED: loadvarsObj instanceOf LoadVars [LoadVars.as:205]
-PASSED: loadvarsObj.load( MEDIA(vars.txt) ) [LoadVars.as:207]
-PASSED: typeof(this.loaded) == 'undefined' [LoadVars.as:208]
-PASSED: loadvarsObj.loaded == false [LoadVars.as:211]
-PASSED: varsloaded == 0 [LoadVars.as:214]
-PASSED: loadvarsObj['var1'] == 'previous val1' [LoadVars.as:215]
-PASSED: loadvarsObj['var2'] == undefined [LoadVars.as:216]
-PASSED: this == loadvarsObj [LoadVars.as:177]
-PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:178]
-PASSED: this.loaded == false [LoadVars.as:179]
-PASSED: arguments.length == 1 [LoadVars.as:180]
-PASSED: typeof(src) == 'string' [LoadVars.as:181]
-PASSED: src.substr(0, 10) == 'var1=val1&' [LoadVars.as:182]
-PASSED: src.substr(loadvarsObj.getBytesTotal()-13) == 'var3=val3\n' [LoadVars.as:183]
-PASSED: datareceived == 0 [LoadVars.as:184]
-NOTE: LoadVars.onData called (1), byte loaded: 1126/1126
-NOTE: LoadVars.onLoad called 1. Bytes loaded: 1126/1126
-PASSED: loadvarsObj.getBytesTotal() == loadvarsObj.getBytesLoaded() [LoadVars.as:139]
-PASSED: loadvarsObj.getBytesLoaded() > 10 [LoadVars.as:140]
-PASSED: this == loadvarsObj [LoadVars.as:141]
-PASSED: arguments.length == 1 [LoadVars.as:142]
-PASSED: typeof(success) == 'boolean' [LoadVars.as:143]
-PASSED: success == true [LoadVars.as:144]
-PASSED: this.loaded == success [LoadVars.as:145]
-PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:146]
-PASSED: typeof(this.loaded) == 'number' [LoadVars.as:148]
-PASSED: varsloaded < 3 [LoadVars.as:150]
-PASSED: loadvarsObj.getBytesLoaded() == loadvarsObj.getBytesTotal() [LoadVars.as:153]
-PASSED: loadvarsObj['var1'] == 'val1' [LoadVars.as:159]
-PASSED: loadvarsObj['var2'] == 'val2' [LoadVars.as:161]
-PASSED: loadvarsObj['var3'] == 'val3\n' [LoadVars.as:166]
-check_totals: 72
diff --git a/test/gnash/actionscript.all/pending/LoadVars-8.swf b/test/gnash/actionscript.all/pending/LoadVars-8.swf
deleted file mode 100644
index ff31f1f..0000000
Binary files a/test/gnash/actionscript.all/pending/LoadVars-8.swf and /dev/null differ
diff --git a/test/gnash/actionscript.all/pending/LoadVars-8.swf.trace b/test/gnash/actionscript.all/pending/LoadVars-8.swf.trace
deleted file mode 100644
index 053e298..0000000
--- a/test/gnash/actionscript.all/pending/LoadVars-8.swf.trace
+++ /dev/null
@@ -1,75 +0,0 @@
-PASSED: typeof(LoadVars) == 'function' [LoadVars.as:41]
-PASSED: typeof(loadvarsObj) == 'object' [LoadVars.as:46]
-PASSED: LoadVars.prototype.hasOwnProperty('addRequestHeader') [LoadVars.as:49]
-PASSED: typeof(loadvarsObj.addRequestHeader) == 'function' [LoadVars.as:50]
-PASSED: LoadVars.prototype.hasOwnProperty('decode') [LoadVars.as:53]
-PASSED: typeof(loadvarsObj.decode) == 'function' [LoadVars.as:54]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:56]
-PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:57]
-PASSED: loadvarsObj.ud2 == 2 [LoadVars.as:58]
-PASSED: loadvarsObj.ud4 == 4 [LoadVars.as:60]
-PASSED: loadvarsObj.ud3 == 3 [LoadVars.as:61]
-PASSED: loadvarsObj.ud2 == 20 [LoadVars.as:62]
-PASSED: typeof(ret) == 'boolean' [LoadVars.as:64]
-PASSED: ret == false [LoadVars.as:65]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:67]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:70]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:73]
-PASSED: loadvarsObj.ud5 == 5 [LoadVars.as:74]
-PASSED: typeof(ret) == 'undefined' [LoadVars.as:77]
-PASSED: loadvarsObj.ud6 == undefined [LoadVars.as:78]
-PASSED: loadvarsObj['ud6'] == 6 [LoadVars.as:79]
-PASSED: loadvarsObj.ud7 == 7 [LoadVars.as:80]
-PASSED: LoadVars.prototype.hasOwnProperty('getBytesLoaded') [LoadVars.as:83]
-PASSED: typeof(loadvarsObj.getBytesLoaded) == 'function' [LoadVars.as:84]
-PASSED: LoadVars.prototype.hasOwnProperty('getBytesTotal') [LoadVars.as:87]
-PASSED: typeof(loadvarsObj.getBytesTotal) == 'function' [LoadVars.as:88]
-PASSED: LoadVars.prototype.hasOwnProperty('load') [LoadVars.as:91]
-PASSED: typeof(loadvarsObj.load) == 'function' [LoadVars.as:92]
-PASSED: LoadVars.prototype.hasOwnProperty('send') [LoadVars.as:95]
-PASSED: typeof(loadvarsObj.send) == 'function' [LoadVars.as:96]
-PASSED: LoadVars.prototype.hasOwnProperty('sendAndLoad') [LoadVars.as:99]
-PASSED: typeof(loadvarsObj.sendAndLoad) == 'function' [LoadVars.as:100]
-PASSED: LoadVars.prototype.hasOwnProperty('toString') [LoadVars.as:103]
-PASSED: typeof(loadvarsObj.toString) == 'function' [LoadVars.as:104]
-PASSED: !LoadVars.prototype.hasOwnProperty('valueOf') [LoadVars.as:107]
-PASSED: loadvarsObj.valueOf == Object.prototype.valueOf [LoadVars.as:108]
-PASSED: typeof(loadvarsObj.valueOf) == 'function' [LoadVars.as:109]
-PASSED: LoadVars.prototype.hasOwnProperty('onData') [LoadVars.as:112]
-PASSED: typeof(loadvarsObj.onData) == 'function' [LoadVars.as:113]
-PASSED: LoadVars.prototype.hasOwnProperty('onLoad') [LoadVars.as:116]
-PASSED: typeof(loadvarsObj.onLoad) == 'function' [LoadVars.as:117]
-PASSED: !LoadVars.prototype.hasOwnProperty('loaded') [LoadVars.as:120]
-PASSED: typeof(loadvarsObj.loaded) == 'undefined' [LoadVars.as:121]
-PASSED: loadvarsObj instanceOf LoadVars [LoadVars.as:205]
-PASSED: loadvarsObj.load( MEDIA(vars.txt) ) [LoadVars.as:207]
-PASSED: typeof(this.loaded) == 'undefined' [LoadVars.as:208]
-PASSED: loadvarsObj.loaded == false [LoadVars.as:211]
-PASSED: varsloaded == 0 [LoadVars.as:214]
-PASSED: loadvarsObj['var1'] == 'previous val1' [LoadVars.as:215]
-PASSED: loadvarsObj['var2'] == undefined [LoadVars.as:216]
-PASSED: this == loadvarsObj [LoadVars.as:177]
-PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:178]
-PASSED: this.loaded == false [LoadVars.as:179]
-PASSED: arguments.length == 1 [LoadVars.as:180]
-PASSED: typeof(src) == 'string' [LoadVars.as:181]
-PASSED: src.substr(0, 10) == 'var1=val1&' [LoadVars.as:182]
-PASSED: src.substr(loadvarsObj.getBytesTotal()-13) == 'var3=val3\n' [LoadVars.as:183]
-PASSED: datareceived == 0 [LoadVars.as:184]
-NOTE: LoadVars.onData called (1), byte loaded: 1126/1126
-NOTE: LoadVars.onLoad called 1. Bytes loaded: 1126/1126
-PASSED: loadvarsObj.getBytesTotal() == loadvarsObj.getBytesLoaded() [LoadVars.as:139]
-PASSED: loadvarsObj.getBytesLoaded() > 10 [LoadVars.as:140]
-PASSED: this == loadvarsObj [LoadVars.as:141]
-PASSED: arguments.length == 1 [LoadVars.as:142]
-PASSED: typeof(success) == 'boolean' [LoadVars.as:143]
-PASSED: success == true [LoadVars.as:144]
-PASSED: this.loaded == success [LoadVars.as:145]
-PASSED: typeof(this.loaded) == 'boolean' [LoadVars.as:146]
-PASSED: typeof(this.loaded) == 'number' [LoadVars.as:148]
-PASSED: varsloaded < 3 [LoadVars.as:150]
-PASSED: loadvarsObj.getBytesLoaded() == loadvarsObj.getBytesTotal() [LoadVars.as:153]
-PASSED: loadvarsObj['var1'] == 'val1' [LoadVars.as:159]
-PASSED: loadvarsObj['var2'] == 'val2' [LoadVars.as:161]
-PASSED: loadvarsObj['var3'] == 'val3\n' [LoadVars.as:166]
-check_totals: 72
diff --git a/test/gnash/actionscript.all/pending/LoadVars.as b/test/gnash/actionscript.all/pending/LoadVars.as
deleted file mode 100644
index 8662da9..0000000
--- a/test/gnash/actionscript.all/pending/LoadVars.as
+++ /dev/null
@@ -1,222 +0,0 @@
-// 
-//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-
-// Test case for LoadVars ActionScript class
-// compile this test case with Ming makeswf, and then
-// execute it like this gnash -1 -r 0 -v out.swf
-
-
-rcsid="$Id: LoadVars.as,v 1.29 2008/04/16 23:07:15 strk Exp $";
-#include "check.as"
-
-#if OUTPUT_VERSION < 6
-
-xcheck_equals(typeof(LoadVars), 'function');
-
-var loadvarsObj = new LoadVars;
-
-// test the LoadVars constuctor
-xcheck_equals (typeof(loadvarsObj), 'object');
-
-check_totals(2);
-
-#else // OUTPUT_VERSION >= 6
-
-check_equals(typeof(LoadVars), 'function');
-
-var loadvarsObj = new LoadVars;
-
-// test the LoadVars constuctor
-check_equals (typeof(loadvarsObj), 'object');
-
-// test the LoadVars::addrequestheader method
-check (LoadVars.prototype.hasOwnProperty('addRequestHeader'));
-check_equals (typeof(loadvarsObj.addRequestHeader), 'function');
-
-// test the LoadVars::decode method
-check (LoadVars.prototype.hasOwnProperty('decode'));
-check_equals (typeof(loadvarsObj.decode), 'function');
-ret = loadvarsObj.decode("ud3=3&ud2=2");
-check_equals(typeof(ret), 'undefined');
-check_equals (loadvarsObj.ud3, 3);
-check_equals (loadvarsObj.ud2, 2);
-loadvarsObj.decode("ud4=4&ud2=20");
-check_equals (loadvarsObj.ud4, 4);
-check_equals (loadvarsObj.ud3, 3);
-check_equals (loadvarsObj.ud2, 20);
-ret = loadvarsObj.decode();
-check_equals( typeof(ret), 'boolean');
-check_equals( ret, false );
-ret = loadvarsObj.decode("");
-check_equals( typeof(ret), 'undefined');
-o = {};
-ret = loadvarsObj.decode(o);
-check_equals( typeof(ret), 'undefined');
-o.toString = function() { return "ud5=5"; };
-ret = loadvarsObj.decode(o);
-check_equals( typeof(ret), 'undefined');
-check_equals (loadvarsObj.ud5, 5);
-bomstarting="ud6=6&ud7=7";
-ret = loadvarsObj.decode(bomstarting);
-check_equals( typeof(ret), 'undefined');
-check_equals (loadvarsObj.ud6, undefined);
-check_equals (loadvarsObj['ud6'], 6);
-check_equals (loadvarsObj.ud7, 7);
-
-// test the LoadVars::getbytesloaded method
-check (LoadVars.prototype.hasOwnProperty('getBytesLoaded'));
-check_equals (typeof(loadvarsObj.getBytesLoaded), 'function');
-
-// test the LoadVars::getbytestotal method
-check (LoadVars.prototype.hasOwnProperty('getBytesTotal'));
-check_equals (typeof(loadvarsObj.getBytesTotal), 'function');
-
-// test the LoadVars::load method
-check (LoadVars.prototype.hasOwnProperty('load'));
-check_equals (typeof(loadvarsObj.load), 'function');
-
-// test the LoadVars::send method
-check (LoadVars.prototype.hasOwnProperty('send'));
-check_equals (typeof(loadvarsObj.send), 'function');
-
-// test the LoadVars::sendandload method
-check (LoadVars.prototype.hasOwnProperty('sendAndLoad'));
-check_equals (typeof(loadvarsObj.sendAndLoad), 'function');
-
-// test the LoadVars::tostring method
-check (LoadVars.prototype.hasOwnProperty('toString'));
-check_equals (typeof(loadvarsObj.toString), 'function');
-
-// test the LoadVars::tostring method
-check (!LoadVars.prototype.hasOwnProperty('valueOf'));
-check_equals (loadvarsObj.valueOf, Object.prototype.valueOf);
-check_equals (typeof(loadvarsObj.valueOf), 'function');
-
-// test the LoadVars::onData method
-check (LoadVars.prototype.hasOwnProperty('onData'));
-check_equals (typeof(loadvarsObj.onData), 'function');
-
-// test the LoadVars::onLoad method
-check (LoadVars.prototype.hasOwnProperty('onLoad'));
-check_equals (typeof(loadvarsObj.onLoad), 'function');
-
-// test the LoadVars::loaded member
-check (!LoadVars.prototype.hasOwnProperty('loaded'));
-check_equals (typeof(loadvarsObj.loaded), 'undefined');
-
-//--------------------------------------------------------------------------
-// Test LoadVars::load()
-//--------------------------------------------------------------------------
-
-varsloaded = 0;
-datareceived = 0;
-//var1 = undefined;
-//var2 = undefined;
-loadvarsObj.onLoad = function(success) {
-	varsloaded++;
-	note("LoadVars.onLoad called "+varsloaded+". "
-		+"Bytes loaded: "+loadvarsObj.getBytesLoaded()
-		+"/"+loadvarsObj.getBytesTotal());
-
-	//delete loadvarsObj; // this to test robustness
-
-	check_equals (loadvarsObj.getBytesTotal(), loadvarsObj.getBytesLoaded());
-	check (loadvarsObj.getBytesLoaded() > 10);
-	check_equals (this, loadvarsObj);
-	check_equals(arguments.length, 1);
-	check_equals(typeof(success), 'boolean');
-	check_equals(success, true);
-	check_equals(this.loaded, success);
-	check_equals(typeof(this.loaded), 'boolean');
-	this.loaded = 5;
-	check_equals(typeof(this.loaded), 'number');
-
-	check(varsloaded < 3);
-
-	// onLoad is called after all vars have been called
-	check_equals( loadvarsObj.getBytesLoaded(), loadvarsObj.getBytesTotal() );
-
-	//for (var i in _root) { note("_root["+i+"] = "+_root[i]); }
-
-	if ( varsloaded == 1 )
-	{
-		check_equals(loadvarsObj['var1'], 'val1');
-		//check_equals(loadvarsObj['var1_check'], 'previous val1');
-		check_equals(loadvarsObj['var2'], 'val2');
-		//check_equals(loadvarsObj['v2_var1'], 'val1');
-		//check_equals(loadvarsObj['v2_var2'], 'val2');
-
-		// Gnash insists in looking for an ending & char !!		
-		check_equals(loadvarsObj['var3'], 'val3\n');
-
-		check_totals(72);
-
-		play();
-	}
-};
-
-// onData is called once with full parsed content.
-loadvarsObj.onDataReal = loadvarsObj.onData;
-loadvarsObj.onData = function(src) {
-	check_equals (this, loadvarsObj);
-	check_equals(typeof(this.loaded), 'boolean');
-	check_equals(this.loaded, false);
-	check_equals(arguments.length, 1);
-	check_equals(typeof(src), 'string');
-	check_equals(src.substr(0, 10), 'var1=val1&');
-	check_equals(src.substr(loadvarsObj.getBytesTotal()-13), 'var3=val3\n');
-	check_equals(datareceived, 0);
-	datareceived++; // we expecte it to be called only once ?
-	note("LoadVars.onData called ("+datareceived+"), byte loaded: "
-		+loadvarsObj.getBytesLoaded()
-		+"/"+loadvarsObj.getBytesTotal());
-	this.onDataReal(src);
-	//check_equals(loadvarsObj['var1'], 'val1');
-	//check_equals(loadvarsObj['var2'], 'val2');
-	//for (var i in _root) { note("_root["+i+"] = "+_root[i]); }
-	//play();
-};
-
-loadvarsObj.var1 = "previous val1";
-
-// We expect the loaded file to return this string:
-//
-// 	"var1=val1&var2=val2&"
-//
-// The final '&' char is important, and it must
-// not start with a '?' char.
-// 
-check( loadvarsObj instanceOf LoadVars );
-//check( loadvarsObj.sendAndLoad( 'http://localhost/vars.php', loadvarsObj ) );
-check( loadvarsObj.load( MEDIA(vars.txt) ) );
-check_equals(typeof(this.loaded), 'undefined');
-//loadvarsObj.load( 'vars.cgi' );
-
-check_equals( loadvarsObj.loaded, false );
-//loadvars.Obj.loaded = true;
-//check_equals( loadvarsObj.loaded, false );
-check_equals(varsloaded, 0);
-check_equals(loadvarsObj['var1'], 'previous val1'); // will be overridden
-check_equals(loadvarsObj['var2'], undefined);
-//delete loadvarsObj; // this to test robustness
-
-stop();
-
-#endif //  OUTPUT_VERSION >= 6
-
commit 9dcee36d17361ea120b1e869642655febc20b97c
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Jul 8 13:34:48 2008 +0300

    Add a test for LoadVars.decode's return values

diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 97247f9..ee64abc 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -1804,6 +1804,15 @@ EXTRA_DIST = \
 	loadvars-decode-7.swf.trace \
 	loadvars-decode-8.swf \
 	loadvars-decode-8.swf.trace \
+	loadvars-decode-return.as \
+	loadvars-decode-return-5.swf \
+	loadvars-decode-return-5.swf.trace \
+	loadvars-decode-return-6.swf \
+	loadvars-decode-return-6.swf.trace \
+	loadvars-decode-return-7.swf \
+	loadvars-decode-return-7.swf.trace \
+	loadvars-decode-return-8.swf \
+	loadvars-decode-return-8.swf.trace \
 	loadvars-properties.as \
 	loadvars-properties-5.swf \
 	loadvars-properties-5.swf.trace \
diff --git a/test/trace/loadvars-decode-return-5.swf b/test/trace/loadvars-decode-return-5.swf
new file mode 100644
index 0000000..9c74dac
Binary files /dev/null and b/test/trace/loadvars-decode-return-5.swf differ
diff --git a/test/trace/loadvars-decode-return-5.swf.trace b/test/trace/loadvars-decode-return-5.swf.trace
new file mode 100644
index 0000000..f7b6b36
--- /dev/null
+++ b/test/trace/loadvars-decode-return-5.swf.trace
@@ -0,0 +1,9 @@
+undefined
+undefined
+undefined
+undefined
+undefined
+undefined
+false
+undefined
+undefined
diff --git a/test/trace/loadvars-decode-return-6.swf b/test/trace/loadvars-decode-return-6.swf
new file mode 100644
index 0000000..bb7ba39
Binary files /dev/null and b/test/trace/loadvars-decode-return-6.swf differ
diff --git a/test/trace/loadvars-decode-return-6.swf.trace b/test/trace/loadvars-decode-return-6.swf.trace
new file mode 100644
index 0000000..c55985c
--- /dev/null
+++ b/test/trace/loadvars-decode-return-6.swf.trace
@@ -0,0 +1,9 @@
+undefined
+false
+undefined
+undefined
+undefined
+undefined
+false
+undefined
+false
diff --git a/test/trace/loadvars-decode-return-7.swf b/test/trace/loadvars-decode-return-7.swf
new file mode 100644
index 0000000..9bf69a8
Binary files /dev/null and b/test/trace/loadvars-decode-return-7.swf differ
diff --git a/test/trace/loadvars-decode-return-7.swf.trace b/test/trace/loadvars-decode-return-7.swf.trace
new file mode 100644
index 0000000..c55985c
--- /dev/null
+++ b/test/trace/loadvars-decode-return-7.swf.trace
@@ -0,0 +1,9 @@
+undefined
+false
+undefined
+undefined
+undefined
+undefined
+false
+undefined
+false
diff --git a/test/trace/loadvars-decode-return-8.swf b/test/trace/loadvars-decode-return-8.swf
new file mode 100644
index 0000000..8ce2efd
Binary files /dev/null and b/test/trace/loadvars-decode-return-8.swf differ
diff --git a/test/trace/loadvars-decode-return-8.swf.trace b/test/trace/loadvars-decode-return-8.swf.trace
new file mode 100644
index 0000000..c55985c
--- /dev/null
+++ b/test/trace/loadvars-decode-return-8.swf.trace
@@ -0,0 +1,9 @@
+undefined
+false
+undefined
+undefined
+undefined
+undefined
+false
+undefined
+false
diff --git a/test/trace/loadvars-decode-return.as b/test/trace/loadvars-decode-return.as
new file mode 100644
index 0000000..2285952
--- /dev/null
+++ b/test/trace/loadvars-decode-return.as
@@ -0,0 +1,20 @@
+// makeswf -v 7 -s 200x150 -r 1 -o loadvars-decode.swf loadvars-decode.as
+
+var l = new LoadVars ();
+trace (l.decode ("a=b&c=d"));
+trace (l.decode ());
+trace (l.decode (""));
+trace (l.decode (undefined));
+trace (l.decode ("a=b&c=d", "e=f"));
+
+var o = {};
+o.decode = ASnative (301, 3);
+trace (o.decode ("a=b&c=d"));
+trace (o.decode ());
+
+createEmptyMovieClip ("a", 0);
+a.decode = ASnative (301, 3);
+trace (a.decode ("a=b&c=d"));
+trace (a.decode ());
+
+getURL ("fscommand:quit", "");
commit 86da083ee388d65bc9c71aabb223de3dc4c9fc7e
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Jul 8 13:33:48 2008 +0300

    Return false in LoadVars.decode if no argument(s) are given

diff --git a/swfdec/swfdec_loadvars_as.c b/swfdec/swfdec_loadvars_as.c
index 600dcb0..cd510ae 100644
--- a/swfdec/swfdec_loadvars_as.c
+++ b/swfdec/swfdec_loadvars_as.c
@@ -39,8 +39,15 @@ void
 swfdec_loadvars_decode (SwfdecAsContext *cx, SwfdecAsObject *obj,
     guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval)
 {
-  if (argc < 1 || obj == NULL)
+  if (obj == NULL) {
+    g_printerr ("heer\n");
     return;
+  }
+
+  if (argc < 1) {
+    SWFDEC_AS_VALUE_SET_BOOLEAN (rval, FALSE);
+    return;
+  }
 
   swfdec_as_object_decode (obj, swfdec_as_value_to_string (cx, &argv[0]));
 }
commit 08dfb1d5b1e3599b328513bf428fd63d4ef922bb
Merge: 7af3b87... 9b38cb7...
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Jul 5 02:14:14 2008 +0300

    Merge branch 'master' of ssh://medar@git.freedesktop.org/git/swfdec/swfdec

commit 7af3b8787540e9d8fd0f63927a2a72ee6609f5e2
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sat Jul 5 00:42:15 2008 +0300

    Add stubs for NetStream.bufferLength and NetStream.bufferTime

diff --git a/swfdec/swfdec_as_strings.c b/swfdec/swfdec_as_strings.c
index 6a24e67..126713a 100644
--- a/swfdec/swfdec_as_strings.c
+++ b/swfdec/swfdec_as_strings.c
@@ -515,5 +515,7 @@ const char swfdec_as_strings[] =
   SWFDEC_AS_CONSTANT_STRING ("geom")
   SWFDEC_AS_CONSTANT_STRING ("ColorTransform")
   SWFDEC_AS_CONSTANT_STRING ("Transform")
+  SWFDEC_AS_CONSTANT_STRING ("bufferLength")
+  SWFDEC_AS_CONSTANT_STRING ("bufferTime")
   /* add more here */
 ;
diff --git a/swfdec/swfdec_net_stream.c b/swfdec/swfdec_net_stream.c
index 0ea5b8f..885b634 100644
--- a/swfdec/swfdec_net_stream.c
+++ b/swfdec/swfdec_net_stream.c
@@ -506,6 +506,10 @@ swfdec_net_stream_get_variable (SwfdecAsObject *object, SwfdecAsObject *orig,
     SWFDEC_AS_VALUE_SET_NUMBER (val, bytes);
     *flags = 0;
     return TRUE;
+  } else if (variable == SWFDEC_AS_STR_bufferLength) {
+    SWFDEC_STUB ("Netstream.bufferLength (get)");
+  } else if (variable == SWFDEC_AS_STR_bufferTime) {
+    SWFDEC_STUB ("Netstream.bufferTime (get)");
   }
   return FALSE;
 }


More information about the Swfdec-commits mailing list