Pekka Lampila
2007-Oct-25 08:50 UTC
[Swfdec] 18 commits - libswfdec/swfdec_player_internal.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_format.c libswfdec/swfdec_text_format.h libswfdec/swfdec_xml.c libswfdec/swfdec_xml_node.c libswfdec/swfdec_xml_node.h test/trace
dev/null |binary libswfdec/swfdec_player_internal.h | 2 libswfdec/swfdec_text_field_movie_as.c | 57 +++++--- libswfdec/swfdec_text_format.c | 13 + libswfdec/swfdec_text_format.h | 1 libswfdec/swfdec_xml.c | 72 ++++++---- libswfdec/swfdec_xml_node.c | 118 ++++++++++------- libswfdec/swfdec_xml_node.h | 5 test/trace/Makefile.am | 59 +++++++- test/trace/text-field-get-text-format-5.swf |binary test/trace/text-field-get-text-format-5.swf.trace | 10 + test/trace/text-field-get-text-format-6.swf |binary test/trace/text-field-get-text-format-6.swf.trace | 101 ++++++++++++++ test/trace/text-field-get-text-format-7.swf |binary test/trace/text-field-get-text-format-7.swf.trace | 88 ++++++++++++ test/trace/text-field-get-text-format-8.swf |binary test/trace/text-field-get-text-format-8.swf.trace | 88 ++++++++++++ test/trace/text-field-get-text-format.as | 58 ++++++++ test/trace/text-field-init-5.swf |binary test/trace/text-field-init-5.swf.trace | 12 + test/trace/text-field-init-6.swf |binary test/trace/text-field-init-6.swf.trace | 12 + test/trace/text-field-init-7.swf |binary test/trace/text-field-init-7.swf.trace | 12 + test/trace/text-field-init-8.swf |binary test/trace/text-field-init-8.swf.trace | 12 + test/trace/text-field-init.as | 47 ++++++ test/trace/text-field-scroll-5.swf |binary test/trace/text-field-scroll-5.swf.trace | 18 +- test/trace/text-field-scroll-6.swf |binary test/trace/text-field-scroll-6.swf.trace | 16 +- test/trace/text-field-scroll-7.swf |binary test/trace/text-field-scroll-7.swf.trace | 18 +- test/trace/text-field-scroll-8.swf |binary test/trace/text-field-scroll-8.swf.trace | 18 +- test/trace/text-field-scroll.as | 6 test/trace/text-field-set-text-format-5.swf |binary test/trace/text-field-set-text-format-5.swf.trace | 19 ++ test/trace/text-field-set-text-format-6.swf |binary test/trace/text-field-set-text-format-6.swf.trace | 149 ++++++++++++++++++++++ test/trace/text-field-set-text-format-7.swf |binary test/trace/text-field-set-text-format-7.swf.trace | 139 ++++++++++++++++++++ test/trace/text-field-set-text-format-8.swf |binary test/trace/text-field-set-text-format-8.swf.trace | 139 ++++++++++++++++++++ test/trace/text-field-set-text-format.as | 95 ++++++++++++++ test/trace/textformat-init-5.swf |binary test/trace/textformat-init-5.swf.trace | 11 + test/trace/textformat-init-6.swf |binary test/trace/textformat-init-6.swf.trace | 11 + test/trace/textformat-init-7.swf |binary test/trace/textformat-init-7.swf.trace | 11 + test/trace/textformat-init-8.swf |binary test/trace/textformat-init-8.swf.trace | 11 + test/trace/textformat-init.as | 38 +++++ test/trace/xml-constructor-properties-5.swf.trace | 60 -------- test/trace/xml-constructor-properties-6.swf.trace | 60 -------- test/trace/xml-constructor-properties-7.swf.trace | 60 -------- test/trace/xml-constructor-properties.as | 68 ---------- test/trace/xml-init-5.swf |binary test/trace/xml-init-5.swf.trace | 3 test/trace/xml-init-6.swf |binary test/trace/xml-init-6.swf.trace | 3 test/trace/xml-init-7.swf |binary test/trace/xml-init-7.swf.trace | 3 test/trace/xml-init-8.swf |binary test/trace/xml-init-8.swf.trace | 3 test/trace/xml-init.as | 19 ++ test/trace/xml-node-init-5.swf |binary test/trace/xml-node-init-5.swf.trace | 11 + test/trace/xml-node-init-6.swf |binary test/trace/xml-node-init-6.swf.trace | 11 + test/trace/xml-node-init-7.swf |binary test/trace/xml-node-init-7.swf.trace | 11 + test/trace/xml-node-init-8.swf |binary test/trace/xml-node-init-8.swf.trace | 11 + test/trace/xml-node-init.as | 38 +++++ 76 files changed, 1429 insertions(+), 398 deletions(-) New commits: commit d625a49303ebd5ef513c1ef58a5090dc0f1a221f Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 11:47:33 2007 +0300 Add a test to see when TextField's native properties are initialized diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am index 22a2354..aa7b8e8 100644 --- a/test/trace/Makefile.am +++ b/test/trace/Makefile.am @@ -1875,6 +1875,13 @@ EXTRA_DIST = \ text-field-html-input-7.swf.trace \ text-field-html-input-8.swf \ text-field-html-input-8.swf.trace \ + text-field-init.as \ + text-field-init-6.swf \ + text-field-init-6.swf.trace \ + text-field-init-7.swf \ + text-field-init-7.swf.trace \ + text-field-init-8.swf \ + text-field-init-8.swf.trace \ text-field-length.as \ text-field-length-5.swf \ text-field-length-5.swf.trace \ diff --git a/test/trace/text-field-init-5.swf b/test/trace/text-field-init-5.swf new file mode 100644 index 0000000..2a88316 Binary files /dev/null and b/test/trace/text-field-init-5.swf differ diff --git a/test/trace/text-field-init-5.swf.trace b/test/trace/text-field-init-5.swf.trace new file mode 100644 index 0000000..82891b5 --- /dev/null +++ b/test/trace/text-field-init-5.swf.trace @@ -0,0 +1,12 @@ +Check when TextField's native properties are initialized +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined diff --git a/test/trace/text-field-init-6.swf b/test/trace/text-field-init-6.swf new file mode 100644 index 0000000..9bdea3e Binary files /dev/null and b/test/trace/text-field-init-6.swf differ diff --git a/test/trace/text-field-init-6.swf.trace b/test/trace/text-field-init-6.swf.trace new file mode 100644 index 0000000..877cf53 --- /dev/null +++ b/test/trace/text-field-init-6.swf.trace @@ -0,0 +1,12 @@ +Check when TextField's native properties are initialized +false +true +true +false +false +false +false +false +false +true +true diff --git a/test/trace/text-field-init-7.swf b/test/trace/text-field-init-7.swf new file mode 100644 index 0000000..e67ecaf Binary files /dev/null and b/test/trace/text-field-init-7.swf differ diff --git a/test/trace/text-field-init-7.swf.trace b/test/trace/text-field-init-7.swf.trace new file mode 100644 index 0000000..877cf53 --- /dev/null +++ b/test/trace/text-field-init-7.swf.trace @@ -0,0 +1,12 @@ +Check when TextField's native properties are initialized +false +true +true +false +false +false +false +false +false +true +true diff --git a/test/trace/text-field-init-8.swf b/test/trace/text-field-init-8.swf new file mode 100644 index 0000000..5847cb8 Binary files /dev/null and b/test/trace/text-field-init-8.swf differ diff --git a/test/trace/text-field-init-8.swf.trace b/test/trace/text-field-init-8.swf.trace new file mode 100644 index 0000000..877cf53 --- /dev/null +++ b/test/trace/text-field-init-8.swf.trace @@ -0,0 +1,12 @@ +Check when TextField's native properties are initialized +false +true +true +false +false +false +false +false +false +true +true diff --git a/test/trace/text-field-init.as b/test/trace/text-field-init.as new file mode 100644 index 0000000..336f1ce --- /dev/null +++ b/test/trace/text-field-init.as @@ -0,0 +1,47 @@ +// makeswf -v 7 -r 1 -o textfield-init-7.swf textfield-init.as + +function check_and_reset () { + _global.TextField.prototype.hasOwnProperty = ASnative (101, 5); + trace (_global.TextField.prototype.hasOwnProperty ("text")); + _global.TextField.prototype = new Object (); +} + +trace ("Check when TextField's native properties are initialized"); + +// FIXME: Not tested yet: The properties should only be created if the +// prototype Object has not been initialized by any object's constructor with +// native properties (TextField, TextFormat, XML, XMLNode at least) + +check_and_reset (); + +var tmp = new TextField (); +check_and_reset (); + +this.createTextField ("t", 0, 0, 0, 100, 100); +check_and_reset (); + +this.createTextField (); +check_and_reset (); + +this.createTextField ("t"); +check_and_reset (); + +this.createTextField ("t", 0); +check_and_reset (); + +this.createTextField ("t", 0, 0); +check_and_reset (); + +this.createTextField ("t", 0, 0, 0); +check_and_reset (); + +this.createTextField ("t", 0, 0, 0, 100); +check_and_reset (); + +this.createTextField ("t", 0, 0, 0, 100, undefined); +check_and_reset (); + +this.createTextField ("t", 0, 0, 0, -5, -5); +check_and_reset (); + +loadMovie ("FSCommand:quit", ""); commit 51a48c4d823ce1b3215bf8f25cd9c50572be54c4 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 11:40:37 2007 +0300 Add test to see when TextFormat's native properties are initialized diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am index 2c5d598..22a2354 100644 --- a/test/trace/Makefile.am +++ b/test/trace/Makefile.am @@ -1929,6 +1929,15 @@ EXTRA_DIST = \ textformat-7.swf.trace \ textformat-8.swf \ textformat-8.swf.trace \ + textformat-properties.as \ + textformat-properties-5.swf \ + textformat-properties-5.swf.trace \ + textformat-properties-6.swf \ + textformat-properties-6.swf.trace \ + textformat-properties-7.swf \ + textformat-properties-7.swf.trace \ + textformat-properties-8.swf \ + textformat-properties-8.swf.trace \ textformat-valueof.as \ textformat-valueof-5.swf \ textformat-valueof-5.swf.trace \ diff --git a/test/trace/textformat-init-5.swf b/test/trace/textformat-init-5.swf new file mode 100644 index 0000000..3a223ce Binary files /dev/null and b/test/trace/textformat-init-5.swf differ diff --git a/test/trace/textformat-init-5.swf.trace b/test/trace/textformat-init-5.swf.trace new file mode 100644 index 0000000..0eee3fb --- /dev/null +++ b/test/trace/textformat-init-5.swf.trace @@ -0,0 +1,11 @@ +Check when TextFormat's native properties are initialized +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined diff --git a/test/trace/textformat-init-6.swf b/test/trace/textformat-init-6.swf new file mode 100644 index 0000000..5ebe00a Binary files /dev/null and b/test/trace/textformat-init-6.swf differ diff --git a/test/trace/textformat-init-6.swf.trace b/test/trace/textformat-init-6.swf.trace new file mode 100644 index 0000000..feaee9f --- /dev/null +++ b/test/trace/textformat-init-6.swf.trace @@ -0,0 +1,11 @@ +Check when TextFormat's native properties are initialized +false +true +false +false +true +false +true +false +false +false diff --git a/test/trace/textformat-init-7.swf b/test/trace/textformat-init-7.swf new file mode 100644 index 0000000..552ff89 Binary files /dev/null and b/test/trace/textformat-init-7.swf differ diff --git a/test/trace/textformat-init-7.swf.trace b/test/trace/textformat-init-7.swf.trace new file mode 100644 index 0000000..5368f4e --- /dev/null +++ b/test/trace/textformat-init-7.swf.trace @@ -0,0 +1,11 @@ +Check when TextFormat's native properties are initialized +false +true +true +false +true +false +true +false +false +false diff --git a/test/trace/textformat-init-8.swf b/test/trace/textformat-init-8.swf new file mode 100644 index 0000000..9d93be3 Binary files /dev/null and b/test/trace/textformat-init-8.swf differ diff --git a/test/trace/textformat-init-8.swf.trace b/test/trace/textformat-init-8.swf.trace new file mode 100644 index 0000000..5368f4e --- /dev/null +++ b/test/trace/textformat-init-8.swf.trace @@ -0,0 +1,11 @@ +Check when TextFormat's native properties are initialized +false +true +true +false +true +false +true +false +false +false diff --git a/test/trace/textformat-init.as b/test/trace/textformat-init.as new file mode 100644 index 0000000..adfd606 --- /dev/null +++ b/test/trace/textformat-init.as @@ -0,0 +1,38 @@ +// makeswf -v 7 -r 1 -o textformat-init-7.swf textformat-init.as + +function check_and_reset () { + _global.TextFormat.prototype.hasOwnProperty = ASnative (101, 5); + trace (_global.TextFormat.prototype.hasOwnProperty ("size")); + _global.TextFormat.prototype = new Object (); +} + +trace ("Check when TextFormat's native properties are initialized"); + +// FIXME: Not tested yet: The properties should only be created if the +// prototype Object has not been initialized by any object's constructor with +// native properties (TextField, TextFormat, XML, XMLNode at least) + +check_and_reset (); +var tmp = new TextFormat (); +check_and_reset (); + +var tmp = new TextField.StyleSheet (); +tmp.parse (".a { text-size: 4; }"); +check_and_reset (); + +this.createTextField ("t", 0, 0, 0, 100, 100); +check_and_reset (); +t.getNewTextFormat (); +check_and_reset (); +t.setNewTextFormat (new Object ()); +check_and_reset (); +t.getTextFormat (); +check_and_reset (); +t.setTextFormat (new Object ()); +check_and_reset (); +tmp = t.textColor; +check_and_reset (); +t.textColor = 200; +check_and_reset (); + +loadMovie ("FSCommand:quit", ""); commit 73387c03485256c86fd0ac735811c21fd96f0035 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 11:39:02 2007 +0300 Init TextFormat's properties in right places when using TextField diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c index 244c76c..bc810ea 100644 --- a/libswfdec/swfdec_text_field_movie_as.c +++ b/libswfdec/swfdec_text_field_movie_as.c @@ -963,6 +963,8 @@ swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx, SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, ""); + swfdec_text_format_init_properties (cx); + SWFDEC_AS_VALUE_SET_OBJECT (ret, SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new))); } diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c index 4fe215e..e5ab1fa 100644 --- a/libswfdec/swfdec_text_format.c +++ b/libswfdec/swfdec_text_format.c @@ -1095,7 +1095,7 @@ swfdec_text_format_clear (SwfdecTextFormat *format) swfdec_text_format_mark_set (format, PROP_DISPLAY); } -static void +void swfdec_text_format_init_properties (SwfdecAsContext *cx) { SwfdecAsValue val; @@ -1219,7 +1219,8 @@ swfdec_text_format_copy (const SwfdecTextFormat *copy_from) g_return_val_if_fail (SWFDEC_IS_TEXT_FORMAT (copy_from), NULL); - object_to = swfdec_text_format_new (SWFDEC_AS_OBJECT (copy_from)->context); + object_to = swfdec_text_format_new_no_properties ( + SWFDEC_AS_OBJECT (copy_from)->context); if (object_to == NULL) return NULL; copy_to = SWFDEC_TEXT_FORMAT (object_to); diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h index 85d6d3c..c0b1859 100644 --- a/libswfdec/swfdec_text_format.h +++ b/libswfdec/swfdec_text_format.h @@ -95,6 +95,7 @@ gboolean swfdec_text_format_equal_or_undefined (const SwfdecTextFormat *a, const SwfdecTextFormat *b); void swfdec_text_format_remove_different (SwfdecTextFormat * format, const SwfdecTextFormat * from); +void swfdec_text_format_init_properties (SwfdecAsContext * cx); G_END_DECLS #endif commit 93cba2e6d45683f55fc633a240b6ee6ab3e8ed8b Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 11:33:13 2007 +0300 Replace xml-constructor-properties test with xml-init test Add a FIXME comment to this test and xml-node-init test diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am index 01ba24c..2c5d598 100644 --- a/test/trace/Makefile.am +++ b/test/trace/Makefile.am @@ -2031,13 +2031,6 @@ EXTRA_DIST = \ with-prototypes-6.swf.trace \ with-prototypes-7.swf \ with-prototypes-7.swf.trace \ - xml-constructor-properties.as \ - xml-constructor-properties-5.swf \ - xml-constructor-properties-5.swf.trace \ - xml-constructor-properties-6.swf \ - xml-constructor-properties-6.swf.trace \ - xml-constructor-properties-7.swf \ - xml-constructor-properties-7.swf.trace \ xml-errors.as \ xml-errors-5.swf \ xml-errors-5.swf.trace \ @@ -2052,6 +2045,15 @@ EXTRA_DIST = \ xml-escape-6.swf.trace \ xml-escape-7.swf \ xml-escape-7.swf.trace \ + xml-init.as \ + xml-init-5.swf \ + xml-init-5.swf.trace \ + xml-init-6.swf \ + xml-init-6.swf.trace \ + xml-init-7.swf \ + xml-init-7.swf.trace \ + xml-init-8.swf \ + xml-init-8.swf.trace \ xml-node.as \ xml-node-5.swf \ xml-node-5.swf.trace \ diff --git a/test/trace/xml-constructor-properties-5.swf b/test/trace/xml-constructor-properties-5.swf deleted file mode 100644 index 34ce6d8..0000000 Binary files a/test/trace/xml-constructor-properties-5.swf and /dev/null differ diff --git a/test/trace/xml-constructor-properties-5.swf.trace b/test/trace/xml-constructor-properties-5.swf.trace deleted file mode 100644 index 8a5c059..0000000 --- a/test/trace/xml-constructor-properties-5.swf.trace +++ /dev/null @@ -1,60 +0,0 @@ -Before anything: -XML: __constructor__: false -XMLReal: __constructor__: true -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false -After creating an XML object: -XML: __constructor__: false -XMLReal: __constructor__: true -XML: contentType: false -XMLReal: contentType: true -XML: docTypeDecl: false -XMLReal: docTypeDecl: true -XML: ignoreWhite: false -XMLReal: ignoreWhite: true -XML: loaded: false -XMLReal: loaded: true -XML: status: false -XMLReal: status: true -XML: xmlDecl: false -XMLReal: xmlDecl: true -After deleting properties: -XML: __constructor__: false -XMLReal: __constructor__: false -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false -After creating an XML object again: -XML: __constructor__: false -XMLReal: __constructor__: false -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false diff --git a/test/trace/xml-constructor-properties-6.swf b/test/trace/xml-constructor-properties-6.swf deleted file mode 100644 index 566fbcc..0000000 Binary files a/test/trace/xml-constructor-properties-6.swf and /dev/null differ diff --git a/test/trace/xml-constructor-properties-6.swf.trace b/test/trace/xml-constructor-properties-6.swf.trace deleted file mode 100644 index 8a5c059..0000000 --- a/test/trace/xml-constructor-properties-6.swf.trace +++ /dev/null @@ -1,60 +0,0 @@ -Before anything: -XML: __constructor__: false -XMLReal: __constructor__: true -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false -After creating an XML object: -XML: __constructor__: false -XMLReal: __constructor__: true -XML: contentType: false -XMLReal: contentType: true -XML: docTypeDecl: false -XMLReal: docTypeDecl: true -XML: ignoreWhite: false -XMLReal: ignoreWhite: true -XML: loaded: false -XMLReal: loaded: true -XML: status: false -XMLReal: status: true -XML: xmlDecl: false -XMLReal: xmlDecl: true -After deleting properties: -XML: __constructor__: false -XMLReal: __constructor__: false -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false -After creating an XML object again: -XML: __constructor__: false -XMLReal: __constructor__: false -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false diff --git a/test/trace/xml-constructor-properties-7.swf b/test/trace/xml-constructor-properties-7.swf deleted file mode 100644 index a3faa0d..0000000 Binary files a/test/trace/xml-constructor-properties-7.swf and /dev/null differ diff --git a/test/trace/xml-constructor-properties-7.swf.trace b/test/trace/xml-constructor-properties-7.swf.trace deleted file mode 100644 index 8a5c059..0000000 --- a/test/trace/xml-constructor-properties-7.swf.trace +++ /dev/null @@ -1,60 +0,0 @@ -Before anything: -XML: __constructor__: false -XMLReal: __constructor__: true -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false -After creating an XML object: -XML: __constructor__: false -XMLReal: __constructor__: true -XML: contentType: false -XMLReal: contentType: true -XML: docTypeDecl: false -XMLReal: docTypeDecl: true -XML: ignoreWhite: false -XMLReal: ignoreWhite: true -XML: loaded: false -XMLReal: loaded: true -XML: status: false -XMLReal: status: true -XML: xmlDecl: false -XMLReal: xmlDecl: true -After deleting properties: -XML: __constructor__: false -XMLReal: __constructor__: false -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false -After creating an XML object again: -XML: __constructor__: false -XMLReal: __constructor__: false -XML: contentType: false -XMLReal: contentType: false -XML: docTypeDecl: false -XMLReal: docTypeDecl: false -XML: ignoreWhite: false -XMLReal: ignoreWhite: false -XML: loaded: false -XMLReal: loaded: false -XML: status: false -XMLReal: status: false -XML: xmlDecl: false -XMLReal: xmlDecl: false diff --git a/test/trace/xml-constructor-properties.as b/test/trace/xml-constructor-properties.as deleted file mode 100644 index 2d796bd..0000000 --- a/test/trace/xml-constructor-properties.as +++ /dev/null @@ -1,68 +0,0 @@ -// makeswf -v 7 -r 1 -o xml-constructor-properties-7.swf xml-constructor-properties.as - -// Tests for when XML.prototype's native properties are created - -var properties = [ - "__constructor__", - "contentType", - "docTypeDecl", - "ignoreWhite", - "loaded", - "status", - "xmlDecl" -]; - -var XMLReal = XML; -XML = String; - -#if __SWF_VERSION__ == 5 -XML.prototype.hasOwnProperty = ASnative (101, 5); -XMLReal.prototype.hasOwnProperty = ASnative (101, 5); -#endif - -trace ("Before anything:"); - -for (var i = 0; i < properties.length; i++) { - trace ("XML: " + properties[i] + ": " + - XML.prototype.hasOwnProperty (properties[i])); - trace ("XMLReal: " + properties[i] + ": " + - XMLReal.prototype.hasOwnProperty (properties[i])); -} - -var a = new XMLReal (); - -trace ("After creating an XML object:"); - -for (var i = 0; i < properties.length; i++) { - trace ("XML: " + properties[i] + ": " + - XML.prototype.hasOwnProperty (properties[i])); - trace ("XMLReal: " + properties[i] + ": " + - XMLReal.prototype.hasOwnProperty (properties[i])); -} - -for (var i = 0; i < properties.length; i++) { - delete XML.prototype[properties[i]]; - delete XMLReal.prototype[properties[i]]; -} - -trace ("After deleting properties:"); - -for (var i = 0; i < properties.length; i++) { - trace ("XML: " + properties[i] + ": " + - XML.prototype.hasOwnProperty (properties[i])); - trace ("XMLReal: " + properties[i] + ": " + - XMLReal.prototype.hasOwnProperty (properties[i])); -} - -var b = new XMLReal (); - -trace ("After creating an XML object again:"); - -for (var i = 0; i < properties.length; i++) { - trace ("XML: " + properties[i] + ": " + - XML.prototype.hasOwnProperty (properties[i])); - trace ("XMLReal: " + properties[i] + ": " + - XMLReal.prototype.hasOwnProperty (properties[i])); -} - -loadMovie ("FSCommand:quit", ""); diff --git a/test/trace/xml-init-5.swf b/test/trace/xml-init-5.swf new file mode 100644 index 0000000..e91b01f Binary files /dev/null and b/test/trace/xml-init-5.swf differ diff --git a/test/trace/xml-init-5.swf.trace b/test/trace/xml-init-5.swf.trace new file mode 100644 index 0000000..97f3544 --- /dev/null +++ b/test/trace/xml-init-5.swf.trace @@ -0,0 +1,3 @@ +Check when XML's native properties are initialized +undefined +undefined diff --git a/test/trace/xml-init-6.swf b/test/trace/xml-init-6.swf new file mode 100644 index 0000000..d201c57 Binary files /dev/null and b/test/trace/xml-init-6.swf differ diff --git a/test/trace/xml-init-6.swf.trace b/test/trace/xml-init-6.swf.trace new file mode 100644 index 0000000..f5be65a --- /dev/null +++ b/test/trace/xml-init-6.swf.trace @@ -0,0 +1,3 @@ +Check when XML's native properties are initialized +false +true diff --git a/test/trace/xml-init-7.swf b/test/trace/xml-init-7.swf new file mode 100644 index 0000000..90c0127 Binary files /dev/null and b/test/trace/xml-init-7.swf differ diff --git a/test/trace/xml-init-7.swf.trace b/test/trace/xml-init-7.swf.trace new file mode 100644 index 0000000..f5be65a --- /dev/null +++ b/test/trace/xml-init-7.swf.trace @@ -0,0 +1,3 @@ +Check when XML's native properties are initialized +false +true diff --git a/test/trace/xml-init-8.swf b/test/trace/xml-init-8.swf new file mode 100644 index 0000000..583a4e7 Binary files /dev/null and b/test/trace/xml-init-8.swf differ diff --git a/test/trace/xml-init-8.swf.trace b/test/trace/xml-init-8.swf.trace new file mode 100644 index 0000000..f5be65a --- /dev/null +++ b/test/trace/xml-init-8.swf.trace @@ -0,0 +1,3 @@ +Check when XML's native properties are initialized +false +true diff --git a/test/trace/xml-init.as b/test/trace/xml-init.as new file mode 100644 index 0000000..aca54db --- /dev/null +++ b/test/trace/xml-init.as @@ -0,0 +1,19 @@ +// makeswf -v 7 -r 1 -o xml-node-init-7.swf xml-node-init.as + +function check_and_reset () { + _global.XML.prototype.hasOwnProperty = ASnative (101, 5); + trace (_global.XML.prototype.hasOwnProperty ("ignoreWhite")); + _global.XML.prototype = new Object (); +} + +trace ("Check when XML's native properties are initialized"); + +// FIXME: Not tested yet: The properties should only be created if the +// prototype Object has not been initialized by any object's constructor with +// native properties (TextField, TextFormat, XML, XMLNode at least) + +check_and_reset (); +var tmp = new XML (); +check_and_reset (); + +loadMovie ("FSCommand:quit", ""); diff --git a/test/trace/xml-node-init.as b/test/trace/xml-node-init.as index 9e959f8..d87f5c8 100644 --- a/test/trace/xml-node-init.as +++ b/test/trace/xml-node-init.as @@ -8,6 +8,10 @@ function check_and_reset () { trace ("Check when XMLNode's native properties are initialized"); +// FIXME: Not tested yet: The properties should only be created if the +// prototype Object has not been initialized by any object's constructor with +// native properties (TextField, TextFormat, XML, XMLNode at least) + check_and_reset (); var tmp = new XMLNode (1, "test"); check_and_reset (); commit 79e1e7977f1bd6f891f5315567ac68c416070d22 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 11:07:37 2007 +0300 Add a test case for TextField's setTextFormat method diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am index 8a195c1..01ba24c 100644 --- a/test/trace/Makefile.am +++ b/test/trace/Makefile.am @@ -1884,6 +1884,15 @@ EXTRA_DIST = \ text-field-length-7.swf.trace \ text-field-length-8.swf \ text-field-length-8.swf.trace \ + text-field-set-text-format.as \ + text-field-set-text-format-5.swf \ + text-field-set-text-format-5.swf.trace \ + text-field-set-text-format-6.swf \ + text-field-set-text-format-6.swf.trace \ + text-field-set-text-format-7.swf \ + text-field-set-text-format-7.swf.trace \ + text-field-set-text-format-8.swf \ + text-field-set-text-format-8.swf.trace \ text-field-scroll.as \ text-field-scroll-5.swf \ text-field-scroll-5.swf.trace \ diff --git a/test/trace/text-field-set-text-format-5.swf b/test/trace/text-field-set-text-format-5.swf new file mode 100644 index 0000000..1cfe965 Binary files /dev/null and b/test/trace/text-field-set-text-format-5.swf differ diff --git a/test/trace/text-field-set-text-format-5.swf.trace b/test/trace/text-field-set-text-format-5.swf.trace new file mode 100644 index 0000000..45fd1d7 --- /dev/null +++ b/test/trace/text-field-set-text-format-5.swf.trace @@ -0,0 +1,19 @@ +Starting state: +all, font: +undefined +1, bullet: +undefined +-3, bullet: +undefined +32, bullet: +undefined +3, 6, bullet: +undefined +4, 5, !bullet: +undefined +-1, 2, bullet: +undefined +7, 30, bullet: +undefined +20, 30, !bullet: +undefined diff --git a/test/trace/text-field-set-text-format-6.swf b/test/trace/text-field-set-text-format-6.swf new file mode 100644 index 0000000..cb2d23f Binary files /dev/null and b/test/trace/text-field-set-text-format-6.swf differ diff --git a/test/trace/text-field-set-text-format-6.swf.trace b/test/trace/text-field-set-text-format-6.swf.trace new file mode 100644 index 0000000..af140ad --- /dev/null +++ b/test/trace/text-field-set-text-format-6.swf.trace @@ -0,0 +1,149 @@ +Starting state: +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=false +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +all, font: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=false +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +1, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +-3, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +32, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +3, 6, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=true +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +4, 5, !bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +-1, 2, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +12: align=left blockIndent=0 bold=false bullet=false +7, 30, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=true +8: align=left blockIndent=0 bold=false bullet=true +9: align=left blockIndent=0 bold=false bullet=true +10: align=left blockIndent=0 bold=false bullet=true +11: align=left blockIndent=0 bold=false bullet=true +12: align=left blockIndent=0 bold=false bullet=true +20, 30, !bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=right blockIndent=0 bold=false bullet=true +8: align=left blockIndent=0 bold=false bullet=true +9: align=left blockIndent=0 bold=false bullet=true +10: align=left blockIndent=0 bold=false bullet=true +11: align=left blockIndent=0 bold=false bullet=true +12: align=left blockIndent=0 bold=false bullet=true diff --git a/test/trace/text-field-set-text-format-7.swf b/test/trace/text-field-set-text-format-7.swf new file mode 100644 index 0000000..478f9bc Binary files /dev/null and b/test/trace/text-field-set-text-format-7.swf differ diff --git a/test/trace/text-field-set-text-format-7.swf.trace b/test/trace/text-field-set-text-format-7.swf.trace new file mode 100644 index 0000000..7c04b47 --- /dev/null +++ b/test/trace/text-field-set-text-format-7.swf.trace @@ -0,0 +1,139 @@ +Starting state: +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=false +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +all, font: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=false +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +1, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +-3, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +32, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +3, 6, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=true +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +4, 5, !bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +-1, 2, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +7, 30, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=true +8: align=left blockIndent=0 bold=false bullet=true +9: align=left blockIndent=0 bold=false bullet=true +10: align=left blockIndent=0 bold=false bullet=true +11: align=left blockIndent=0 bold=false bullet=true +20, 30, !bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=true +8: align=left blockIndent=0 bold=false bullet=true +9: align=left blockIndent=0 bold=false bullet=true +10: align=left blockIndent=0 bold=false bullet=true +11: align=left blockIndent=0 bold=false bullet=true diff --git a/test/trace/text-field-set-text-format-8.swf b/test/trace/text-field-set-text-format-8.swf new file mode 100644 index 0000000..8db506a Binary files /dev/null and b/test/trace/text-field-set-text-format-8.swf differ diff --git a/test/trace/text-field-set-text-format-8.swf.trace b/test/trace/text-field-set-text-format-8.swf.trace new file mode 100644 index 0000000..7c04b47 --- /dev/null +++ b/test/trace/text-field-set-text-format-8.swf.trace @@ -0,0 +1,139 @@ +Starting state: +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=false +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +all, font: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=false +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +1, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +-3, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +32, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=false +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=false +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +3, 6, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=true +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +4, 5, !bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=false +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +-1, 2, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=false +8: align=left blockIndent=0 bold=false bullet=false +9: align=left blockIndent=0 bold=false bullet=false +10: align=left blockIndent=0 bold=false bullet=false +11: align=left blockIndent=0 bold=false bullet=false +7, 30, bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=true +8: align=left blockIndent=0 bold=false bullet=true +9: align=left blockIndent=0 bold=false bullet=true +10: align=left blockIndent=0 bold=false bullet=true +11: align=left blockIndent=0 bold=false bullet=true +20, 30, !bullet: +undefined +0: align=right blockIndent=0 bold=false bullet=true +1: align=right blockIndent=0 bold=true bullet=true +2: align=right blockIndent=0 bold=true bullet=false +3: align=right blockIndent=0 bold=true bullet=true +4: align=right blockIndent=0 bold=true bullet=false +5: align=right blockIndent=0 bold=true bullet=true +6: align=right blockIndent=0 bold=false bullet=false +7: align=left blockIndent=0 bold=false bullet=true +8: align=left blockIndent=0 bold=false bullet=true +9: align=left blockIndent=0 bold=false bullet=true +10: align=left blockIndent=0 bold=false bullet=true +11: align=left blockIndent=0 bold=false bullet=true diff --git a/test/trace/text-field-set-text-format.as b/test/trace/text-field-set-text-format.as new file mode 100644 index 0000000..076c10c --- /dev/null +++ b/test/trace/text-field-set-text-format.as @@ -0,0 +1,95 @@ +// makeswf -v 7 -r 1 -o text-field-get-text-format-7.swf text-field-get-text-format.as + +var properties = [ + "align", + "blockIndent", + "bold", + "bullet"/*, + "color", + "display", + "font", + "indent", + "italic", + "kerning", + "leading", + "leftMargin", + "letterSpacing", + "rightMargin", + "size", + "tabStops", + "target", + "underline", + "url"*/ +]; + +function format_to_string (fmt) { + str = ""; + for (var i = 0; i < properties.length; i++) { + str += " " + properties[i] + "=" + fmt[properties[i]]; + } + return str; +} + +function check () { + for (var i = 0; i < t.length; i++) { + trace (i + ":" + format_to_string (t.getTextFormat (i))); + } +} + + +this.createTextField ("t", 1, 0, 0, 200, 200); + +t.html = true; +t.htmlText = "<p align='right'>a<b>b<i>c</i>d<u>e</u>f</b>g</p>\rh<font size='20'>i</font>j\r"; + +var fmt = new TextFormat (); + +trace ("Starting state:"); +check (); + +trace ("all, font:"); +fmt.font = "A"; +trace (t.setTextFormat (fmt)); +check (); + +trace ("1, bullet:"); +fmt.bullet = true; +trace (t.setTextFormat (1, fmt)); +check (); + +trace ("-3, bullet:"); +fmt.bullet = true; +trace (t.setTextFormat (-3, fmt)); +check (); + +trace ("32, bullet:"); +fmt.bullet = true; +trace (t.setTextFormat (32, fmt)); +check (); + +trace ("3, 6, bullet:"); +fmt.bullet = true; +trace (t.setTextFormat (3, 6, fmt)); +check (); + +trace ("4, 5, !bullet:"); +fmt.bullet = false; +trace (t.setTextFormat (4, 5, fmt)); +check (); + +trace ("-1, 2, bullet:"); +fmt.bullet = true; +trace (t.setTextFormat (-1, 2, fmt)); +check (); + +trace ("7, 30, bullet:"); +fmt.bullet = true; +trace (t.setTextFormat (7, 30, fmt)); +check (); + +trace ("20, 30, !bullet:"); +fmt.bullet = false; +trace (t.setTextFormat (20, 30, fmt)); +check (); + +loadMovie ("FSCommand:quit", ""); commit 2ea0d2b56719df9332854bf9754f85d29a27e4b1 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 11:06:44 2007 +0300 Fix index handling of TextField's setTextFormat diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c index 38a746a..244c76c 100644 --- a/libswfdec/swfdec_text_field_movie_as.c +++ b/libswfdec/swfdec_text_field_movie_as.c @@ -992,8 +992,8 @@ swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx, { SwfdecTextFieldMovie *text; SwfdecTextFormat *format; - int start_index, end_index; - int i; + int val, start_index, end_index; + guint i; SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, ""); @@ -1001,18 +1001,23 @@ swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx, return; i = 0; - if (argc >= 2) { - start_index = swfdec_as_value_to_integer (cx, &argv[i++]); - start_index = CLAMP (start_index, 0, g_utf8_strlen (text->input->str, -1)); - } else { + if (argc <= i + 1) { start_index = 0; - } - if (argc >= 3) { - end_index = swfdec_as_value_to_integer (cx, &argv[i++]); + end_index = g_utf8_strlen (text->input->str, -1); + } else { + start_index = val = swfdec_as_value_to_integer (cx, &argv[i++]); + start_index = CLAMP (start_index, 0, g_utf8_strlen (text->input->str, -1)); + if (argc <= i + 1) { + if (val < 0) { // fail + start_index = end_index = 0; + } else{ + end_index = start_index + 1; + } + } else { + end_index = swfdec_as_value_to_integer (cx, &argv[i++]); + } end_index CLAMP (end_index, start_index, g_utf8_strlen (text->input->str, -1)); - } else { - end_index = g_utf8_strlen (text->input->str, -1); } if (start_index == end_index) return; commit 99836faf2e3b8b8b1ea66eb64cafd52effad8a51 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 10:29:03 2007 +0300 Add a test for TextField's getTextFormat diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am index 37d6322..8a195c1 100644 --- a/test/trace/Makefile.am +++ b/test/trace/Makefile.am @@ -1859,6 +1859,15 @@ EXTRA_DIST = \ targetpath-6.swf.trace \ targetpath-7.swf \ targetpath-7.swf.trace \ + text-field-get-text-format.as \ + text-field-get-text-format-5.swf \ + text-field-get-text-format-5.swf.trace \ + text-field-get-text-format-6.swf \ + text-field-get-text-format-6.swf.trace \ + text-field-get-text-format-7.swf \ + text-field-get-text-format-7.swf.trace \ + text-field-get-text-format-8.swf \ + text-field-get-text-format-8.swf.trace \ text-field-html-input.as \ text-field-html-input-6.swf \ text-field-html-input-6.swf.trace \ diff --git a/test/trace/text-field-get-text-format-5.swf b/test/trace/text-field-get-text-format-5.swf new file mode 100644 index 0000000..7cc3b26 Binary files /dev/null and b/test/trace/text-field-get-text-format-5.swf differ diff --git a/test/trace/text-field-get-text-format-5.swf.trace b/test/trace/text-field-get-text-format-5.swf.trace new file mode 100644 index 0000000..ac61f1f --- /dev/null +++ b/test/trace/text-field-get-text-format-5.swf.trace @@ -0,0 +1,10 @@ +all: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+-1: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+-1, 5: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+-1, 30: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+0, -1: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+5, 30: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+2, 4, 6: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+5, 4: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+5, 5: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= url+30, 35: align= blockIndent= bold= bullet= color= display= font= indent= italic= kerning= leading= leftMargin= letterSpacing= rightMargin= size= tabStops= target= underline= urldiff --git a/test/trace/text-field-get-text-format-6.swf b/test/trace/text-field-get-text-format-6.swf new file mode 100644 index 0000000..66604e0 Binary files /dev/null and b/test/trace/text-field-get-text-format-6.swf differ diff --git a/test/trace/text-field-get-text-format-6.swf.trace b/test/trace/text-field-get-text-format-6.swf.trace new file mode 100644 index 0000000..6af1d00 --- /dev/null +++ b/test/trace/text-field-get-text-format-6.swf.trace @@ -0,0 +1,101 @@ +all: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+0: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+0-1: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+0-2: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+0-3: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+0-4: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+0-5: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+0-6: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+0-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+0-8: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+0-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+0-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+0-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+0-12: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+1: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+1-2: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+1-3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+1-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+1-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+1-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+1-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+1-8: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+1-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+1-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+1-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+1-12: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+2: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=true kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+2-3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=true kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+2-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+2-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+2-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+2-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+2-8: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+2-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+2-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+2-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+2-12: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+3-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+3-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+3-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+3-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+3-8: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+3-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+3-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+3-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+3-12: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=true url+4-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=true url+4-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+4-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+4-8: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+4-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+4-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+4-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+4-12: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+5-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+5-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+5-8: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+5-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+5-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+5-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+5-12: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+6: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+6-7: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+6-8: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+6-9: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+6-10: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+6-11: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+6-12: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+7: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+7-8: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+7-9: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+7-10: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+7-11: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+7-12: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+8: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+8-9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+8-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+8-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+8-12: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+9-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+9-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+9-12: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=20 tabStops= target= underline=false url+10-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=20 tabStops= target= underline=false url+10-12: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+11-12: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+12: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+-1: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning= leading=null leftMargin=null letterSpacing= rightMargin=null size=null tabStops=null target=null underline=null url=null +-1, 5: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=null url+-1, 30: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=null url+0, -1: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning= leading=null leftMargin=null letterSpacing= rightMargin=null size=null tabStops=null target=null underline=null url=null +5, 30: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=null tabStops= target= underline=false url+2, 4, 6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning= leading=0 leftMargin=0 letterSpacing= rightMargin=0 size=12 tabStops= target= underline=false url+5, 4: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning= leading=null leftMargin=null letterSpacing= rightMargin=null size=null tabStops=null target=null underline=null url=null +5, 5: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning= leading=null leftMargin=null letterSpacing= rightMargin=null size=null tabStops=null target=null underline=null url=null +30, 35: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning= leading=null leftMargin=null letterSpacing= rightMargin=null size=null tabStops=null target=null underline=null url=null diff --git a/test/trace/text-field-get-text-format-7.swf b/test/trace/text-field-get-text-format-7.swf new file mode 100644 index 0000000..9542bb5 Binary files /dev/null and b/test/trace/text-field-get-text-format-7.swf differ diff --git a/test/trace/text-field-get-text-format-7.swf.trace b/test/trace/text-field-get-text-format-7.swf.trace new file mode 100644 index 0000000..10555ac --- /dev/null +++ b/test/trace/text-field-get-text-format-7.swf.trace @@ -0,0 +1,88 @@ +all: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+0: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+0-1: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+0-2: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+0-3: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+0-4: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+0-5: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+0-6: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+0-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+0-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+0-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+0-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+0-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+1: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+1-2: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+1-3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+1-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+1-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+1-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+1-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+1-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+1-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+1-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+1-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+2: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=true kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+2-3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=true kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+2-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+2-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+2-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+2-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+2-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+2-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+2-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+2-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+3-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+3-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+3-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+3-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+3-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+3-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+3-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+3-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=true url+4-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=true url+4-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+4-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+4-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+4-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+4-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+4-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+5-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+5-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+5-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+5-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+5-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+5-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+6: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+6-7: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+6-8: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+6-9: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+6-10: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+6-11: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+7: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+7-8: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+7-9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+7-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+7-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+8: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+8-9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+8-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+8-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=20 tabStops= target= underline=false url+9-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=20 tabStops= target= underline=false url+9-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+10-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+-1: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=undefined leading=null leftMargin=null letterSpacing=undefined rightMargin=null size=null tabStops=null target=null underline=null url=null +-1, 5: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=null url+-1, 30: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=null url+0, -1: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=undefined leading=null leftMargin=null letterSpacing=undefined rightMargin=null size=null tabStops=null target=null underline=null url=null +5, 30: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=null tabStops= target= underline=false url+2, 4, 6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=undefined leading=0 leftMargin=0 letterSpacing=undefined rightMargin=0 size=12 tabStops= target= underline=false url+5, 4: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=undefined leading=null leftMargin=null letterSpacing=undefined rightMargin=null size=null tabStops=null target=null underline=null url=null +5, 5: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=undefined leading=null leftMargin=null letterSpacing=undefined rightMargin=null size=null tabStops=null target=null underline=null url=null +30, 35: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=undefined leading=null leftMargin=null letterSpacing=undefined rightMargin=null size=null tabStops=null target=null underline=null url=null diff --git a/test/trace/text-field-get-text-format-8.swf b/test/trace/text-field-get-text-format-8.swf new file mode 100644 index 0000000..27a1268 Binary files /dev/null and b/test/trace/text-field-get-text-format-8.swf differ diff --git a/test/trace/text-field-get-text-format-8.swf.trace b/test/trace/text-field-get-text-format-8.swf.trace new file mode 100644 index 0000000..33bea13 --- /dev/null +++ b/test/trace/text-field-get-text-format-8.swf.trace @@ -0,0 +1,88 @@ +all: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+0: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+0-1: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+0-2: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+0-3: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+0-4: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+0-5: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+0-6: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+0-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+0-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+0-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+0-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+0-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+1: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+1-2: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+1-3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+1-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+1-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+1-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+1-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+1-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+1-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+1-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+1-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+2: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=true kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+2-3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=true kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+2-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+2-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+2-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+2-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+2-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+2-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+2-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+2-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+3: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+3-4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+3-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+3-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+3-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+3-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+3-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+3-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+3-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+4: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=true url+4-5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=true url+4-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+4-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+4-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+4-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+4-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+4-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+5: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+5-6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+5-7: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+5-8: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+5-9: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+5-10: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+5-11: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+6: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+6-7: align=right blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+6-8: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+6-9: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+6-10: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+6-11: align=null blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+7: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+7-8: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+7-9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+7-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+7-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+8: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+8-9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+8-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+8-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+9: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=20 tabStops= target= underline=false url+9-10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=20 tabStops= target= underline=false url+9-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+10: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+10-11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+11: align=left blockIndent=0 bold=false bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+-1: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=null leading=null leftMargin=null letterSpacing=null rightMargin=null size=null tabStops=null target=null underline=null url=null +-1, 5: align=right blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=null url+-1, 30: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=null url+0, -1: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=null leading=null leftMargin=null letterSpacing=null rightMargin=null size=null tabStops=null target=null underline=null url=null +5, 30: align=null blockIndent=0 bold=null bullet=false color=0 display=block font=Times New Roman indent=0 italic=false kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=null tabStops= target= underline=false url+2, 4, 6: align=right blockIndent=0 bold=true bullet=false color=0 display=block font=Times New Roman indent=0 italic=null kerning=false leading=0 leftMargin=0 letterSpacing=0 rightMargin=0 size=12 tabStops= target= underline=false url+5, 4: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=null leading=null leftMargin=null letterSpacing=null rightMargin=null size=null tabStops=null target=null underline=null url=null +5, 5: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=null leading=null leftMargin=null letterSpacing=null rightMargin=null size=null tabStops=null target=null underline=null url=null +30, 35: align=null blockIndent=null bold=null bullet=null color=null display=block font=null indent=null italic=null kerning=null leading=null leftMargin=null letterSpacing=null rightMargin=null size=null tabStops=null target=null underline=null url=null diff --git a/test/trace/text-field-get-text-format.as b/test/trace/text-field-get-text-format.as new file mode 100644 index 0000000..f139750 --- /dev/null +++ b/test/trace/text-field-get-text-format.as @@ -0,0 +1,58 @@ +// makeswf -v 7 -r 1 -o text-field-get-text-format-7.swf text-field-get-text-format.as + +var properties = [ + "align", + "blockIndent", + "bold", + "bullet", + "color", + "display", + "font", + "indent", + "italic", + "kerning", + "leading", + "leftMargin", + "letterSpacing", + "rightMargin", + "size", + "tabStops", + "target", + "underline", + "url" +]; + +function format_to_string (fmt) { + str = ""; + for (var i = 0; i < properties.length; i++) { + str += " " + properties[i] + "=" + fmt[properties[i]]; + } + return str; +} + +this.createTextField ("t", 1, 0, 0, 200, 200); + +t.html = true; +t.htmlText = "<p align='right'>a<b>b<i>c</i>d<u>e</u>f</b>g</p>\rh<font size='20'>i</font>j\r"; + +// normal +trace ("all:" + format_to_string (t.getTextFormat ())); +for (var i = 0; i < t.length; i++) { + trace (i + ":" + format_to_string (t.getTextFormat (i))); + for (var j = i + 1; j < t.length; j++) { + trace (i + "-" + j + ":" + format_to_string (t.getTextFormat (i, j))); + } +} + +// special cases +trace ("-1:" + format_to_string (t.getTextFormat (-1))); +trace ("-1, 5:" + format_to_string (t.getTextFormat (-1, 5))); +trace ("-1, 30:" + format_to_string (t.getTextFormat (-1, 30))); +trace ("0, -1:" + format_to_string (t.getTextFormat (0, -1))); +trace ("5, 30:" + format_to_string (t.getTextFormat (5, 30))); +trace ("2, 4, 6:" + format_to_string (t.getTextFormat (2, 4, 6))); +trace ("5, 4:" + format_to_string (t.getTextFormat (5, 4))); +trace ("5, 5:" + format_to_string (t.getTextFormat (5, 5))); +trace ("30, 35:" + format_to_string (t.getTextFormat (30, 35))); + +loadMovie ("FSCommand:quit", ""); commit bb557c4c675940a50143893908d3bc6196ff3e78 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 10:27:17 2007 +0300 Fixes to getTextFormat's index handling diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c index d8d7917..38a746a 100644 --- a/libswfdec/swfdec_text_field_movie_as.c +++ b/libswfdec/swfdec_text_field_movie_as.c @@ -1035,7 +1035,7 @@ swfdec_text_field_movie_getTextFormat (SwfdecAsContext *cx, { SwfdecTextFieldMovie *text; SwfdecTextFormat *format; - guint start_index, end_index; + int val, start_index, end_index; SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, ""); @@ -1043,15 +1043,19 @@ swfdec_text_field_movie_getTextFormat (SwfdecAsContext *cx, start_index = 0; end_index = g_utf8_strlen (text->input->str, -1); } else { - start_index = swfdec_as_value_to_integer (cx, &argv[0]); - start_index = MIN (start_index, g_utf8_strlen (text->input->str, -1)); + start_index = val = swfdec_as_value_to_integer (cx, &argv[0]); + start_index = CLAMP (start_index, 0, g_utf8_strlen (text->input->str, -1)); if (argc == 1) { - end_index = start_index + 1; + if (val < 0) { // fail + start_index = end_index = 0; + } else{ + end_index = start_index + 1; + } } else { end_index = swfdec_as_value_to_integer (cx, &argv[1]); - end_index - CLAMP (end_index, start_index, g_utf8_strlen (text->input->str, -1)); } + end_index + CLAMP (end_index, start_index, g_utf8_strlen (text->input->str, -1)); } if (start_index == end_index) { commit ebff9e03844893964b51f67e75bf11e7d1834db5 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 10:14:57 2007 +0300 Fix an error in swfdec_text_format_remove_different (broke getTextFormat) diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c index f3993f5..4fe215e 100644 --- a/libswfdec/swfdec_text_format.c +++ b/libswfdec/swfdec_text_format.c @@ -934,10 +934,10 @@ swfdec_text_format_remove_different (SwfdecTextFormat *format, set = format->values_set & from->values_set; if (set & (1 << PROP_ALIGN) && format->align != from->align) - set &= ~PROP_ALIGN; + set &= ~(1 << PROP_ALIGN); if (set & (1 << PROP_BLOCK_INDENT) && format->block_indent != from->block_indent) { - set &= ~PROP_BLOCK_INDENT; + set &= ~(1 << PROP_BLOCK_INDENT); } if (set & (1 << PROP_BOLD) && format->bold != from->bold) set &= ~(1 << PROP_BOLD); commit 2b5971776d99344ca70b896fb101dd9998e65675 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 10:05:18 2007 +0300 Fix an error in TextField's getTextFormat when end_index was <= start_index diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c index 9229992..d8d7917 100644 --- a/libswfdec/swfdec_text_field_movie_as.c +++ b/libswfdec/swfdec_text_field_movie_as.c @@ -1054,8 +1054,12 @@ swfdec_text_field_movie_getTextFormat (SwfdecAsContext *cx, } } - format - swfdec_text_field_movie_get_text_format (text, start_index, end_index); + if (start_index == end_index) { + format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx)); + } else { + format + swfdec_text_field_movie_get_text_format (text, start_index, end_index); + } SWFDEC_AS_VALUE_SET_OBJECT (ret, SWFDEC_AS_OBJECT (format)); } commit 48de0d5c1cd7c62cadbd1a23ed83debe1f3c0d56 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 00:29:21 2007 +0300 Add a test case to see when XMLNode's native properties are initialized diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am index 6b39368..37d6322 100644 --- a/test/trace/Makefile.am +++ b/test/trace/Makefile.am @@ -2041,6 +2041,15 @@ EXTRA_DIST = \ xml-node-6.swf.trace \ xml-node-7.swf \ xml-node-7.swf.trace \ + xml-node-init.as \ + xml-node-init-5.swf \ + xml-node-init-5.swf.trace \ + xml-node-init-6.swf \ + xml-node-init-6.swf.trace \ + xml-node-init-7.swf \ + xml-node-init-7.swf.trace \ + xml-node-init-8.swf \ + xml-node-init-8.swf.trace \ xml-other.as \ xml-other-5.swf \ xml-other-5.swf.trace \ diff --git a/test/trace/xml-node-init-5.swf b/test/trace/xml-node-init-5.swf new file mode 100644 index 0000000..4591a5a Binary files /dev/null and b/test/trace/xml-node-init-5.swf differ diff --git a/test/trace/xml-node-init-5.swf.trace b/test/trace/xml-node-init-5.swf.trace new file mode 100644 index 0000000..0dc4ec2 --- /dev/null +++ b/test/trace/xml-node-init-5.swf.trace @@ -0,0 +1,11 @@ +Check when XMLNode's native properties are initialized +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined +undefined diff --git a/test/trace/xml-node-init-6.swf b/test/trace/xml-node-init-6.swf new file mode 100644 index 0000000..70179ed Binary files /dev/null and b/test/trace/xml-node-init-6.swf differ diff --git a/test/trace/xml-node-init-6.swf.trace b/test/trace/xml-node-init-6.swf.trace new file mode 100644 index 0000000..2dfc302 --- /dev/null +++ b/test/trace/xml-node-init-6.swf.trace @@ -0,0 +1,11 @@ +Check when XMLNode's native properties are initialized +true +true +false +false +false +false +false +false +true +true diff --git a/test/trace/xml-node-init-7.swf b/test/trace/xml-node-init-7.swf new file mode 100644 index 0000000..1d7401d Binary files /dev/null and b/test/trace/xml-node-init-7.swf differ diff --git a/test/trace/xml-node-init-7.swf.trace b/test/trace/xml-node-init-7.swf.trace new file mode 100644 index 0000000..2dfc302 --- /dev/null +++ b/test/trace/xml-node-init-7.swf.trace @@ -0,0 +1,11 @@ +Check when XMLNode's native properties are initialized +true +true +false +false +false +false +false +false +true +true diff --git a/test/trace/xml-node-init-8.swf b/test/trace/xml-node-init-8.swf new file mode 100644 index 0000000..dd5f6a1 Binary files /dev/null and b/test/trace/xml-node-init-8.swf differ diff --git a/test/trace/xml-node-init-8.swf.trace b/test/trace/xml-node-init-8.swf.trace new file mode 100644 index 0000000..2dfc302 --- /dev/null +++ b/test/trace/xml-node-init-8.swf.trace @@ -0,0 +1,11 @@ +Check when XMLNode's native properties are initialized +true +true +false +false +false +false +false +false +true +true diff --git a/test/trace/xml-node-init.as b/test/trace/xml-node-init.as new file mode 100644 index 0000000..9e959f8 --- /dev/null +++ b/test/trace/xml-node-init.as @@ -0,0 +1,34 @@ +// makeswf -v 7 -r 1 -o xml-node-init-7.swf xml-node-init.as + +function check_and_reset () { + _global.XMLNode.prototype.hasOwnProperty = ASnative (101, 5); + trace (_global.XMLNode.prototype.hasOwnProperty ("nodeType")); + _global.XMLNode.prototype = new Object (); +} + +trace ("Check when XMLNode's native properties are initialized"); + +check_and_reset (); +var tmp = new XMLNode (1, "test"); +check_and_reset (); + +tmp = new XMLNode (); +check_and_reset (); +tmp = new XMLNode (1); +check_and_reset (); +tmp = new XMLNode (1, undefined); +check_and_reset (); +tmp = new XMLNode (undefined, "test"); +check_and_reset (); + +XMLNode (1, "test"); +check_and_reset (); + +var x = new XML ("<test/>test"); +check_and_reset (); +x.createTextNode ("test"); +check_and_reset (); +x.createElement ("test"); +check_and_reset (); + +loadMovie ("FSCommand:quit", ""); commit 9b1681c91b413f054d54198ddb4446c6884ff287 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 00:25:01 2007 +0300 Don't init XMLNode's properties when create XMLNodes from parsed XML diff --git a/libswfdec/swfdec_xml.c b/libswfdec/swfdec_xml.c index ea2f287..f447e46 100644 --- a/libswfdec/swfdec_xml.c +++ b/libswfdec/swfdec_xml.c @@ -560,8 +560,8 @@ swfdec_xml_parse_tag (SwfdecXml *xml, SwfdecXmlNode **node, const char *p) // create the new element if (!close) { - child = swfdec_xml_node_new (SWFDEC_AS_OBJECT (*node)->context, - SWFDEC_XML_NODE_ELEMENT, name); + child = swfdec_xml_node_new_no_properties ( + SWFDEC_AS_OBJECT (*node)->context, SWFDEC_XML_NODE_ELEMENT, name); g_free (name); } @@ -640,8 +640,8 @@ swfdec_xml_parse_text (SwfdecXml *xml, SwfdecXmlNode *node, text = g_strndup (p, end - p); unescaped = swfdec_xml_unescape (SWFDEC_AS_OBJECT (xml)->context, text); g_free (text); - child = swfdec_xml_node_new (SWFDEC_AS_OBJECT (node)->context, - SWFDEC_XML_NODE_TEXT, unescaped); + child = swfdec_xml_node_new_no_properties ( + SWFDEC_AS_OBJECT (node)->context, SWFDEC_XML_NODE_TEXT, unescaped); g_free (unescaped); swfdec_xml_node_appendChild (node, child); } diff --git a/libswfdec/swfdec_xml_node.c b/libswfdec/swfdec_xml_node.c index 79c6952..457cd6b 100644 --- a/libswfdec/swfdec_xml_node.c +++ b/libswfdec/swfdec_xml_node.c @@ -1021,14 +1021,15 @@ swfdec_xml_node_init_properties (SwfdecAsContext *cx) } SwfdecXmlNode * -swfdec_xml_node_new (SwfdecAsContext *context, SwfdecXmlNodeType type, - const char* value) +swfdec_xml_node_new_no_properties (SwfdecAsContext *context, + SwfdecXmlNodeType type, const char* value) { SwfdecAsValue val; SwfdecXmlNode *node; guint size; g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); + g_return_val_if_fail (value != NULL, NULL); size = sizeof (SwfdecXmlNode); if (!swfdec_as_context_use_mem (context, size)) @@ -1040,14 +1041,23 @@ swfdec_xml_node_new (SwfdecAsContext *context, SwfdecXmlNodeType type, return NULL; swfdec_as_object_set_constructor (SWFDEC_AS_OBJECT (node), SWFDEC_AS_VALUE_GET_OBJECT (&val)); - swfdec_xml_node_init_properties (context); - swfdec_xml_node_init_values (node, type, swfdec_as_context_get_string (SWFDEC_AS_OBJECT (node)->context, value)); return node; } +SwfdecXmlNode * +swfdec_xml_node_new (SwfdecAsContext *context, SwfdecXmlNodeType type, + const char* value) +{ + g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); + + swfdec_xml_node_init_properties (context); + + return swfdec_xml_node_new_no_properties (context, type, value); +} + SWFDEC_AS_CONSTRUCTOR (253, 0, swfdec_xml_node_construct, swfdec_xml_node_get_type) void swfdec_xml_node_construct (SwfdecAsContext *cx, SwfdecAsObject *object, diff --git a/libswfdec/swfdec_xml_node.h b/libswfdec/swfdec_xml_node.h index e40b7cd..07c721c 100644 --- a/libswfdec/swfdec_xml_node.h +++ b/libswfdec/swfdec_xml_node.h @@ -83,6 +83,9 @@ GType swfdec_xml_node_get_type (void); SwfdecXmlNode * swfdec_xml_node_new (SwfdecAsContext * context, SwfdecXmlNodeType type, const char * value); +SwfdecXmlNode * swfdec_xml_node_new_no_properties (SwfdecAsContext * context, + SwfdecXmlNodeType type, + const char * value); void swfdec_xml_node_removeNode (SwfdecXmlNode * node); void swfdec_xml_node_appendChild (SwfdecXmlNode * node, SwfdecXmlNode * child); commit 1cce43e9651095853b5ec127505d35ae5f109cbe Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Thu Oct 25 00:14:36 2007 +0300 Create XMLNode's properties also when created through an XML object Remove SWFDEC_FIXME from swfdec_xml_node_construct when not constructing, it's supposed to do nothing diff --git a/libswfdec/swfdec_xml_node.c b/libswfdec/swfdec_xml_node.c index 545c8d2..79c6952 100644 --- a/libswfdec/swfdec_xml_node.c +++ b/libswfdec/swfdec_xml_node.c @@ -1040,6 +1040,8 @@ swfdec_xml_node_new (SwfdecAsContext *context, SwfdecXmlNodeType type, return NULL; swfdec_as_object_set_constructor (SWFDEC_AS_OBJECT (node), SWFDEC_AS_VALUE_GET_OBJECT (&val)); + swfdec_xml_node_init_properties (context); + swfdec_xml_node_init_values (node, type, swfdec_as_context_get_string (SWFDEC_AS_OBJECT (node)->context, value)); @@ -1051,10 +1053,8 @@ void swfdec_xml_node_construct (SwfdecAsContext *cx, SwfdecAsObject *object, guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret) { - if (!swfdec_as_context_is_constructing (cx)) { - SWFDEC_FIXME ("What do we do if not constructing?"); + if (!swfdec_as_context_is_constructing (cx)) return; - } g_assert (SWFDEC_IS_XML_NODE (object)); commit 76e1c9e15ed4c4e55bc470c42ca595f095a298de Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Wed Oct 24 19:35:15 2007 +0300 Add FIXME comments about native property initialization weirdness diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c index 6e953a4..9229992 100644 --- a/libswfdec/swfdec_text_field_movie_as.c +++ b/libswfdec/swfdec_text_field_movie_as.c @@ -1236,6 +1236,10 @@ swfdec_text_field_movie_init_properties (SwfdecAsContext *cx) SwfdecAsValue val; SwfdecAsObject *object, *proto; + // FIXME: We should only initialize if the prototype Object has not been + // initialized by any object's constructor with native properties + // (TextField, TextFormat, XML, XMLNode at least) + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx)); swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val); diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c index d103020..f3993f5 100644 --- a/libswfdec/swfdec_text_format.c +++ b/libswfdec/swfdec_text_format.c @@ -1101,6 +1101,10 @@ swfdec_text_format_init_properties (SwfdecAsContext *cx) SwfdecAsValue val; SwfdecAsObject *proto; + // FIXME: We should only initialize if the prototype Object has not been + // initialized by any object's constructor with native properties + // (TextField, TextFormat, XML, XMLNode at least) + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx)); swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextFormat, &val); diff --git a/libswfdec/swfdec_xml.c b/libswfdec/swfdec_xml.c index c21409c..ea2f287 100644 --- a/libswfdec/swfdec_xml.c +++ b/libswfdec/swfdec_xml.c @@ -760,6 +760,12 @@ swfdec_xml_init_properties (SwfdecAsContext *cx) SwfdecAsValue val; SwfdecAsObject *xml, *proto; + // FIXME: We should only initialize if the prototype Object has not been + // initialized by any object's constructor with native properties + // (TextField, TextFormat, XML, XMLNode at least) + + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx)); + swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_XML, &val); if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) return; diff --git a/libswfdec/swfdec_xml_node.c b/libswfdec/swfdec_xml_node.c index 617dbc1..545c8d2 100644 --- a/libswfdec/swfdec_xml_node.c +++ b/libswfdec/swfdec_xml_node.c @@ -976,6 +976,12 @@ swfdec_xml_node_init_properties (SwfdecAsContext *cx) SwfdecAsValue val; SwfdecAsObject *node, *proto; + // FIXME: We should only initialize if the prototype Object has not been + // initialized by any object's constructor with native properties + // (TextField, TextFormat, XML, XMLNode at least) + + g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx)); + swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_XMLNode, &val); if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) return; commit 8e00c17b38fe8aad3159f88ab30c5cc2673df1e2 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Wed Oct 24 19:25:13 2007 +0300 Make XML's and XMLNode's native property initialization work like TextFormat's diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h index 3baa77f..894acad 100644 --- a/libswfdec/swfdec_player_internal.h +++ b/libswfdec/swfdec_player_internal.h @@ -75,8 +75,6 @@ struct _SwfdecPlayer double scale_y; /* cached y scale value */ int offset_x; /* x offset from top left edge after scaling */ int offset_y; /* y offset from top left edge after scaling */ - gboolean xml_properties_initialized; /* whether XML object's native properties have been initialized */ - gboolean xml_node_properties_initialized; /* same for XMLNode */ guint unnamed_count; /* variable used for naming unnamed movies */ /* ActionScript */ diff --git a/libswfdec/swfdec_xml.c b/libswfdec/swfdec_xml.c index 739abca..c21409c 100644 --- a/libswfdec/swfdec_xml.c +++ b/libswfdec/swfdec_xml.c @@ -754,6 +754,37 @@ swfdec_xml_createTextNode (SwfdecAsContext *cx, SwfdecAsObject *object, SWFDEC_AS_VALUE_SET_OBJECT (rval, SWFDEC_AS_OBJECT (node)); } +static void +swfdec_xml_init_properties (SwfdecAsContext *cx) +{ + SwfdecAsValue val; + SwfdecAsObject *xml, *proto; + + swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_XML, &val); + if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) + return; + xml = SWFDEC_AS_VALUE_GET_OBJECT (&val); + + swfdec_as_object_get_variable (xml, SWFDEC_AS_STR_prototype, &val); + if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) + return; + proto = SWFDEC_AS_VALUE_GET_OBJECT (&val); + + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_ignoreWhite, + swfdec_xml_get_ignoreWhite, swfdec_xml_set_ignoreWhite); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_status, + swfdec_xml_get_status, swfdec_xml_set_status); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_xmlDecl, + swfdec_xml_get_xmlDecl, swfdec_xml_set_xmlDecl); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_docTypeDecl, + swfdec_xml_get_docTypeDecl, swfdec_xml_set_docTypeDecl); + + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_contentType, + swfdec_xml_get_contentType, swfdec_xml_set_contentType); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_loaded, + swfdec_xml_get_loaded, swfdec_xml_set_loaded); +} + SWFDEC_AS_CONSTRUCTOR (253, 9, swfdec_xml_construct, swfdec_xml_get_type) void swfdec_xml_construct (SwfdecAsContext *cx, SwfdecAsObject *object, @@ -766,32 +797,9 @@ swfdec_xml_construct (SwfdecAsContext *cx, SwfdecAsObject *object, g_assert (SWFDEC_IS_XML (object)); - if (!SWFDEC_PLAYER (cx)->xml_properties_initialized) { - SwfdecAsValue val; - SwfdecAsObject *proto; - - swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val); - g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val)); - proto = SWFDEC_AS_VALUE_GET_OBJECT (&val); - - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_ignoreWhite, - swfdec_xml_get_ignoreWhite, swfdec_xml_set_ignoreWhite); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_status, - swfdec_xml_get_status, swfdec_xml_set_status); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_xmlDecl, - swfdec_xml_get_xmlDecl, swfdec_xml_set_xmlDecl); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_docTypeDecl, - swfdec_xml_get_docTypeDecl, swfdec_xml_set_docTypeDecl); - - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_contentType, - swfdec_xml_get_contentType, swfdec_xml_set_contentType); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_loaded, - swfdec_xml_get_loaded, swfdec_xml_set_loaded); - - SWFDEC_PLAYER (cx)->xml_properties_initialized = TRUE; - } + swfdec_xml_init_properties (cx); - swfdec_xml_node_init_properties (SWFDEC_XML_NODE (object), + swfdec_xml_node_init_values (SWFDEC_XML_NODE (object), SWFDEC_XML_NODE_ELEMENT, SWFDEC_AS_STR_EMPTY); SWFDEC_AS_VALUE_SET_STRING (&SWFDEC_XML (object)->contentType, diff --git a/libswfdec/swfdec_xml_node.c b/libswfdec/swfdec_xml_node.c index 7d59d9e..617dbc1 100644 --- a/libswfdec/swfdec_xml_node.c +++ b/libswfdec/swfdec_xml_node.c @@ -970,6 +970,50 @@ swfdec_xml_node_init_values (SwfdecXmlNode *node, int type, const char* value) node->childNodes = SWFDEC_AS_ARRAY (swfdec_as_array_new (object->context)); } +static void +swfdec_xml_node_init_properties (SwfdecAsContext *cx) +{ + SwfdecAsValue val; + SwfdecAsObject *node, *proto; + + swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_XMLNode, &val); + if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) + return; + node = SWFDEC_AS_VALUE_GET_OBJECT (&val); + + swfdec_as_object_get_variable (node, SWFDEC_AS_STR_prototype, &val); + if (!SWFDEC_AS_VALUE_IS_OBJECT (&val)) + return; + proto = SWFDEC_AS_VALUE_GET_OBJECT (&val); + + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nodeType, + swfdec_xml_node_get_nodeType, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nodeValue, + swfdec_xml_node_get_nodeValue, swfdec_xml_node_set_nodeValue); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nodeName, + swfdec_xml_node_get_nodeName, swfdec_xml_node_set_nodeName); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_prefix, + swfdec_xml_node_do_get_prefix, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_localName, + swfdec_xml_node_get_localName, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_namespaceURI, + swfdec_xml_node_get_namespaceURI, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_attributes, + swfdec_xml_node_get_attributes, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_parentNode, + swfdec_xml_node_get_parentNode, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_previousSibling, + swfdec_xml_node_get_previousSibling, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nextSibling, + swfdec_xml_node_get_nextSibling, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_firstChild, + swfdec_xml_node_get_firstChild, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_lastChild, + swfdec_xml_node_get_lastChild, NULL); + swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_childNodes, + swfdec_xml_node_get_childNodes, NULL); +} + SwfdecXmlNode * swfdec_xml_node_new (SwfdecAsContext *context, SwfdecXmlNodeType type, const char* value) @@ -1008,44 +1052,6 @@ swfdec_xml_node_construct (SwfdecAsContext *cx, SwfdecAsObject *object, g_assert (SWFDEC_IS_XML_NODE (object)); - if (!SWFDEC_PLAYER (cx)->xml_node_properties_initialized) { - SwfdecAsValue val; - SwfdecAsObject *proto; - - swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val); - g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val)); - proto = SWFDEC_AS_VALUE_GET_OBJECT (&val); - - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nodeType, - swfdec_xml_node_get_nodeType, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nodeValue, - swfdec_xml_node_get_nodeValue, swfdec_xml_node_set_nodeValue); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nodeName, - swfdec_xml_node_get_nodeName, swfdec_xml_node_set_nodeName); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_prefix, - swfdec_xml_node_do_get_prefix, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_localName, - swfdec_xml_node_get_localName, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_namespaceURI, - swfdec_xml_node_get_namespaceURI, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_attributes, - swfdec_xml_node_get_attributes, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_parentNode, - swfdec_xml_node_get_parentNode, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_previousSibling, - swfdec_xml_node_get_previousSibling, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_nextSibling, - swfdec_xml_node_get_nextSibling, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_firstChild, - swfdec_xml_node_get_firstChild, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_lastChild, - swfdec_xml_node_get_lastChild, NULL); - swfdec_as_object_add_native_variable (proto, SWFDEC_AS_STR_childNodes, - swfdec_xml_node_get_childNodes, NULL); - - SWFDEC_PLAYER (cx)->xml_node_properties_initialized = TRUE; - } - if (argc < 2) return; @@ -1054,6 +1060,8 @@ swfdec_xml_node_construct (SwfdecAsContext *cx, SwfdecAsObject *object, SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[1])) return; + swfdec_xml_node_init_properties (cx); + swfdec_xml_node_init_values (SWFDEC_XML_NODE (object), swfdec_as_value_to_integer (cx, &argv[0]), swfdec_as_value_to_string (cx, &argv[1])); commit 2d31f9e051466b7d3c97792b0892b0bdb4a01281 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Wed Oct 24 19:18:01 2007 +0300 Forgot to change the header diff --git a/libswfdec/swfdec_xml_node.h b/libswfdec/swfdec_xml_node.h index 6009457..e40b7cd 100644 --- a/libswfdec/swfdec_xml_node.h +++ b/libswfdec/swfdec_xml_node.h @@ -87,7 +87,7 @@ void swfdec_xml_node_removeNode (SwfdecXmlNode * node); void swfdec_xml_node_appendChild (SwfdecXmlNode * node, SwfdecXmlNode * child); void swfdec_xml_node_removeChildren (SwfdecXmlNode * node); -void swfdec_xml_node_init_properties (SwfdecXmlNode * node, +void swfdec_xml_node_init_values (SwfdecXmlNode * node, int type, const char * value); gint32 swfdec_xml_node_num_children (SwfdecXmlNode * node); commit c266f99aee7b34534b4efd958b5543264982cf1c Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Wed Oct 24 19:11:05 2007 +0300 Rename swfdec_xml_node_init_properties to _values. Remove old FIXME comment diff --git a/libswfdec/swfdec_xml_node.c b/libswfdec/swfdec_xml_node.c index e937429..7d59d9e 100644 --- a/libswfdec/swfdec_xml_node.c +++ b/libswfdec/swfdec_xml_node.c @@ -947,8 +947,7 @@ swfdec_xml_node_do_toString (SwfdecAsContext *cx, SwfdecAsObject *object, } void -swfdec_xml_node_init_properties (SwfdecXmlNode *node, int type, - const char* value) +swfdec_xml_node_init_values (SwfdecXmlNode *node, int type, const char* value) { SwfdecAsObject *object; @@ -959,7 +958,6 @@ swfdec_xml_node_init_properties (SwfdecXmlNode *node, int type, node->valid = TRUE; node->parent = NULL; - // FIXME: use _global.Array constructor? node->children = SWFDEC_AS_ARRAY (swfdec_as_array_new (object->context)); node->attributes = swfdec_as_object_new_empty (object->context); node->type = type; @@ -992,7 +990,7 @@ swfdec_xml_node_new (SwfdecAsContext *context, SwfdecXmlNodeType type, return NULL; swfdec_as_object_set_constructor (SWFDEC_AS_OBJECT (node), SWFDEC_AS_VALUE_GET_OBJECT (&val)); - swfdec_xml_node_init_properties (node, type, + swfdec_xml_node_init_values (node, type, swfdec_as_context_get_string (SWFDEC_AS_OBJECT (node)->context, value)); return node; @@ -1056,7 +1054,7 @@ swfdec_xml_node_construct (SwfdecAsContext *cx, SwfdecAsObject *object, SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[1])) return; - swfdec_xml_node_init_properties (SWFDEC_XML_NODE (object), + swfdec_xml_node_init_values (SWFDEC_XML_NODE (object), swfdec_as_value_to_integer (cx, &argv[0]), swfdec_as_value_to_string (cx, &argv[1])); commit 28736ea95b50a9085b1f549d4b191d719ba296d7 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Wed Oct 24 19:07:24 2007 +0300 Make text-field-scroll test not depend on having Times New Roman font diff --git a/test/trace/text-field-scroll-5.swf b/test/trace/text-field-scroll-5.swf index 2798fa9..578d1fe 100644 Binary files a/test/trace/text-field-scroll-5.swf and b/test/trace/text-field-scroll-5.swf differ diff --git a/test/trace/text-field-scroll-5.swf.trace b/test/trace/text-field-scroll-5.swf.trace index 91239a2..4d134cd 100644 --- a/test/trace/text-field-scroll-5.swf.trace +++ b/test/trace/text-field-scroll-5.swf.trace @@ -1,54 +1,54 @@ # EMPTY bottomScroll: hscroll: -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: # WITH TEXT bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 3 # WITH WORD WRAP bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 3 # WITHOUT WORD WRAP bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 3 # WITH WORD WRAP - SCROLL RESET bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 3 # WITH WORD WRAP - FORMAT RESET bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 3 # WITH WORD WRAP - TEXT RESET bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 3 # WITHOUT WORD WRAP - FORMAT RESET bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 30 # WITHOUT WORD WRAP - TEXT RESET bottomScroll: hscroll: 200 -maxhscroll: +maxhscroll > 0: false maxscroll: scroll: 30 diff --git a/test/trace/text-field-scroll-6.swf b/test/trace/text-field-scroll-6.swf index 6fc812f..8b0b513 100644 Binary files a/test/trace/text-field-scroll-6.swf and b/test/trace/text-field-scroll-6.swf differ diff --git a/test/trace/text-field-scroll-6.swf.trace b/test/trace/text-field-scroll-6.swf.trace index f70c3a5..73460cd 100644 --- a/test/trace/text-field-scroll-6.swf.trace +++ b/test/trace/text-field-scroll-6.swf.trace @@ -1,48 +1,48 @@ # EMPTY bottomScroll: 1 hscroll: 0 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 1 scroll: 1 # WITH TEXT bottomScroll: 8 hscroll: 200 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 3 # WITH WORD WRAP bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 11 scroll: 3 # WITHOUT WORD WRAP bottomScroll: 8 hscroll: 200 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 3 # WITH WORD WRAP - SCROLL RESET bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 11 scroll: 3 # WITH WORD WRAP - TEXT RESET bottomScroll: 8 hscroll: 0 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 79 scroll: 3 # WITHOUT WORD WRAP - FORMAT RESET bottomScroll: 30 hscroll: 0 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 30 # WITHOUT WORD WRAP - TEXT RESET bottomScroll: 16 hscroll: 0 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 11 diff --git a/test/trace/text-field-scroll-7.swf b/test/trace/text-field-scroll-7.swf index b36d45b..67c1847 100644 Binary files a/test/trace/text-field-scroll-7.swf and b/test/trace/text-field-scroll-7.swf differ diff --git a/test/trace/text-field-scroll-7.swf.trace b/test/trace/text-field-scroll-7.swf.trace index 903af5c..38002d0 100644 --- a/test/trace/text-field-scroll-7.swf.trace +++ b/test/trace/text-field-scroll-7.swf.trace @@ -1,54 +1,54 @@ # EMPTY bottomScroll: 1 hscroll: 0 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 1 scroll: 1 # WITH TEXT bottomScroll: 8 hscroll: 200 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 3 # WITH WORD WRAP bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 11 scroll: 3 # WITHOUT WORD WRAP bottomScroll: 8 hscroll: 200 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 3 # WITH WORD WRAP - SCROLL RESET bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 11 scroll: 3 # WITH WORD WRAP - FORMAT RESET bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 79 scroll: 3 # WITH WORD WRAP - TEXT RESET bottomScroll: 8 hscroll: 0 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 79 scroll: 3 # WITHOUT WORD WRAP - FORMAT RESET bottomScroll: 30 hscroll: 0 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 30 # WITHOUT WORD WRAP - TEXT RESET bottomScroll: 16 hscroll: 0 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 11 diff --git a/test/trace/text-field-scroll-8.swf b/test/trace/text-field-scroll-8.swf index 964bd2a..4b1656e 100644 Binary files a/test/trace/text-field-scroll-8.swf and b/test/trace/text-field-scroll-8.swf differ diff --git a/test/trace/text-field-scroll-8.swf.trace b/test/trace/text-field-scroll-8.swf.trace index 903af5c..38002d0 100644 --- a/test/trace/text-field-scroll-8.swf.trace +++ b/test/trace/text-field-scroll-8.swf.trace @@ -1,54 +1,54 @@ # EMPTY bottomScroll: 1 hscroll: 0 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 1 scroll: 1 # WITH TEXT bottomScroll: 8 hscroll: 200 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 3 # WITH WORD WRAP bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 11 scroll: 3 # WITHOUT WORD WRAP bottomScroll: 8 hscroll: 200 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 3 # WITH WORD WRAP - SCROLL RESET bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 11 scroll: 3 # WITH WORD WRAP - FORMAT RESET bottomScroll: 8 hscroll: 200 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 79 scroll: 3 # WITH WORD WRAP - TEXT RESET bottomScroll: 8 hscroll: 0 -maxhscroll: 0 +maxhscroll > 0: false maxscroll: 79 scroll: 3 # WITHOUT WORD WRAP - FORMAT RESET bottomScroll: 30 hscroll: 0 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 30 # WITHOUT WORD WRAP - TEXT RESET bottomScroll: 16 hscroll: 0 -maxhscroll: ~500 +maxhscroll > 0: true maxscroll: 11 scroll: 11 diff --git a/test/trace/text-field-scroll.as b/test/trace/text-field-scroll.as index 78e65f5..bd60a7d 100644 --- a/test/trace/text-field-scroll.as +++ b/test/trace/text-field-scroll.as @@ -3,11 +3,7 @@ function trace_scroll_properties () { trace ("bottomScroll: " + t.bottomScroll); trace ("hscroll: " + t.hscroll); - if (t.maxhscroll > 100) { - trace ("maxhscroll: ~" + (t.maxhscroll - t.maxhscroll % 100)); - } else { - trace ("maxhscroll: " + t.maxhscroll); - } + trace ("maxhscroll > 0: " + (t.maxhscroll > 0)); trace ("maxscroll: " + t.maxscroll); trace ("scroll: " + t.scroll); }
Possibly Parallel Threads
- 20 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_html_parser.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h
- 12 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_html_parser.c libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_field_movie.h test/trace
- 5 commits - libswfdec/swfdec_html_parser.c libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c test/trace
- 6 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c
- libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h