| Index: third_party/pkg/angular/lib/mock/zone.dart
 | 
| diff --git a/third_party/pkg/angular/lib/mock/zone.dart b/third_party/pkg/angular/lib/mock/zone.dart
 | 
| deleted file mode 100644
 | 
| index 862d42014be740c2b0403cbb29426da913affa23..0000000000000000000000000000000000000000
 | 
| --- a/third_party/pkg/angular/lib/mock/zone.dart
 | 
| +++ /dev/null
 | 
| @@ -1,216 +0,0 @@
 | 
| -library angular.mock_zone;
 | 
| -
 | 
| -import 'dart:async' as dart_async;
 | 
| -
 | 
| -final _asyncQueue = <Function>[];
 | 
| -final _timerQueue = <_TimerSpec>[];
 | 
| -final _asyncErrors = [];
 | 
| -bool _noMoreAsync = false;
 | 
| -
 | 
| -/**
 | 
| - * Runs any queued up async calls and any async calls queued with
 | 
| - * running microLeap. Example:
 | 
| - *
 | 
| - *     it('should run async code', async(() {
 | 
| - *       var thenRan = false;
 | 
| - *       new Future.value('s').then((_) { thenRan = true; });
 | 
| - *       expect(thenRan).toBe(false);
 | 
| - *       microLeap();
 | 
| - *       expect(thenRan).toBe(true);
 | 
| - *     }));
 | 
| - *
 | 
| - *     it('should run chained thens', async(() {
 | 
| - *       var log = [];
 | 
| - *       new Future.value('s')
 | 
| - *         .then((_) { log.add('firstThen'); })
 | 
| - *         .then((_) { log.add('2ndThen'); });
 | 
| - *       expect(log.join(' ')).toEqual('');
 | 
| - *       microLeap();
 | 
| - *       expect(log.join(' ')).toEqual('firstThen 2ndThen');
 | 
| - *     }));
 | 
| - *
 | 
| - */
 | 
| -microLeap() {
 | 
| -  while (!_asyncQueue.isEmpty) {
 | 
| -    // copy the queue as it may change.
 | 
| -    var toRun = new List.from(_asyncQueue);
 | 
| -    _asyncQueue.clear();
 | 
| -    // TODO: Support the case where multiple exceptions are thrown.
 | 
| -    // e.g. with a throwNextException() method.
 | 
| -    assert(_asyncErrors.isEmpty);
 | 
| -    toRun.forEach((fn) => fn());
 | 
| -    if (_asyncErrors.isNotEmpty) {
 | 
| -      var e = _asyncErrors.removeAt(0);
 | 
| -      throw ['Async error', e[0], e[1]];
 | 
| -    }
 | 
| -  }
 | 
| -}
 | 
| -
 | 
| -/**
 | 
| - * Simulates a clock tick by running any scheduled timers. Can only be used
 | 
| - * in [async] tests.Clock tick will call [microLeap] to process the microtask
 | 
| - * queue before each timer callback.
 | 
| - *
 | 
| - * Note: microtasks scheduled form the last timer are not going to be processed.
 | 
| - *
 | 
| - * Example:
 | 
| - *
 | 
| - *     it('should run queued timer after sufficient clock ticks', async(() {
 | 
| - *       bool timerRan = false;
 | 
| - *       new Timer(new Duration(milliseconds: 10), () => timerRan = true);
 | 
| - *
 | 
| - *       clockTick(milliseconds: 9);
 | 
| - *       expect(timerRan).toBeFalsy();
 | 
| - *       clockTick(milliseconds: 1);
 | 
| - *       expect(timerRan).toBeTruthy();
 | 
| - *     }));
 | 
| - *
 | 
| - *     it('should run periodic timer', async(() {
 | 
| - *       int timerRan = 0;
 | 
| - *       new Timer.periodic(new Duration(milliseconds: 10), (_) => timerRan++);
 | 
| - *
 | 
| - *       clockTick(milliseconds: 9);
 | 
| - *       expect(timerRan).toBe(0);
 | 
| - *       clockTick(milliseconds: 1);
 | 
| - *       expect(timerRan).toBe(1);
 | 
| - *       clockTick(milliseconds: 30);
 | 
| - *       expect(timerRan).toBe(4);
 | 
| - *     }));
 | 
| - */
 | 
| -void clockTick({int days: 0,
 | 
| -          int hours: 0,
 | 
| -          int minutes: 0,
 | 
| -          int seconds: 0,
 | 
| -          int milliseconds: 0,
 | 
| -          int microseconds: 0}) {
 | 
| -  var tickDuration = new Duration(days: days, hours: hours, minutes: minutes,
 | 
| -      seconds: seconds, milliseconds: milliseconds, microseconds: microseconds);
 | 
| -
 | 
| -  var remainingTimers = [];
 | 
| -  var queue = new List.from(_timerQueue);
 | 
| -  _timerQueue.clear();
 | 
| -  queue
 | 
| -    .where((_TimerSpec spec) => spec.isActive)
 | 
| -    .forEach((_TimerSpec spec) {
 | 
| -      if (spec.periodic) {
 | 
| -        // We always add back the periodic timer unless it's cancelled.
 | 
| -        remainingTimers.add(spec);
 | 
| -
 | 
| -        // Ignore ZERO duration ticks for periodic timers.
 | 
| -        if (tickDuration == Duration.ZERO) return;
 | 
| -
 | 
| -        spec.elapsed += tickDuration;
 | 
| -        // Run the timer as many times as the timer priod fits into the tick.
 | 
| -        while (spec.elapsed >= spec.duration) {
 | 
| -          spec.elapsed -= spec.duration;
 | 
| -          microLeap();
 | 
| -          spec.fn(spec);
 | 
| -        }
 | 
| -      } else {
 | 
| -        spec.duration -= tickDuration;
 | 
| -        if (spec.duration <= Duration.ZERO) {
 | 
| -          microLeap();
 | 
| -          spec.fn();
 | 
| -        } else {
 | 
| -          remainingTimers.add(spec);
 | 
| -        }
 | 
| -      }
 | 
| -    });
 | 
| -  // Remaining timers should come before anything else scheduled after them.
 | 
| -  _timerQueue.insertAll(0, remainingTimers);
 | 
| -}
 | 
