Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit d1fa727

Browse files
committed
WIP: use log test service in watchGroup tests
1 parent 590e57a commit d1fa727

File tree

1 file changed

+19
-33
lines changed

1 file changed

+19
-33
lines changed

test/ng/rootScopeSpec.js

+19-33
Original file line numberDiff line numberDiff line change
@@ -779,83 +779,69 @@ describe('Scope', function() {
779779

780780
describe('$watchGroup', function() {
781781
var scope;
782-
beforeEach(inject(function($rootScope) {
782+
var log;
783+
784+
beforeEach(inject(function($rootScope, _log_) {
783785
scope = $rootScope.$new();
786+
log = _log_;
784787
}));
785788

786789

787790
it('should work for a group with just a single expression', function() {
788-
var lastValues = ['foo'];
789-
var log = '';
790-
var clean = scope.$watchGroup(['a'], function(values, oldValues, s) {
791-
log += values.join(',') + ';';
791+
scope.$watchGroup(['a'], function(values, oldValues, s) {
792792
expect(s).toBe(scope);
793-
expect(oldValues).toEqual(lastValues);
794-
lastValues = values.slice();
793+
log(oldValues + ' >>> ' + values);
795794
});
796795

797796
scope.a = 'foo';
798797
scope.$digest();
799-
expect(log).toEqual('foo;');
798+
expect(log).toEqual('foo >>> foo');
800799

800+
log.reset();
801801
scope.$digest();
802-
expect(log).toEqual('foo;');
802+
expect(log).toEqual('');
803803

804804
scope.a = 'bar';
805805
scope.$digest();
806-
expect(log).toEqual('foo;bar;');
807-
808-
clean();
809-
scope.a = 'xxx';
810-
scope.$digest();
811-
expect(log).toEqual('foo;bar;');
806+
expect(log).toEqual('foo >>> bar');
812807
});
813808

814809

815810
it('should detect a change to any one expression in the group', function() {
816-
var lastValues = ['foo', 'bar'];
817-
var log = '';
818-
819811
scope.$watchGroup(['a', 'b'], function(values, oldValues, s) {
820-
log += values.join(',') + ';';
821812
expect(s).toBe(scope);
822-
expect(oldValues).toEqual(lastValues);
823-
lastValues = values.slice();
813+
log(oldValues + ' >>> ' + values);
824814
});
825815

826816
scope.a = 'foo';
827817
scope.b = 'bar';
828818
scope.$digest();
829-
expect(log).toEqual('foo,bar;');
819+
expect(log).toEqual('foo,bar >>> foo,bar');
830820

831-
log = '';
821+
log.reset();
832822
scope.$digest();
833823
expect(log).toEqual('');
834824

835825
scope.a = 'a';
836826
scope.$digest();
837-
expect(log).toEqual('a,bar;');
827+
expect(log).toEqual('foo,bar >>> a,bar');
838828

839-
log = '';
829+
log.reset();
840830
scope.a = 'A';
841831
scope.b = 'B';
842832
scope.$digest();
843-
expect(log).toEqual('A,B;');
833+
expect(log).toEqual('a,bar >>> A,B');
844834
});
845835

846836

847837
it('should not call watch action fn when watchGroup was deregistered', function() {
848-
var lastValues = ['foo', 'bar'];
849-
var log = '';
850-
var deregister = scope.$watchGroup(['a', 'b'], function(values, oldValues, s) {
851-
log += values.join(',') + ';';
852-
expect(s).toBe(scope);
853-
expect(oldValues).toEqual(lastValues);
854-
lastValues = values.slice();
838+
var deregister = scope.$watchGroup(['a', 'b'], function(values, oldValues) {
839+
log(oldValues + ' >>> ' + values);
855840
});
856841

857842
deregister();
858843
scope.a = 'xxx';
844+
scope.b = 'yyy';
859845
scope.$digest();
860846
expect(log).toEqual('');
861847
});

0 commit comments

Comments
 (0)