go-types
Version:
Type-checking utilities for JavaScript
34 lines (27 loc) • 863 B
JavaScript
;
var assert = require("chai").assert;
var isCyclic = require("../src/isCyclic");
suite("#isCyclic", function () {
test("true", function () {
var c1 = {};
var c2 = [{id: 1}, {id: 2}];
c1.ref = c1;
c2.push(c1);
assert.equal(isCyclic(c1), true);
assert.equal(isCyclic(c2), true);
});
test("false", function () {
var obj = {};
Object.defineProperty(obj, "ref", {
enumerable: false,
value: obj
});
assert.equal(isCyclic(), false);
assert.equal(isCyclic(null), false);
assert.equal(isCyclic({a: null}), false);
assert.equal(isCyclic(obj), false);
assert.equal(isCyclic([1, 2, 3]), false);
assert.equal(isCyclic(function () {}), false);
assert.equal(isCyclic("abc"), false);
});
});