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

Unified Diff: third_party/pkg/angular/test/jasmine_syntax.dart

Issue 257423008: Update all Angular libs (run update_all.sh). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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
Index: third_party/pkg/angular/test/jasmine_syntax.dart
diff --git a/third_party/pkg/angular/test/jasmine_syntax.dart b/third_party/pkg/angular/test/jasmine_syntax.dart
index 13def206891cf4ce6a65627e2b8347a1cfda2805..1dd3723ebc252560890c44f6b25308d36074585b 100644
--- a/third_party/pkg/angular/test/jasmine_syntax.dart
+++ b/third_party/pkg/angular/test/jasmine_syntax.dart
@@ -3,28 +3,35 @@ library jasmine;
import 'package:unittest/unittest.dart' as unit;
import 'package:angular/utils.dart' as utils;
-Function _wrapFn;
+var _beforeEachFnsForCurrentTest = [];
+var _afterEachFnsForCurrentTest = [];
-_maybeWrapFn(fn) => () {
- if (_wrapFn != null) {
- _wrapFn(fn)();
- } else {
- fn();
+_withSetup(fn) => () {
+ _beforeEachFnsForCurrentTest.sort((a, b) => Comparable.compare(b[1], a[1]));
+ _beforeEachFnsForCurrentTest.forEach((fn) => fn[0]());
+ try {
+ return fn();
+ } finally {
+ _beforeEachFnsForCurrentTest = [];
+ var _aeFns = _afterEachFnsForCurrentTest;
+ _afterEachFnsForCurrentTest = [];
+ _aeFns.reversed.forEach((fn) => fn());
}
};
-it(name, fn) => unit.test(name, _maybeWrapFn(fn));
-iit(name, fn) => unit.solo_test(name, _maybeWrapFn(fn));
+
+
+it(name, fn) => unit.test(name, _withSetup(fn));
+iit(name, fn) => unit.solo_test(name, _withSetup(fn));
xit(name, fn) {}
xdescribe(name, fn) {}
ddescribe(name, fn) => describe(name, fn, true);
-
class Describe {
Describe parent;
String name;
bool exclusive;
- List<Function> beforeEachFns = [];
+ List<List> beforeEachFns = [];
List<Function> afterEachFns = [];
Describe(this.name, this.parent, [bool this.exclusive=false]) {
@@ -34,11 +41,8 @@ class Describe {
}
setUp() {
- beforeEachFns.forEach((fn) => fn());
- }
-
- tearDown() {
- afterEachFns.forEach((fn) => fn());
+ _beforeEachFnsForCurrentTest.addAll(beforeEachFns);
+ _afterEachFnsForCurrentTest.addAll(afterEachFns);
}
}
@@ -56,18 +60,15 @@ describe(name, fn, [bool exclusive=false]) {
unit.group(name, () {
unit.setUp(currentDescribe.setUp);
fn();
- unit.tearDown(currentDescribe.tearDown);
});
} finally {
currentDescribe = lastDescribe;
}
}
-beforeEach(fn) => currentDescribe.beforeEachFns.add(fn);
+beforeEach(fn, {priority: 0}) => currentDescribe.beforeEachFns.add([fn, priority]);
afterEach(fn) => currentDescribe.afterEachFns.insert(0, fn);
-wrapFn(fn) => _wrapFn = fn;
-
var jasmine = new Jasmine();
class SpyFunctionInvocationResult {
@@ -149,5 +150,4 @@ class Jasmine {
main(){
unit.setUp(currentDescribe.setUp);
- unit.tearDown(currentDescribe.tearDown);
}

Powered by Google App Engine
This is Rietveld 408576698