Skip to content

Commit ed6269a

Browse files
committed
test(errorHandlingConfig): add test for errorHandlingConfig() to be independent of minErr
Closes angular#15770
1 parent 60e294c commit ed6269a

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

test/AngularSpec.js

+25
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,38 @@ Float32Array, Float64Array, */
77

88
describe('angular', function() {
99
var element, document;
10+
var originalObjectMaxDepthInErrorMessage = minErrConfig.objectMaxDepth;
1011

1112
beforeEach(function() {
1213
document = window.document;
1314
});
1415

1516
afterEach(function() {
1617
dealoc(element);
18+
minErrConfig.objectMaxDepth = originalObjectMaxDepthInErrorMessage;
19+
});
20+
21+
describe('errorHandlingConfig', function() {
22+
it('should get default objectMaxDepth', function() {
23+
expect(errorHandlingConfig().objectMaxDepth).toBe(5);
24+
});
25+
26+
it('should set objectMaxDepth', function() {
27+
errorHandlingConfig({objectMaxDepth: 3});
28+
expect(errorHandlingConfig().objectMaxDepth).toBe(3);
29+
});
30+
31+
it('should not change objectMaxDepth when undefined is supplied', function() {
32+
errorHandlingConfig({objectMaxDepth: undefined});
33+
expect(errorHandlingConfig().objectMaxDepth).toBe(originalObjectMaxDepthInErrorMessage);
34+
});
35+
36+
they('should set objectMaxDepth to Nan when $prop is supplied',
37+
[NaN, null, true, false, -1, 0], function(maxDepth) {
38+
errorHandlingConfig({objectMaxDepth: maxDepth});
39+
expect(errorHandlingConfig().objectMaxDepth).toBeNaN();
40+
}
41+
);
1742
});
1843

1944
describe('case', function() {

test/minErrSpec.js

+2-7
Original file line numberDiff line numberDiff line change
@@ -78,32 +78,27 @@ describe('minErr', function() {
7878

7979
var myError = testError('26', 'a when objectMaxDepth is default=5 is {0}', a);
8080
expect(myError.message).toMatch(/a when objectMaxDepth is default=5 is {"b":{"c":{"d":{"e":{"f":"..."}}}}}/);
81-
expect(errorHandlingConfig().objectMaxDepth).toBe(5);
8281

8382
errorHandlingConfig({objectMaxDepth: 1});
8483
myError = testError('26', 'a when objectMaxDepth is set to 1 is {0}', a);
8584
expect(myError.message).toMatch(/a when objectMaxDepth is set to 1 is {"b":"..."}/);
86-
expect(errorHandlingConfig().objectMaxDepth).toBe(1);
8785

8886
errorHandlingConfig({objectMaxDepth: 2});
8987
myError = testError('26', 'a when objectMaxDepth is set to 2 is {0}', a);
9088
expect(myError.message).toMatch(/a when objectMaxDepth is set to 2 is {"b":{"c":"..."}}/);
91-
expect(errorHandlingConfig().objectMaxDepth).toBe(2);
9289

9390
errorHandlingConfig({objectMaxDepth: undefined});
9491
myError = testError('26', 'a when objectMaxDepth is set to undefined is {0}', a);
9592
expect(myError.message).toMatch(/a when objectMaxDepth is set to undefined is {"b":{"c":"..."}}/);
96-
expect(errorHandlingConfig().objectMaxDepth).toBe(2);
9793
});
9894

9995
they('should handle arguments that are objects and ignore max depth when objectMaxDepth = $prop',
10096
[NaN, null, true, false, -1, 0], function(maxDepth) {
101-
var a = {b: {c: {d: 1}}};
97+
var a = {b: {c: {d: {e: {f: {g: 1}}}}}};
10298

10399
errorHandlingConfig({objectMaxDepth: maxDepth});
104100
var myError = testError('26', 'a is {0}', a);
105-
expect(myError.message).toMatch(/a is {"b":{"c":{"d":1}}}/);
106-
expect(errorHandlingConfig().objectMaxDepth).toBeNaN();
101+
expect(myError.message).toMatch(/a is {"b":{"c":{"d":{"e":{"f":{"g":1}}}}}}/);
107102
}
108103
);
109104

0 commit comments

Comments
 (0)