This repository was archived by the owner on Apr 20, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 88
/
Copy pathtests.digest.js
80 lines (63 loc) · 2.08 KB
/
tests.digest.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
module('$rootScope.digest()');
asyncTest('assigns to simple scope properties', function () {
var injector = angular.injector(['ng', 'rx']);
var scope = injector.get('$rootScope').$new();
scope
.$toObservable('testProperty')
.debounce(500)
.map(function(change) { return change.newValue + 1; })
.digest(scope, 'testProperty2')
.subscribe(function onNext(val) {
start();
equal(val, 2, 'digest() should pass the value through to observers');
equal(scope.testProperty2, 2, 'digest() should update the given scope property');
});
scope.$apply(function () {
scope.testProperty = 1;
});
expect(2);
});
asyncTest('assigns to more complex assignable expressions', function () {
var injector = angular.injector(['ng', 'rx']);
var scope = injector.get('$rootScope').$new();
var controller = scope.ctrl = {
testProperty2: null
};
scope
.$toObservable('testProperty')
.debounce(500)
.map(function(change) { return change.newValue + "®"; })
.digest(scope, 'ctrl.testProperty2')
.subscribe(function onNext(val) {
start();
equal(val, "1®", 'digest() should pass the value through to observers');
equal(controller.testProperty2, "1®", 'digest() should update the given controller property');
});
scope.$apply(function () {
scope.testProperty = 1;
});
expect(2);
});
asyncTest('sends an error if expression is not assignable', function () {
var injector = angular.injector(['ng', 'rx']);
var scope = injector.get('$rootScope').$new();
var controller = scope.ctrl = {
testProperty2: null
};
scope
.$toObservable('testProperty')
.debounce(500)
.map(function(change) { return change.newValue + 1; })
.digest(scope, 'testProperty2 === 5')
.subscribe(function onNext() {
start();
ok(false, 'onNext should not be called if expression is not assignable');
}, function onError() {
start();
ok(true, 'onError should be called if expression is not assignable');
});
scope.$apply(function () {
scope.testProperty = 1;
});
expect(1);
});