]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
optimization of isArray and unit tests
authormarija <m.selakovic89@gmail.com>
Tue, 9 Feb 2016 17:08:13 +0000 (18:08 +0100)
committerIskren Chernev <iskren.chernev@gmail.com>
Sun, 6 Mar 2016 08:46:22 +0000 (00:46 -0800)
removed paddings

src/lib/utils/is-array.js
src/test/moment/is_array.js [new file with mode: 0644]

index 46bd6c68b1a3773a68b0dbc6f74d2322537d6ca9..2d0e0f3da3d70f6e0110bad036462bdb1098e1c2 100644 (file)
@@ -1,3 +1,3 @@
 export default function isArray(input) {
-    return Object.prototype.toString.call(input) === '[object Array]';
+    return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
 }
diff --git a/src/test/moment/is_array.js b/src/test/moment/is_array.js
new file mode 100644 (file)
index 0000000..4602344
--- /dev/null
@@ -0,0 +1,19 @@
+import { module, test } from '../qunit';
+import isArray from '../../lib/utils/is-array.js';
+
+
+test('isArray recognizes Array objects', function (assert) {
+    assert.ok(isArray([1,2,3]), 'array args');
+    assert.ok(isArray([]), 'empty array');
+    assert.ok(isArray(new Array(1,2,3)), 'array constructor');
+});
+
+test('isArray rejects non-Array objects', function (assert) {
+    assert.ok(!isArray(), 'nothing');
+    assert.ok(!isArray(undefined), 'undefined');
+    assert.ok(!isArray(null), 'null');
+    assert.ok(!isArray(123), 'number');
+    assert.ok(!isArray('[1,2,3]'), 'string');
+    assert.ok(!isArray(new Date()), 'date');
+    assert.ok(!isArray({a:1,b:2}), 'object');
+});