UNPKG

@platform/state

Version:

A small, simple, strongly typed, [rx/observable] state-machine.

97 lines (96 loc) 3.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _1 = require("."); var test_1 = require("../test"); var Identity = _1.TreeIdentity; describe('TreeIdentity', function () { it('format( namespace, key )', function () { var test = function (namespace, key, expected) { var res = Identity.format(namespace, key); (0, test_1.expect)(res).to.eql(expected); }; test('foo', 'bar', 'foo:bar'); test('foo:zoo', 'bar', 'foo:zoo:bar'); test('ns:foo:A1', 'node', 'ns:foo:A1:node'); test('', 'bar', ':bar'); test('foo', '', 'foo:'); }); it('hasNamespace', function () { var test = function (input, expected) { var res = Identity.hasNamespace(input); (0, test_1.expect)(res).to.eql(expected); }; test('tree-foo:bar', true); test(' tree-foo:bar ', true); test('ns:bar', true); test('ns:foo:A1', true); test(':bar', false); test('bar', false); }); it('stripNamespace', function () { var test = function (input, expected) { var res = Identity.stripNamespace(input); (0, test_1.expect)(res).to.eql(expected); }; test('tree-foo:bar', 'bar'); test(' tree-foo:bar ', 'bar'); test('bar', 'bar'); test('', ''); test('tree-foo:', ''); test(' tree-foo: ', ''); test('foo:bar', 'bar'); test(':bar', 'bar'); test(' :bar ', 'bar'); test('ns:foo:A1:node', 'node'); }); it('parse', function () { var test = function (input, namespace, key) { var res = Identity.parse(input); var id = namespace ? "".concat(namespace, ":").concat(key) : key; (0, test_1.expect)(res).to.eql({ namespace: namespace, key: key, id: id }); }; test('foo:bar', 'foo', 'bar'); test(' tree-foo:bar ', 'tree-foo', 'bar'); test('foo', '', 'foo'); test('foo:bar', 'foo', 'bar'); test('foo:bar:zoo', 'foo:bar', 'zoo'); test('ns:foo:A1:node', 'ns:foo:A1', 'node'); test('ns:foo:node', 'ns:foo', 'node'); test('', '', ''); test(' ', '', ''); }); it('namespace', function () { var test = function (input, namespace) { var res = Identity.namespace(input); (0, test_1.expect)(res).to.eql(namespace); }; test('foo:bar', 'foo'); test('ns:foo:A1:node', 'ns:foo:A1'); test('tree-foo:bar', 'tree-foo'); test(' foo:bar ', 'foo'); test('bar', ''); test(' bar ', ''); test('', ''); test(undefined, ''); }); it('key', function () { var test = function (key, expected) { (0, test_1.expect)(Identity.key(key)).to.eql(expected); }; test('', ''); test(' ', ''); test('foo', 'foo'); test(' foo ', 'foo'); test('tree-foo:bar', 'bar'); test('ns:foo:A1:node', 'node'); }); it('cuid', function () { var cuid = Identity.cuid(); (0, test_1.expect)(cuid.length).to.greaterThan(20); }); it('slug', function () { var slug = Identity.slug(); (0, test_1.expect)(slug.length).to.greaterThan(5); (0, test_1.expect)(slug.length).to.lessThan(10); }); });