| -
 | 
| -/**
 | 
| - * Causes scheduleMicrotask calls to throw exceptions.
 | 
| - *
 | 
| - * This function is useful while debugging async tests: the exception
 | 
| - * is thrown from the scheduleMicrotask call-site instead later in the test.
 | 
| - */
 | 
| -noMoreAsync() {
 | 
| -  _noMoreAsync = true;
 | 
| -}
 | 
| -
 | 
| -/**
 | 
| - * Captures all scheduleMicrotask calls inside of a function.
 | 
| - *
 | 
| - * Typically used within a test:
 | 
| - *
 | 
| - *     it('should be async', async(() {
 | 
| - *       ...
 | 
| - *     }));
 | 
| - */
 | 
| -async(Function fn) => () {
 | 
| -  _noMoreAsync = false;
 | 
| -  _asyncErrors.clear();
 | 
| -  _timerQueue.clear();
 | 
| -  var zoneSpec = new dart_async.ZoneSpecification(
 | 
| -      scheduleMicrotask: (_, __, ___, asyncFn) {
 | 
| -        if (_noMoreAsync) {
 | 
| -          throw ['scheduleMicrotask called after noMoreAsync()'];
 | 
| -        } else {
 | 
| -          _asyncQueue.add(asyncFn);
 | 
| -        }
 | 
| -      },
 | 
| -      createTimer: (_, __, ____, Duration duration, void f()) =>
 | 
| -          _createTimer(f, duration, false),
 | 
| -      createPeriodicTimer:
 | 
| -          (_, __, ___, Duration period, void f(dart_async.Timer timer)) =>
 | 
| -              _createTimer(f, period, true),
 | 
| -      handleUncaughtError: (_, __, ___, e, s) => _asyncErrors.add([e, s])
 | 
| -  );
 | 
| -  dart_async.runZoned(() {
 | 
| -      fn();
 | 
| -      microLeap();
 | 
| -    }, zoneSpecification: zoneSpec);
 | 
| -
 | 
| -  _asyncErrors.forEach((e) {
 | 
| -    throw "During runZoned: ${e[0]}.  Stack:\n${e[1]}";
 | 
| -  });
 | 
| -
 | 
| -  var activeTimers = _timerQueue.fold(0, (nb, _TimerSpec spec) {
 | 
| -    return spec.isActive ? nb + 1 : nb;
 | 
| -  });
 | 
| -
 | 
| -  if (activeTimers > 0) {
 | 
| -    throw ["$activeTimers active timer(s) are still in the queue."];
 | 
| -  }
 | 
| -};
 | 
| -
 | 
| -_createTimer(Function fn, Duration duration, bool periodic) {
 | 
| -  var timer = new _TimerSpec(fn, duration, periodic);
 | 
| -  _timerQueue.add(timer);
 | 
| -  return timer;
 | 
| -}
 | 
| -
 | 
| -/**
 | 
| - * Enforces synchronous code.  Any calls to scheduleMicrotask inside of 'sync'
 | 
| - * will throw an exception.
 | 
| - */
 | 
| -sync(Function fn) => () {
 | 
| -  dart_async.runZoned(fn, zoneSpecification: new dart_async.ZoneSpecification(
 | 
| -    scheduleMicrotask: (_, __, ___, asyncFn) {
 | 
| -        throw ['scheduleMicrotask called from sync function.'];
 | 
| -    },
 | 
| -    createTimer: (_, __, ____, Duration duration, void f()) {
 | 
| -        throw ['Timer created from sync function.'];
 | 
| -    },
 | 
| -    createPeriodicTimer:
 | 
| -        (_, __, ___, Duration period, void f(dart_async.Timer timer)) {
 | 
| -            throw ['periodic Timer created from sync function.'];
 | 
| -        }
 | 
| -    ));
 | 
| -};
 | 
| -
 | 
| -class _TimerSpec implements dart_async.Timer {
 | 
| -  Function fn;
 | 
| -  Duration duration;
 | 
| -  Duration elapsed = Duration.ZERO;
 | 
| -  bool periodic;
 | 
| -  bool isActive = true;
 | 
| -
 | 
| -  _TimerSpec(this.fn, this.duration, this.periodic);
 | 
| -
 | 
| -  void cancel() {
 | 
| -    isActive = false;
 | 
| -  }
 | 
| -}
 | 
| 
 |