mirror of https://github.com/ColorlibHQ/gentelella
73 lines
1.7 KiB
JavaScript
73 lines
1.7 KiB
JavaScript
require('should');
|
|
var assert = require('assert');
|
|
var support = require('./support');
|
|
var App = support.resolve();
|
|
var app;
|
|
|
|
describe('app.set()', function() {
|
|
beforeEach(function() {
|
|
app = new App();
|
|
});
|
|
|
|
it('should set a value', function() {
|
|
app.set('a', 'b');
|
|
app.get('a').should.equal('b');
|
|
});
|
|
|
|
it('should set properties on the instance.', function() {
|
|
app.set('a', 'b');
|
|
app.a.should.equal('b');
|
|
});
|
|
|
|
it('should allow an object to be set directly.', function() {
|
|
app.set({x: 'y'});
|
|
app.x.should.equal('y');
|
|
app.get('x').should.equal('y');
|
|
});
|
|
|
|
it('should set nested properties on the instance.', function() {
|
|
app.set('c', {d: 'e'});
|
|
app.get('c').d.should.equal('e');
|
|
});
|
|
|
|
it('should use dot notation to `set` values.', function() {
|
|
app.set('h.i', 'j');
|
|
app.get('h').should.eql({i: 'j'});
|
|
});
|
|
|
|
it('should use dot notation to `get` values.', function() {
|
|
app.set('h', {i: 'j'});
|
|
app.get('h.i').should.equal('j');
|
|
});
|
|
|
|
it('should return `this` for chaining', function() {
|
|
app.set('a', 'b').should.equal(app);
|
|
app
|
|
.set('aa', 'bb')
|
|
.set('bb', 'cc')
|
|
.set('cc', 'dd');
|
|
app.get('aa').should.equal('bb');
|
|
app.get('bb').should.equal('cc');
|
|
app.get('cc').should.equal('dd');
|
|
});
|
|
|
|
it('should return undefined when not set', function() {
|
|
app.set('a', undefined).should.equal(app);
|
|
});
|
|
});
|
|
|
|
describe('app.get()', function() {
|
|
beforeEach(function() {
|
|
app = new App();
|
|
});
|
|
|
|
it('should return undefined when no set', function() {
|
|
assert(app.get('a') === undefined);
|
|
});
|
|
|
|
it('should otherwise return the value', function() {
|
|
app.set('a', 'b');
|
|
app.get('a').should.equal('b');
|
|
});
|
|
});
|