@fluid-experimental/property-changeset 0.59.2001 → 0.59.3000
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/changeset.d.ts.map +1 -1
- package/dist/changeset.js +50 -50
- package/dist/changeset.js.map +1 -1
- package/dist/changeset_operations/array.d.ts.map +1 -1
- package/dist/changeset_operations/array.js +22 -22
- package/dist/changeset_operations/array.js.map +1 -1
- package/dist/changeset_operations/arrayChangesetIterator.d.ts.map +1 -1
- package/dist/changeset_operations/arrayChangesetIterator.js +3 -3
- package/dist/changeset_operations/arrayChangesetIterator.js.map +1 -1
- package/dist/changeset_operations/indexedCollection.js +21 -21
- package/dist/changeset_operations/indexedCollection.js.map +1 -1
- package/dist/changeset_operations/isEmptyChangeset.js +2 -2
- package/dist/changeset_operations/isEmptyChangeset.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pathHelper.js.map +1 -1
- package/dist/rebase.js +6 -6
- package/dist/rebase.js.map +1 -1
- package/dist/templateSchema.d.ts.map +1 -1
- package/dist/templateSchema.js +1 -0
- package/dist/templateSchema.js.map +1 -1
- package/dist/templateValidator.d.ts.map +1 -1
- package/dist/templateValidator.js +32 -32
- package/dist/templateValidator.js.map +1 -1
- package/dist/test/array.spec.js +40 -40
- package/dist/test/array.spec.js.map +1 -1
- package/dist/test/pathHelper.spec.js +147 -147
- package/dist/test/pathHelper.spec.js.map +1 -1
- package/dist/test/reversibleCs.spec.js +2 -2
- package/dist/test/reversibleCs.spec.js.map +1 -1
- package/dist/test/tsconfig.tsbuildinfo +1 -1660
- package/dist/test/validator/templateSyntax.spec.js +29 -29
- package/dist/test/validator/templateSyntax.spec.js.map +1 -1
- package/dist/test/validator/templateValidator.spec.js +202 -202
- package/dist/test/validator/templateValidator.spec.js.map +1 -1
- package/dist/test/validator/typeidHelper.spec.js +39 -39
- package/dist/test/validator/typeidHelper.spec.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +41 -41
- package/dist/utils.js.map +1 -1
- package/lib/changeset.js.map +1 -1
- package/lib/changeset_operations/array.js.map +1 -1
- package/lib/changeset_operations/arrayChangesetIterator.js.map +1 -1
- package/lib/changeset_operations/indexedCollection.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/pathHelper.js.map +1 -1
- package/lib/rebase.js.map +1 -1
- package/lib/templateSchema.js +1 -0
- package/lib/templateSchema.js.map +1 -1
- package/lib/templateValidator.js +1 -1
- package/lib/templateValidator.js.map +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathHelper.spec.js","sourceRoot":"","sources":["../../src/test/pathHelper.spec.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/* eslint-disable no-unused-expressions */\n/**\n * @fileoverview In this file, we will test the path helper\n * functions described in /src/properties/path_helper.js\n */\n\nimport { expect } from 'chai';\nimport { PathHelper } from \"../pathHelper\";\n\ndescribe('PathHelper', function() {\n describe('tokenizePathString', function() {\n it('should work for simple paths separated by dots', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('', types)).to.deep.equal([]);\n expect(types).to.deep.equal([]);\n\n expect(PathHelper.tokenizePathString('test', types)).to.deep.equal(['test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('test.test2', types)).to.deep.equal(['test', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('.test2'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('test2.'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('.'); }).to.throw();\n });\n\n it('should work for arrays', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('[test]', types)).to.deep.equal(['test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test][test2]', types)).to.deep.equal(['test', 'test2']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(function() { PathHelper.tokenizePathString('['); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('[abcd'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString(']'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('[abcd]]'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('[]'); }).to.throw();\n });\n\n it('should work for combinations of arrays and paths separated by dots', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('map[test]', types)).to.deep.equal(['map', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test].parameter', types)).to.deep.equal(['test', 'parameter']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('map[test].parameter[test2]', types)).to.deep.equal(\n ['map', 'test', 'parameter', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('[test]parameter'); }).to.throw();\n });\n\n it('should work for quoted tokens', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('\"test\"', types)).to.deep.equal(['test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"te\\\\\"st\"', types)).to.deep.equal(['te\"st']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"te\\\\\\\\st\"', types)).to.deep.equal(['te\\\\st']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"\"', types)).to.deep.equal(['']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"test1\".test2', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('\"test1\".\"test2\"', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('test1.\"test2\"', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('test1[\"test2\"]', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"test1\"[\"test2\"]', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"\"[\"\"]', types)).to.deep.equal(['', '']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"/\"', types)).to.deep.equal(['/']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('/', types)).to.deep.equal(['/']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('/test', types)).to.deep.equal(['/', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('/[test]', types)).to.deep.equal(['/', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('*', types)).to.deep.equal(['*']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN]);\n\n expect(PathHelper.tokenizePathString('test*', types)).to.deep.equal(['test', '*']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('*.test', types)).to.deep.equal(['*', 'test']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('*test', types); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('test*test', types); }).to.throw();\n\n expect(PathHelper.tokenizePathString('*.test*.test2*', types)).to.deep.equal(['*', 'test', '*', 'test2', '*']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('/*', types)).to.deep.equal(['/', '*']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN, PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN]);\n\n expect(PathHelper.tokenizePathString('*[test]', types)).to.deep.equal(['*', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test]*', types)).to.deep.equal(['test', '*']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN, PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test]*.test2', types)).to.deep.equal(['test', '*', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('[test]*[test2]', types)).to.deep.equal(['test', '*', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('[test]*test', types); }).to.throw();\n\n expect(function() { PathHelper.tokenizePathString('\"'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('test\"'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('\"tests'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('\"\\\\a\"'); }).to.throw();\n });\n\n it('should work for relative paths', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('../test', types)).to.deep.equal(['../', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('../../../test', types)).to.deep.equal(['../', '../', '../', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN, PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN,\n PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('../../test[0].test2[key]', types)).to.deep.equal(\n ['../', '../', 'test', '0', 'test2', 'key']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN, PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('/../test2'); }).to.throw();\n });\n });\n\n describe('quotePathSegment', function() {\n it('should quote simple strings', function() {\n expect(PathHelper.quotePathSegment('test')).to.equal('\"test\"');\n expect(JSON.parse(PathHelper.quotePathSegment('test'))).to.equal('test');\n });\n it('should correctly quote strings with a quotation mark', function() {\n expect(PathHelper.quotePathSegment('\"')).to.equal('\"\\\\\"\"');\n expect(JSON.parse(PathHelper.quotePathSegment('\"'))).to.equal('\"');\n });\n it('should correctly quote strings with a backslash', function() {\n expect(PathHelper.quotePathSegment('\\\\')).to.equal('\"\\\\\\\\\"');\n expect(JSON.parse(PathHelper.quotePathSegment('\\\\'))).to.equal('\\\\');\n });\n\n it('should work for paths with multiple occurrences of the test string', function() {\n expect(PathHelper.quotePathSegment('test\"property\"')).to.equal('\"test\\\\\"property\\\\\"\"');\n expect(PathHelper.quotePathSegment('test\\\\property\\\\')).to.equal('\"test\\\\\\\\property\\\\\\\\\"');\n expect(PathHelper.quotePathSegment('test\"\\\\property\\\\\"')).to.equal('\"test\\\\\"\\\\\\\\property\\\\\\\\\\\\\"\"');\n });\n });\n\n describe('quotePathSegmentIfNeeded', function() {\n it('should quote all required strings', function() {\n expect(PathHelper.quotePathSegmentIfNeeded('.')).to.equal('\".\"');\n expect(PathHelper.quotePathSegmentIfNeeded('\"')).to.equal('\"\\\\\"\"');\n expect(PathHelper.quotePathSegmentIfNeeded('\\\\')).to.equal('\"\\\\\\\\\"');\n expect(PathHelper.quotePathSegmentIfNeeded('[')).to.equal('\"[\"');\n expect(PathHelper.quotePathSegmentIfNeeded(']')).to.equal('\"]\"');\n expect(PathHelper.quotePathSegmentIfNeeded('')).to.equal('\"\"');\n expect(PathHelper.quotePathSegmentIfNeeded('/')).to.equal('\"/\"');\n expect(PathHelper.quotePathSegmentIfNeeded('*')).to.equal('\"*\"');\n });\n\n it('should not quote other strings', function() {\n expect(PathHelper.quotePathSegmentIfNeeded('abcd')).to.equal('abcd');\n expect(PathHelper.quotePathSegmentIfNeeded('test_string')).to.equal('test_string');\n });\n });\n\n describe('unquotePathSegment', function() {\n it('should unquote simple strings', function() {\n expect(PathHelper.unquotePathSegment('\"test\"')).to.equal('test');\n });\n\n it('should correctly unquote strings with a quotation mark', function() {\n expect(PathHelper.unquotePathSegment('\"\\\\\"\"')).to.equal('\"');\n });\n\n it('should correctly unquote strings with a backslash', function() {\n expect(PathHelper.unquotePathSegment('\"\\\\\\\\\"')).to.equal('\\\\');\n });\n\n it('should work with empty strings', function() {\n expect(PathHelper.unquotePathSegment('')).to.equal('');\n });\n\n it('should throw on non strings', function() {\n // @ts-ignore\n expect(() => PathHelper.unquotePathSegment(5)).to.throw();\n });\n\n it('should work for paths with multiple occurrences of the test string', function() {\n expect(PathHelper.unquotePathSegment('\"test\\\\\"property\\\\\"\"')).to.equal('test\"property\"');\n expect(PathHelper.unquotePathSegment('\"test\\\\\\\\property\\\\\\\\\"')).to.equal('test\\\\property\\\\');\n expect(PathHelper.unquotePathSegment('\"test\\\\\"\\\\\\\\property\\\\\\\\\\\\\"\"')).to.equal('test\"\\\\property\\\\\"');\n });\n });\n\n describe('convertAbsolutePathToCanonical', function() {\n it('should remove leading /', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('/a.b.c')).to.equal('a.b.c');\n });\n\n it('should throw on ../', function() {\n expect(() => PathHelper.convertAbsolutePathToCanonical('../a.b.c')).to.throw('../');\n });\n\n it('should throw on *', function() {\n expect(() => PathHelper.convertAbsolutePathToCanonical('/a.b.c*')).to.throw('*');\n });\n\n it('should replace square brackets by periods', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('/a.b[c]')).to.equal('a.b.c');\n expect(PathHelper.convertAbsolutePathToCanonical('/a[b].c')).to.equal('a.b.c');\n });\n\n it('should keep properly escaped property names', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('\".\"')).to.equal('\".\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"\\\\\"\"')).to.equal('\"\\\\\"\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"\\\\\\\\\"')).to.equal('\"\\\\\\\\\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"[\"')).to.equal('\"[\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"]\"')).to.equal('\"]\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"\"')).to.equal('\"\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"/\"')).to.equal('\"/\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"*\"')).to.equal('\"*\"');\n });\n\n it('should properly unescape unusually escaped property names', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('\"a\".\"b\"')).to.equal('a.b');\n expect(PathHelper.convertAbsolutePathToCanonical('\"a\"[b][\"c\"]')).to.equal('a.b.c');\n });\n\n it('should not modify simple paths', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('a.b.c.d')).to.equal('a.b.c.d');\n expect(PathHelper.convertAbsolutePathToCanonical('test_string')).to.equal('test_string');\n });\n });\n\n describe('getPathCoverage', function() {\n this.timeout(500);\n let paths;\n\n it('should succeed if property is included in a path 1', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.FULLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b']);\n });\n\n it('should succeed if property is included in a path 2', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.b.c', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.FULLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b']);\n });\n\n it('should succeed if property is included in a path 3', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.b.c.d', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.FULLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b']);\n });\n\n it('should fail if property is not included in any path 1', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should fail if property is not included in any path 2', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('b.f.g', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should fail if property is not included in any path but have common root 1', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.h', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should fail if property is not included in any path but have common root 2', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.i.j', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should succeed if path goes through the property 1', function() {\n paths = ['a.b.c', 'a.b.d', 'z'];\n const res = PathHelper.getPathCoverage('a.b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.PARTLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b.c', 'a.b.d']);\n });\n\n it('should succeed if path goes through the property 2', function() {\n paths = ['z', 'a.b.c', 'a.b.d'];\n const res = PathHelper.getPathCoverage('a.b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.PARTLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b.c', 'a.b.d']);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"pathHelper.spec.js","sourceRoot":"","sources":["../../src/test/pathHelper.spec.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/* eslint-disable no-unused-expressions */\n/**\n * @fileoverview In this file, we will test the path helper\n * functions described in /src/properties/path_helper.js\n */\n\nimport { expect } from 'chai';\nimport { PathHelper } from \"../pathHelper\";\n\ndescribe('PathHelper', function() {\n describe('tokenizePathString', function() {\n it('should work for simple paths separated by dots', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('', types)).to.deep.equal([]);\n expect(types).to.deep.equal([]);\n\n expect(PathHelper.tokenizePathString('test', types)).to.deep.equal(['test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('test.test2', types)).to.deep.equal(['test', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('.test2'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('test2.'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('.'); }).to.throw();\n });\n\n it('should work for arrays', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('[test]', types)).to.deep.equal(['test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test][test2]', types)).to.deep.equal(['test', 'test2']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(function() { PathHelper.tokenizePathString('['); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('[abcd'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString(']'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('[abcd]]'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('[]'); }).to.throw();\n });\n\n it('should work for combinations of arrays and paths separated by dots', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('map[test]', types)).to.deep.equal(['map', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test].parameter', types)).to.deep.equal(['test', 'parameter']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('map[test].parameter[test2]', types)).to.deep.equal(\n ['map', 'test', 'parameter', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('[test]parameter'); }).to.throw();\n });\n\n it('should work for quoted tokens', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('\"test\"', types)).to.deep.equal(['test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"te\\\\\"st\"', types)).to.deep.equal(['te\"st']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"te\\\\\\\\st\"', types)).to.deep.equal(['te\\\\st']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"\"', types)).to.deep.equal(['']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"test1\".test2', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('\"test1\".\"test2\"', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('test1.\"test2\"', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('test1[\"test2\"]', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"test1\"[\"test2\"]', types)).to.deep.equal(['test1', 'test2']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"\"[\"\"]', types)).to.deep.equal(['', '']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('\"/\"', types)).to.deep.equal(['/']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('/', types)).to.deep.equal(['/']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('/test', types)).to.deep.equal(['/', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN]);\n\n expect(PathHelper.tokenizePathString('/[test]', types)).to.deep.equal(['/', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('*', types)).to.deep.equal(['*']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN]);\n\n expect(PathHelper.tokenizePathString('test*', types)).to.deep.equal(['test', '*']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('*.test', types)).to.deep.equal(['*', 'test']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('*test', types); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('test*test', types); }).to.throw();\n\n expect(PathHelper.tokenizePathString('*.test*.test2*', types)).to.deep.equal(['*', 'test', '*', 'test2', '*']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('/*', types)).to.deep.equal(['/', '*']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN, PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN]);\n\n expect(PathHelper.tokenizePathString('*[test]', types)).to.deep.equal(['*', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test]*', types)).to.deep.equal(['test', '*']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.ARRAY_TOKEN, PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN]);\n\n expect(PathHelper.tokenizePathString('[test]*.test2', types)).to.deep.equal(['test', '*', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('[test]*[test2]', types)).to.deep.equal(['test', '*', 'test2']);\n expect(types).to.deep.equal([\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN,\n PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('[test]*test', types); }).to.throw();\n\n expect(function() { PathHelper.tokenizePathString('\"'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('test\"'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('\"tests'); }).to.throw();\n expect(function() { PathHelper.tokenizePathString('\"\\\\a\"'); }).to.throw();\n });\n\n it('should work for relative paths', function() {\n let types = [];\n expect(PathHelper.tokenizePathString('../test', types)).to.deep.equal(['../', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('../../../test', types)).to.deep.equal(['../', '../', '../', 'test']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN, PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN,\n PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN, PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN,\n ]);\n\n expect(PathHelper.tokenizePathString('../../test[0].test2[key]', types)).to.deep.equal(\n ['../', '../', 'test', '0', 'test2', 'key']);\n expect(types).to.deep.equal([PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN, PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN, PathHelper.TOKEN_TYPES.ARRAY_TOKEN,\n ]);\n\n expect(function() { PathHelper.tokenizePathString('/../test2'); }).to.throw();\n });\n });\n\n describe('quotePathSegment', function() {\n it('should quote simple strings', function() {\n expect(PathHelper.quotePathSegment('test')).to.equal('\"test\"');\n expect(JSON.parse(PathHelper.quotePathSegment('test'))).to.equal('test');\n });\n it('should correctly quote strings with a quotation mark', function() {\n expect(PathHelper.quotePathSegment('\"')).to.equal('\"\\\\\"\"');\n expect(JSON.parse(PathHelper.quotePathSegment('\"'))).to.equal('\"');\n });\n it('should correctly quote strings with a backslash', function() {\n expect(PathHelper.quotePathSegment('\\\\')).to.equal('\"\\\\\\\\\"');\n expect(JSON.parse(PathHelper.quotePathSegment('\\\\'))).to.equal('\\\\');\n });\n\n it('should work for paths with multiple occurrences of the test string', function() {\n expect(PathHelper.quotePathSegment('test\"property\"')).to.equal('\"test\\\\\"property\\\\\"\"');\n expect(PathHelper.quotePathSegment('test\\\\property\\\\')).to.equal('\"test\\\\\\\\property\\\\\\\\\"');\n expect(PathHelper.quotePathSegment('test\"\\\\property\\\\\"')).to.equal('\"test\\\\\"\\\\\\\\property\\\\\\\\\\\\\"\"');\n });\n });\n\n describe('quotePathSegmentIfNeeded', function() {\n it('should quote all required strings', function() {\n expect(PathHelper.quotePathSegmentIfNeeded('.')).to.equal('\".\"');\n expect(PathHelper.quotePathSegmentIfNeeded('\"')).to.equal('\"\\\\\"\"');\n expect(PathHelper.quotePathSegmentIfNeeded('\\\\')).to.equal('\"\\\\\\\\\"');\n expect(PathHelper.quotePathSegmentIfNeeded('[')).to.equal('\"[\"');\n expect(PathHelper.quotePathSegmentIfNeeded(']')).to.equal('\"]\"');\n expect(PathHelper.quotePathSegmentIfNeeded('')).to.equal('\"\"');\n expect(PathHelper.quotePathSegmentIfNeeded('/')).to.equal('\"/\"');\n expect(PathHelper.quotePathSegmentIfNeeded('*')).to.equal('\"*\"');\n });\n\n it('should not quote other strings', function() {\n expect(PathHelper.quotePathSegmentIfNeeded('abcd')).to.equal('abcd');\n expect(PathHelper.quotePathSegmentIfNeeded('test_string')).to.equal('test_string');\n });\n });\n\n describe('unquotePathSegment', function() {\n it('should unquote simple strings', function() {\n expect(PathHelper.unquotePathSegment('\"test\"')).to.equal('test');\n });\n\n it('should correctly unquote strings with a quotation mark', function() {\n expect(PathHelper.unquotePathSegment('\"\\\\\"\"')).to.equal('\"');\n });\n\n it('should correctly unquote strings with a backslash', function() {\n expect(PathHelper.unquotePathSegment('\"\\\\\\\\\"')).to.equal('\\\\');\n });\n\n it('should work with empty strings', function() {\n expect(PathHelper.unquotePathSegment('')).to.equal('');\n });\n\n it('should throw on non strings', function() {\n // @ts-ignore\n expect(() => PathHelper.unquotePathSegment(5)).to.throw();\n });\n\n it('should work for paths with multiple occurrences of the test string', function() {\n expect(PathHelper.unquotePathSegment('\"test\\\\\"property\\\\\"\"')).to.equal('test\"property\"');\n expect(PathHelper.unquotePathSegment('\"test\\\\\\\\property\\\\\\\\\"')).to.equal('test\\\\property\\\\');\n expect(PathHelper.unquotePathSegment('\"test\\\\\"\\\\\\\\property\\\\\\\\\\\\\"\"')).to.equal('test\"\\\\property\\\\\"');\n });\n });\n\n describe('convertAbsolutePathToCanonical', function() {\n it('should remove leading /', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('/a.b.c')).to.equal('a.b.c');\n });\n\n it('should throw on ../', function() {\n expect(() => PathHelper.convertAbsolutePathToCanonical('../a.b.c')).to.throw('../');\n });\n\n it('should throw on *', function() {\n expect(() => PathHelper.convertAbsolutePathToCanonical('/a.b.c*')).to.throw('*');\n });\n\n it('should replace square brackets by periods', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('/a.b[c]')).to.equal('a.b.c');\n expect(PathHelper.convertAbsolutePathToCanonical('/a[b].c')).to.equal('a.b.c');\n });\n\n it('should keep properly escaped property names', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('\".\"')).to.equal('\".\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"\\\\\"\"')).to.equal('\"\\\\\"\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"\\\\\\\\\"')).to.equal('\"\\\\\\\\\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"[\"')).to.equal('\"[\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"]\"')).to.equal('\"]\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"\"')).to.equal('\"\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"/\"')).to.equal('\"/\"');\n expect(PathHelper.convertAbsolutePathToCanonical('\"*\"')).to.equal('\"*\"');\n });\n\n it('should properly unescape unusually escaped property names', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('\"a\".\"b\"')).to.equal('a.b');\n expect(PathHelper.convertAbsolutePathToCanonical('\"a\"[b][\"c\"]')).to.equal('a.b.c');\n });\n\n it('should not modify simple paths', function() {\n expect(PathHelper.convertAbsolutePathToCanonical('a.b.c.d')).to.equal('a.b.c.d');\n expect(PathHelper.convertAbsolutePathToCanonical('test_string')).to.equal('test_string');\n });\n });\n\n describe('getPathCoverage', function() {\n this.timeout(500);\n let paths;\n\n it('should succeed if property is included in a path 1', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.FULLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b']);\n });\n\n it('should succeed if property is included in a path 2', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.b.c', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.FULLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b']);\n });\n\n it('should succeed if property is included in a path 3', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.b.c.d', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.FULLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b']);\n });\n\n it('should fail if property is not included in any path 1', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should fail if property is not included in any path 2', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('b.f.g', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should fail if property is not included in any path but have common root 1', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.h', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should fail if property is not included in any path but have common root 2', function() {\n paths = ['a.b'];\n const res = PathHelper.getPathCoverage('a.i.j', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.UNCOVERED);\n expect(res.pathList).to.deep.equal([]);\n });\n\n it('should succeed if path goes through the property 1', function() {\n paths = ['a.b.c', 'a.b.d', 'z'];\n const res = PathHelper.getPathCoverage('a.b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.PARTLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b.c', 'a.b.d']);\n });\n\n it('should succeed if path goes through the property 2', function() {\n paths = ['z', 'a.b.c', 'a.b.d'];\n const res = PathHelper.getPathCoverage('a.b', paths);\n expect(res.coverageExtent).to.equal(PathHelper.CoverageExtent.PARTLY_COVERED);\n expect(res.pathList).to.deep.equal(['a.b.c', 'a.b.d']);\n });\n });\n});\n"]}
|
|
@@ -22,7 +22,7 @@ describe("Reversible ChangeSets", function () {
|
|
|
22
22
|
},
|
|
23
23
|
},
|
|
24
24
|
};
|
|
25
|
-
const invertedCS = new changeset_1.ChangeSet(fastest_json_copy_1.copy(originalCS));
|
|
25
|
+
const invertedCS = new changeset_1.ChangeSet((0, fastest_json_copy_1.copy)(originalCS));
|
|
26
26
|
invertedCS.toInverseChangeSet();
|
|
27
27
|
const combined = new changeset_1.ChangeSet(originalCS);
|
|
28
28
|
combined.applyChangeSet(invertedCS);
|
|
@@ -37,7 +37,7 @@ describe("Reversible ChangeSets", function () {
|
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
39
|
};
|
|
40
|
-
const invertedCS = new changeset_1.ChangeSet(fastest_json_copy_1.copy(originalCS));
|
|
40
|
+
const invertedCS = new changeset_1.ChangeSet((0, fastest_json_copy_1.copy)(originalCS));
|
|
41
41
|
invertedCS.toInverseChangeSet();
|
|
42
42
|
const combined = new changeset_1.ChangeSet(originalCS);
|
|
43
43
|
combined.applyChangeSet(invertedCS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reversibleCs.spec.js","sourceRoot":"","sources":["../../src/test/reversibleCs.spec.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,0CAA0C;AAC1C;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"reversibleCs.spec.js","sourceRoot":"","sources":["../../src/test/reversibleCs.spec.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,0CAA0C;AAC1C;;;GAGG;AACH,yDAAsD;AAEtD,4CAAyC;AAEzC,QAAQ,CAAC,uBAAuB,EAAE;IAC9B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,UAAU,GAAG;YACf,aAAa,EAAE;gBACX,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,MAAM,EAAE,sCAAsC;qBACjD;iBACJ;aACJ;SACJ,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,qBAAS,CAAC,IAAA,wBAAS,EAAC,UAAU,CAAC,CAAC,CAAC;QACxD,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,UAAU,GAAG;YACf,aAAa,EAAE;gBACX,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,MAAM,EAAE,sCAAsC;qBACjD;iBACJ;aACJ;SACJ,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,qBAAS,CAAC,IAAA,wBAAS,EAAC,UAAU,CAAC,CAAC,CAAC;QACxD,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/* eslint-disable no-unused-expressions */\n/**\n * @fileoverview In this file, we will test the path helper\n * functions described in /src/properties/path_helper.js\n */\nimport { copy as cloneDeep } from \"fastest-json-copy\";\n\nimport { ChangeSet } from \"../changeset\";\n\ndescribe(\"Reversible ChangeSets\", function() {\n it(\"Inverting a string map insert\", () => {\n const originalCS = {\n \"map<String>\": {\n selections: {\n insert: {\n target: \"c6e96078-d1eb-8d41-219f-6f935794c453\",\n },\n },\n },\n };\n const invertedCS = new ChangeSet(cloneDeep(originalCS));\n invertedCS.toInverseChangeSet();\n\n const combined = new ChangeSet(originalCS);\n combined.applyChangeSet(invertedCS);\n });\n\n it(\"Inverting a string map remove\", () => {\n const originalCS = {\n \"map<String>\": {\n selections: {\n remove: {\n target: \"c6e96078-d1eb-8d41-219f-6f935794c453\",\n },\n },\n },\n };\n const invertedCS = new ChangeSet(cloneDeep(originalCS));\n invertedCS.toInverseChangeSet();\n\n const combined = new ChangeSet(originalCS);\n combined.applyChangeSet(invertedCS);\n });\n});\n"]}
|