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

Unified Diff: language/src/GetterClosureExecutionOrderTest.dart

Issue 8355014: - Make sure to test all combinations of getters. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/tests/
Patch Set: Created 9 years, 2 months 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: language/src/GetterClosureExecutionOrderTest.dart
===================================================================
--- language/src/GetterClosureExecutionOrderTest.dart (revision 566)
+++ language/src/GetterClosureExecutionOrderTest.dart (working copy)
@@ -7,6 +7,34 @@
var counter = 0;
+class Test1 {
+ get a() {
+ Expect.equals(1, counter);
+ counter++;
+ return (c) { };
+ }
+
+ b() {
+ Expect.equals(0, counter);
+ counter++;
+ return 1;
+ }
+}
+
+class Test2 {
+ static get a() {
+ Expect.equals(1, counter);
+ counter++;
+ return (c) { };
+ }
+
+ static b() {
+ Expect.equals(0, counter);
gbracha 2011/10/19 20:55:19 This should expect counter = 1. See comment below.
Ivan Posva 2011/10/19 21:26:16 Done.
+ counter++;
+ return 1;
+ }
+}
+
get a() {
Expect.equals(1, counter);
gbracha 2011/10/19 20:55:19 This should be 0. This is a top level getter, and
Ivan Posva 2011/10/19 21:26:16 Done.
counter++;
@@ -20,6 +48,40 @@
}
main() {
- a(b());
- Expect.equals(2, counter);
+ var failures = [];
+ try {
+ // Check instance getters.
+ counter = 0;
+ var o = new Test1();
+ o.a(o.b());
+ Expect.equals(2, counter);
+ } catch (var exc, var stack) {
+ failures.add(exc);
+ failures.add(stack);
+ }
+ try {
+ // Check static getters.
gbracha 2011/10/19 20:55:19 This is valid per the current spec, though perhaps
Ivan Posva 2011/10/19 21:26:16 Done.
+ counter = 0;
+ Test2.a(Test2.b());
+ Expect.equals(2, counter);
+ } catch (var exc, var stack) {
+ failures.add(exc);
+ failures.add(stack);
+ }
+ try {
+ // Check top-level getters.
+ counter = 0;
+ a(b());
+ Expect.equals(2, counter);
+ } catch (var exc, var stack) {
+ failures.add(exc);
+ failures.add(stack);
+ }
+ // If any of the tests failed print out the details and fail the test.
+ if (failures.length != 0) {
+ for (var msg in failures) {
+ print(msg.toString());
+ }
+ throw "${failures.length ~/ 2} tests failed.";
+ }
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698