Tests for Array.prototype.includes On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS Array.prototype.includes.length is 1 PASS Array.prototype.includes.name is 'includes' PASS [1, 2, 3].includes(2) is true PASS [1, 2, 3].includes(4) is false PASS [].includes(1) is false PASS [1, 2, 3].includes(1, 2) is false PASS [1, 2, 3].includes(3, 3) is false PASS [1, 2, 3].includes(2, undefined) is true PASS [1, 2, 3].includes(2, null) is true PASS [1, 2, 3].includes(2, 1, 2) is true PASS [1, 2, 3].includes(2, Number) is true PASS [1, 2, 3].includes(2, Number(2)) is false PASS [1, 2, 3].includes(2, 'egg') is true PASS [1, 2, 3].includes(2, '3') is false PASS [1, 2, 3].includes(3, -1) is true PASS [1, 2, 3].includes(1, -2) is false PASS [1, 2, 3].includes(1, -3) is true PASS [1, 2, NaN, 4].includes(NaN) is true PASS ['egg', 'bacon', 'sausage'].includes('egg') is true PASS ['egg', 'bacon', 'sausage'].includes('spinach') is false Array with holes (sparse array) PASS a.includes('egg') is true PASS a.includes('sausage') is true PASS a.includes('hashbrown') is false PASS a.includes('toast') is false PASS Array.prototype.includes.call(undefined, 1) threw exception TypeError: Array.prototype.includes requires that |this| not be null or undefined. PASS Array.prototype.includes.call(null, 1) threw exception TypeError: Array.prototype.includes requires that |this| not be null or undefined. Array-like object with invalid lengths PASS var obj = { 0: 1, 1: 1, 2: 1, length: 0 }; Array.prototype.includes.call(obj, 1) is false PASS var obj = { 0: 1, 1: 1, 2: 1, length: -0 }; Array.prototype.includes.call(obj, 1) is false PASS var obj = { 0: 1, 1: 1, 2: 1, length: -3 }; Array.prototype.includes.call(obj, 1) is false The index is converted to integer PASS [2, 3, 5, 7, 11, 13, 17].includes(2, NaN) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(7, NaN) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(17, NaN) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(2, Infinity) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(7, Infinity) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(17, Infinity) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(2, -Infinity) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(7, -Infinity) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(17, -Infinity) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(2, Number.MAX_SAFE_INTEGER) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(7, Number.MAX_SAFE_INTEGER) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(17, Number.MAX_SAFE_INTEGER) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(2, Number.MAX_SAFE_INTEGER + 1) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(7, Number.MAX_SAFE_INTEGER + 1) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(17, Number.MAX_SAFE_INTEGER + 1) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(2, Number.MIN_SAFE_INTEGER) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(7, Number.MIN_SAFE_INTEGER) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(17, Number.MIN_SAFE_INTEGER) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(2, Number.MIN_SAFE_INTEGER - 1) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(7, Number.MIN_SAFE_INTEGER - 1) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(17, Number.MIN_SAFE_INTEGER - 1) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(2, { valueOf: () => { return 1; } }) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(7, { valueOf: () => { return 1; } }) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(17, { valueOf: () => { return 1; } }) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(2, { toString: () => { return '1'; } }) is false PASS [2, 3, 5, 7, 11, 13, 17].includes(7, { toString: () => { return '1'; } }) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(17, { toString: () => { return '1'; } }) is true PASS [2, 3, 5, 7, 11, 13, 17].includes(2, '1') is false PASS [2, 3, 5, 7, 11, 13, 17].includes(7, '1') is true PASS [2, 3, 5, 7, 11, 13, 17].includes(17, '1') is true PASS successfullyParsed is true TEST COMPLETE