@blinkk/selective-edit
Version:
Selective structured text editor.
75 lines • 2.14 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const deepObject_1 = require("./deepObject");
const ava_1 = __importDefault(require("ava"));
(0, ava_1.default)('ability to get top keys', t => {
const obj = new deepObject_1.DeepObject({
foo: 'foo',
});
t.is(obj.get('foo'), 'foo');
});
(0, ava_1.default)('ability to get second layer keys', t => {
const obj = new deepObject_1.DeepObject({
foo: {
bar: 'bar',
},
});
t.is(obj.get('foo.bar'), 'bar');
});
(0, ava_1.default)('ability to get deep level keys', t => {
const obj = new deepObject_1.DeepObject({
foo: {
bar: {
baz: 'baz',
},
},
});
t.is(obj.get('foo.bar.baz'), 'baz');
});
(0, ava_1.default)('ability to get missing key', t => {
const obj = new deepObject_1.DeepObject();
t.is(obj.get('foo'), undefined);
});
(0, ava_1.default)('keys', t => {
const obj = new deepObject_1.DeepObject({
foo: {
foofoo: {
foobar: true,
baz: true,
},
boo: true,
},
bar: 'test',
eel: [
{
ipo: true,
},
],
});
t.deepEqual(obj.keys().sort(), [
'bar',
'eel',
'foo.boo',
'foo.foofoo.baz',
'foo.foofoo.foobar',
]);
});
(0, ava_1.default)('set new values on top keys', t => {
const obj = new deepObject_1.DeepObject();
obj.set('foo', 'foo');
t.is(obj.get('foo'), 'foo');
});
(0, ava_1.default)('set new values on second level keys', t => {
const obj = new deepObject_1.DeepObject();
obj.set('foo.bar', 'bar');
t.is(obj.get('foo.bar'), 'bar');
});
(0, ava_1.default)('set new values on deep level keys', t => {
const obj = new deepObject_1.DeepObject();
obj.set('foo.bar.baz', 'baz');
t.is(obj.get('foo.bar.baz'), 'baz');
});
//# sourceMappingURL=deepObject.test.js.map