Sha256: c776776249907c3833f430843c132be791f096c4a75e63c22738902d46806ed0

Contents?: true

Size: 1.74 KB

Versions: 27

Compression:

Stored size: 1.74 KB

Contents

import { module, test } from '../qunit';
import moment from '../../moment';

module('is moment');

test('is moment object', function (assert) {
    var MyObj = function () {},
        extend = function (a, b) {
            var i;
            for (i in b) {
                a[i] = b[i];
            }
            return a;
        };
    MyObj.prototype.toDate = function () {
        return new Date();
    };

    assert.ok(moment.isMoment(moment()), 'simple moment object');
    assert.ok(moment.isMoment(moment(null)), 'invalid moment object');
    assert.ok(moment.isMoment(extend({}, moment())), 'externally cloned moments are moments');
    assert.ok(moment.isMoment(extend({}, moment.utc())), 'externally cloned utc moments are moments');

    assert.ok(!moment.isMoment(new MyObj()), 'myObj is not moment object');
    assert.ok(!moment.isMoment(moment), 'moment function is not moment object');
    assert.ok(!moment.isMoment(new Date()), 'date object is not moment object');
    assert.ok(!moment.isMoment(Object), 'Object is not moment object');
    assert.ok(!moment.isMoment('foo'), 'string is not moment object');
    assert.ok(!moment.isMoment(1), 'number is not moment object');
    assert.ok(!moment.isMoment(NaN), 'NaN is not moment object');
    assert.ok(!moment.isMoment(null), 'null is not moment object');
    assert.ok(!moment.isMoment(undefined), 'undefined is not moment object');
});

test('is moment with hacked hasOwnProperty', function (assert) {
    var obj = {};
    // HACK to suppress jshint warning about bad property name
    obj['hasOwnMoney'.replace('Money', 'Property')] = function () {
        return true;
    };

    assert.ok(!moment.isMoment(obj), 'isMoment works even if passed object has a wrong hasOwnProperty implementation (ie8)');
});

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
card-1.100.0 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.99.6 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.99.5 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.99.4 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.99.3 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.99.2 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.99.1 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.99.0 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.98.3 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.98.2 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.98.1 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.98.0 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.97.0.1 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.97.0 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.96.8 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.96.7 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.96.6 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.96.5 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.96.4 mod/date/vendor/moment/src/test/moment/is_moment.js
card-1.96.3 mod/date/vendor/moment/src/test/moment/is_moment.js