61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
modules.define(
|
|
'test',
|
|
['y-unique-id'],
|
|
function (provide, uniqueId) {
|
|
|
|
var should = chai.should();
|
|
|
|
describe('uniqueId', function () {
|
|
describe('generate()', function () {
|
|
it('should generate unique id on each call', function () {
|
|
var id1 = uniqueId.generate();
|
|
var id2 = uniqueId.generate();
|
|
var id3 = uniqueId.generate();
|
|
|
|
should.exist(id1);
|
|
should.exist(id2);
|
|
should.exist(id3);
|
|
|
|
id1.should.not.eq(id2);
|
|
id1.should.not.eq(id3);
|
|
id2.should.not.eq(id3);
|
|
});
|
|
});
|
|
|
|
describe('identify()', function () {
|
|
it('should generate different ids for different objects', function () {
|
|
var obj1 = {};
|
|
var obj2 = {};
|
|
var id1 = uniqueId.identify(obj1);
|
|
var id2 = uniqueId.identify(obj2);
|
|
id1.should.not.eq(id2);
|
|
});
|
|
|
|
it('should generate same id for same objects', function () {
|
|
var obj = {};
|
|
var id1 = uniqueId.identify(obj);
|
|
var id2 = uniqueId.identify(obj);
|
|
id1.should.eq(id2);
|
|
});
|
|
});
|
|
|
|
describe('isIdentified()', function () {
|
|
it('should return true if object has unique id ', function () {
|
|
var obj = {};
|
|
uniqueId.isIdentified(obj).should.be.false;
|
|
uniqueId.identify(obj);
|
|
uniqueId.isIdentified(obj).should.be.true;
|
|
});
|
|
|
|
it('should check own object\'s property', function () {
|
|
function Custom() {}
|
|
uniqueId.identify(Custom.prototype);
|
|
var custom = new Custom();
|
|
uniqueId.isIdentified(custom).should.be.false;
|
|
});
|
|
});
|
|
});
|
|
|
|
provide();
|
|
});
|