UNPKG

@platform/cell.schema

Version:

URI and database schemas for the `cell.os`.

73 lines (72 loc) 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var test_1 = require("../test"); var _1 = require("."); describe('encoding', function () { it('escapePath => unescapePath', function () { var test = function (input, expected) { var escaped = _1.Encoding.escapePath(input); (0, test_1.expect)(escaped).to.eql(expected); (0, test_1.expect)(_1.Encoding.unescapePath(escaped)).to.eql(input); }; test('', ''); test('foo', 'foo'); test('foo/bar', 'foo\\bar'); }); it('escapeNamespace => unescapeNamespace', function () { var test = function (input, expected) { var escaped = _1.Encoding.escapeNamespace(input); (0, test_1.expect)(escaped).to.eql(expected); (0, test_1.expect)(_1.Encoding.unescapeNamespace(escaped)).to.eql(input); }; test('', ''); test('foo', 'foo'); test('foo.bar', 'foo__bar'); test('.foo', '__foo'); test('foo.', 'foo__'); }); it('escapeKey => unescapeKey', function () { var test = function (input, encoded) { var res = { encoded: _1.Encoding.escapeKey(input), decoded: _1.Encoding.unescapeKey(_1.Encoding.escapeKey(input)), }; (0, test_1.expect)(res.encoded).to.eql(encoded); (0, test_1.expect)(res.decoded).to.eql(input); }; test('foo', 'foo'); test('foo|bar', 'foo|bar'); test('[foo]', '[foo]'); test('.foo', ':foo'); test('[.foo]', '[:foo]'); test('foo.png', 'foo:png'); test('foo.bar.baz', 'foo:bar:baz'); test('foo/bar', 'foo::bar'); test('foo/bar/baz', 'foo::bar::baz'); test('.foo.', ':foo:'); test('..foo...', '[::]foo[:::]'); test('...foo.', '[:::]foo:'); test('...foo.png', '[:::]foo:png'); test('...foo/bar..png', '[:::]foo::bar[::]png'); test('[..]foo[...]', '[[::]]foo[[:::]]'); }); describe('transform', function () { it('transformKeys', function () { var test = function (input, fn, expected) { var escaped = _1.Encoding.transformKeys(input, fn); (0, test_1.expect)(escaped).to.eql(expected); }; test({}, _1.Encoding.escapePath, {}); test({ foo: 123 }, _1.Encoding.escapePath, { foo: 123 }); test({ 'foo/bar': 123 }, _1.Encoding.escapePath, { 'foo\\bar': 123 }); }); it('transformValues', function () { var test = function (input, fn, expected) { var escaped = _1.Encoding.transformValues(input, fn); (0, test_1.expect)(escaped).to.eql(expected); }; test({}, _1.Encoding.escapePath, {}); test({ foo: 'foo/bar' }, _1.Encoding.escapePath, { foo: 'foo\\bar' }); }); }); });