]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
fix issue #2640: support instanceof operator
authoralburthoffman <alburthoffman@gmail.com>
Mon, 5 Oct 2015 14:48:49 +0000 (22:48 +0800)
committerIskren Chernev <iskren.chernev@gmail.com>
Mon, 9 Nov 2015 10:14:40 +0000 (02:14 -0800)
src/moment.js
src/test/moment/instanceof.js [new file with mode: 0644]

index 15fe0e6a7e54d789c1f930637c7c97002824bc4b..58a4931319b4a0555e0c137d12cc9c670a32c9ef 100644 (file)
@@ -64,5 +64,6 @@ moment.defineLocale          = defineLocale;
 moment.weekdaysShort         = weekdaysShort;
 moment.normalizeUnits        = normalizeUnits;
 moment.relativeTimeThreshold = relativeTimeThreshold;
+moment.prototype             = fn;
 
 export default moment;
diff --git a/src/test/moment/instanceof.js b/src/test/moment/instanceof.js
new file mode 100644 (file)
index 0000000..31d0065
--- /dev/null
@@ -0,0 +1,28 @@
+import { module, test } from '../qunit';
+import moment from '../../moment';
+
+module('instanceof');
+
+test('instanceof', function (assert) {
+    var mm = moment([2010, 0, 1]);
+
+    var extend = function (a, b) {
+        var i;
+        for (i in b) {
+            a[i] = b[i];
+        }
+        return a;
+    };
+
+    assert.equal(moment() instanceof moment, true, 'simple moment object');
+    assert.equal(extend({}, moment()) instanceof moment, false, 'extended moment object');
+    assert.equal(moment(null) instanceof moment, true, 'invalid moment object');
+
+    assert.equal(new Date() instanceof moment, false, 'date object is not moment object');
+    assert.equal(Object instanceof moment, false, 'Object is not moment object');
+    assert.equal('foo' instanceof moment, false, 'string is not moment object');
+    assert.equal(1 instanceof moment, false, 'number is not moment object');
+    assert.equal(NaN instanceof moment, false, 'NaN is not moment object');
+    assert.equal(null instanceof moment, false, 'null is not moment object');
+    assert.equal(undefined instanceof moment, false, 'undefined is not moment object');
+});
\ No newline at end of file