diff --git a/test/objects.js b/test/objects.js index a3bdd5677..67d05ecf2 100644 --- a/test/objects.js +++ b/test/objects.js @@ -5,6 +5,9 @@ $(document).ready(function() { test("objects: keys", function() { var exception = /object/; equals(_.keys({one : 1, two : 2}).join(', '), 'one, two', 'can extract the keys from an object'); + // the test above is not safe because it relies on for-in enumeration order + var a = []; a[1] = 0; + equals(_.keys(a).join(', '), '1', 'is not fooled by sparse arrays; see issue #95'); raises(function() { _.keys(null); }, exception, 'throws an error for `null` values'); raises(function() { _.keys(void 0); }, exception, 'throws an error for `undefined` values'); raises(function() { _.keys(1); }, exception, 'throws an error for number primitives');