Skip to content

Commit 0449e6e

Browse files
authored
fix(utils): handle missing details.items (#482)
1 parent 56fe544 commit 0449e6e

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

packages/utils/src/assertions.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const AUDIT_TYPE_VALUE_GETTERS = {
4040
if (result.scoreDisplayMode === 'informative') return 0;
4141
return undefined;
4242
},
43-
maxLength: result => result.details && result.details.items && result.details.items.length,
43+
maxLength: result => (result.details && result.details.items && result.details.items.length) || 0,
4444
maxNumericValue: result => result.numericValue,
4545
};
4646

packages/utils/test/assertions.test.js

+21
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,27 @@ describe('getAllAssertionResults', () => {
209209
expect(results).toMatchObject([{actual: 0.8, expected: 0.9}]);
210210
});
211211

212+
it('should assume a default items length of 0', () => {
213+
const assertions = {
214+
'first-contentful-paint': ['error', {maxLength: 10}],
215+
};
216+
217+
const results = getAllAssertionResults({assertions, includePassedAssertions: true}, lhrs);
218+
expect(results).toEqual([
219+
{
220+
actual: 0,
221+
auditId: 'first-contentful-paint',
222+
expected: 10,
223+
level: 'error',
224+
name: 'maxLength',
225+
operator: '<=',
226+
passed: true,
227+
url: 'http://page-1.com',
228+
values: [0, 0],
229+
},
230+
]);
231+
});
232+
212233
it('should warn on incorrect assertion type', () => {
213234
const assertions = {
214235
'network-requests': ['error', {maxNumericValue: 10}],

0 commit comments

Comments
 (0)