gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] /srv/bzr/gnash/trunk r9837: Passing test, complete / corr


From: Benjamin Wolsey
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r9837: Passing test, complete / correct Key class.
Date: Thu, 25 Sep 2008 09:58:11 +0200
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9837
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Thu 2008-09-25 09:58:11 +0200
message:
  Passing test, complete / correct Key class.
modified:
  libcore/asobj/Key.cpp
  testsuite/actionscript.all/MovieClip.as
    ------------------------------------------------------------
    revno: 9831.1.6
    committer: Benjamin Wolsey <address@hidden>
    branch nick: work
    timestamp: Thu 2008-09-25 09:35:22 +0200
    message:
      Correct propflags, stub Key.isAccessible (introduced in SWF8), add missing
      Key.ALT.
    modified:
      libcore/asobj/Key.cpp
    ------------------------------------------------------------
    revno: 9831.1.7
    committer: Benjamin Wolsey <address@hidden>
    branch nick: work
    timestamp: Thu 2008-09-25 09:53:25 +0200
    message:
      Movieclip.transform properties pass.
    modified:
      testsuite/actionscript.all/MovieClip.as
=== modified file 'libcore/asobj/Key.cpp'
--- a/libcore/asobj/Key.cpp     2008-06-02 08:52:51 +0000
+++ b/libcore/asobj/Key.cpp     2008-09-25 07:35:22 +0000
@@ -112,12 +112,24 @@
     return _lastKeyEvent;
 }
 
+static as_value
+key_is_accessible(const fn_call& fn)
+{
+
+    boost::intrusive_ptr<key_as_object> ko = 
+        ensureType<key_as_object>(fn.this_ptr);
+
+    log_unimpl("Key.isAccessible");
+    return as_value();
+}
+
 
 /// Return the ascii number of the last key pressed.
 static as_value   
 key_get_ascii(const fn_call& fn)
 {
-    boost::intrusive_ptr<key_as_object> ko = 
ensureType<key_as_object>(fn.this_ptr);
+    boost::intrusive_ptr<key_as_object> ko = 
+        ensureType<key_as_object>(fn.this_ptr);
 
     int code = ko->get_last_key();
 
@@ -128,7 +140,8 @@
 static as_value   
 key_get_code(const fn_call& fn)
 {
-    boost::intrusive_ptr<key_as_object> ko = 
ensureType<key_as_object>(fn.this_ptr);
+    boost::intrusive_ptr<key_as_object> ko = 
+        ensureType<key_as_object>(fn.this_ptr);
 
     int code = ko->get_last_key();
 
@@ -139,7 +152,8 @@
 static as_value   
 key_is_down(const fn_call& fn)
 {
-    boost::intrusive_ptr<key_as_object> ko = 
ensureType<key_as_object>(fn.this_ptr);
+    boost::intrusive_ptr<key_as_object> ko = 
+        ensureType<key_as_object>(fn.this_ptr);
 
     if (fn.nargs < 1)
     {
@@ -176,8 +190,12 @@
     // NOTE: _global.Key *is* an object, not a constructor
     as_object*  key_obj = new key_as_object;
 
+    const int flags = as_prop_flags::readOnly |
+                      as_prop_flags::dontDelete |
+                      as_prop_flags::dontEnum;
+
     // constants
-#define KEY_CONST(k) key_obj->init_member(#k, key::codeMap[key::k][key::KEY])
+#define KEY_CONST(k) key_obj->init_member(#k, key::codeMap[key::k][key::KEY], 
flags)
     KEY_CONST(BACKSPACE);
     KEY_CONST(CAPSLOCK);
     KEY_CONST(CONTROL);
@@ -196,22 +214,26 @@
     KEY_CONST(SPACE);
     KEY_CONST(TAB);
     KEY_CONST(UP);
+    KEY_CONST(ALT);
 
     // methods
 
     VM& vm = global.getVM();
 
     vm.registerNative(key_get_ascii, 800, 0);
-    key_obj->init_member("getAscii", vm.getNative(800, 0));
+    key_obj->init_member("getAscii", vm.getNative(800, 0), flags);
 
     vm.registerNative(key_get_code, 800, 1);
-    key_obj->init_member("getCode", vm.getNative(800, 1));
+    key_obj->init_member("getCode", vm.getNative(800, 1), flags);
 
     vm.registerNative(key_is_down, 800, 2);
-    key_obj->init_member("isDown", vm.getNative(800, 2));
+    key_obj->init_member("isDown", vm.getNative(800, 2), flags);
 
     vm.registerNative(key_is_toggled, 800, 3);
-    key_obj->init_member("isToggled", vm.getNative(800, 3));
+    key_obj->init_member("isToggled", vm.getNative(800, 3), flags);
+
+    key_obj->init_member("isAccessible", 
+            new builtin_function(key_is_accessible), flags);
 
     global.init_member("Key", key_obj);
 }

=== modified file 'testsuite/actionscript.all/MovieClip.as'
--- a/testsuite/actionscript.all/MovieClip.as   2008-09-23 09:04:01 +0000
+++ b/testsuite/actionscript.all/MovieClip.as   2008-09-25 07:53:25 +0000
@@ -1416,7 +1416,7 @@
 check(_root.transform instanceOf Object);
 check(!_root.transform instanceOf Matrix);
 props = []; for (var i in _root.transform) props.push(i); props.sort();
-xcheck_equals(props.toString(), 
"colorTransform,concatenatedColorTransform,concatenatedMatrix,matrix,pixelBounds");
+check_equals(props.toString(), 
"colorTransform,concatenatedColorTransform,concatenatedMatrix,matrix,pixelBounds");
 
 check_equals(typeof(_root.transform.colorTransform), 'object');
 // TODO: test colorTransform


reply via email to

[Prev in Thread] Current Thread [Next in Thread]