Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(768)

Unified Diff: tests/language/src/NativePropertyFrogTest.dart

Issue 8923015: Test for frog native properties. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/language/language.status ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/language/src/NativePropertyFrogTest.dart
diff --git a/tests/language/src/NativePropertyFrogTest.dart b/tests/language/src/NativePropertyFrogTest.dart
new file mode 100644
index 0000000000000000000000000000000000000000..61b4808cee6085534fc8e04dc4f71f2b4d1dcac5
--- /dev/null
+++ b/tests/language/src/NativePropertyFrogTest.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Properties on hidden native classes.
+
+class A native "*A" {
ahe 2011/12/13 10:23:37 Please remove this test from "language". The nativ
sra1 2011/12/13 19:13:41 Sure, I'll move these tests somewhere under frog.
ahe 2011/12/13 20:25:07 thank you!
+
+ // Setters and getters should be similar to these methods:
+ int getX() native 'return this._x;';
+ void setX(int value) native 'this._x = value;';
+
+ int get X() native;
+ set X(int value) native;
+
+ int get Y() native;
+ set Y(int value) native;
+
+ int get Z() native 'return this._z;';
+ set Z(int value) native 'this._z = value;';
+}
+
+A makeA() native { return new A(); }
+
+void setup() native """
+function A() {}
+
+Object.defineProperty(A.prototype, "X", {
+ get: function () { return this._x; },
+ set: function (v) { this._x = v; }
+});
+
+makeA = function(){return new A;};
+""";
+
+
+main() {
+ setup();
+
+ var a = makeA();
+
+ a.setX(5);
+ Expect.equals(5, a.getX());
+
+ a.X = 10;
+ a.Y = 20;
+ a.Z = 30;
+
+ Expect.equals(10, a.X);
+ Expect.equals(20, a.Y);
+ Expect.equals(30, a.Z);
+}
« no previous file with comments | « tests/language/language.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698