UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

196 lines (188 loc) 16.8 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var stringHelpers = _interopRequireWildcard(require("../stringHelpers")); describe('stringHelpers.isDeepNestedChild', function () { it('Returns true with a nested array as argument', function () { expect(stringHelpers.isDeepNestedChild(deepNestedChild)).toBeTruthy(); }); it('Returns false without a nested array as argument', function () { expect(stringHelpers.isDeepNestedChild([])).toBeFalsy(); }); }); describe('stringHelpers.punctuationWordSpacing', function () { var tests = [{ test: '', expected: ' ' }, { test: ' .\'', expected: '' }, // last character APOSTROPHE - no space { test: ' ," ', expected: ' ' }, { test: ':” ', expected: ' ' }, // last character SPACE - should add space { test: ' ;"', expected: '' }, // last character QUOTATION MARK - no space { test: '" ; \'', expected: '' }, // last character APOSTROPHE - no space { test: ' “', expected: '' }, // last character LEFT DOUBLE QUOTATION MARK - no space { test: ' ”', expected: ' ' }, // last character RIGHT DOUBLE QUOTATION MARK - should add space { test: ' , ‘', expected: '' }, // last character LEFT SINGLE QUOTATION MARK - no space { test: ' ’', expected: ' ' } // last character RIGHT SINGLE QUOTATION MARK - should add space ]; var _loop = function _loop() { var test = _tests[_i]; it('test: "' + test.test + '"', function () { expect(stringHelpers.punctuationWordSpacing({ text: test.test })).toEqual(test.expected); }); }; for (var _i = 0, _tests = tests; _i < _tests.length; _i++) { _loop(); } }); describe('stringHelpers.isIsolatedLeftQuote', function () { var tests = [{ test: '', expected: false }, { test: ' .\'', expected: false }, { test: ' ," ', expected: false }, { test: ':” ', expected: false }, { test: ' ;"', expected: false }, // last character QUOTATION MARK - false { test: '"', expected: false }, // single QUOTATION MARK - false { test: '" ; \'', expected: false }, // last character APOSTROPHE - false { test: '\'', expected: false }, // single APOSTROPHE - false { test: ' “', expected: false }, // last character LEFT DOUBLE QUOTATION MARK - false { test: '“', expected: true }, // single LEFT DOUBLE QUOTATION MARK - true { test: ' ”', expected: false }, // last character RIGHT DOUBLE QUOTATION MARK - false { test: '”', expected: false }, // single RIGHT DOUBLE QUOTATION MARK - false { test: ' , ‘', expected: false }, // last character LEFT SINGLE QUOTATION MARK - false { test: '‘', expected: true }, // single LEFT SINGLE QUOTATION MARK - true { test: ' ’', expected: false }, // last character RIGHT SINGLE QUOTATION MARK - false { test: '’', expected: false } // single RIGHT SINGLE QUOTATION MARK - false ]; var _loop2 = function _loop2() { var test = _tests2[_i2]; it('test: "' + test.test + '"', function () { expect(stringHelpers.isIsolatedLeftQuote(test.test)).toEqual(test.expected); }); }; for (var _i2 = 0, _tests2 = tests; _i2 < _tests2.length; _i2++) { _loop2(); } }); // test data var deepNestedChild = [[{ content: [{ children: [{ content: [{}], occurrence: 1, occurrences: 2, tag: 'w', text: 'this', type: 'word' }, { content: [{}], occurrence: 1, occurrences: 1, tag: 'w', text: 'message', type: 'word' }], content: 'αὐτοῦ', lemma: 'αὐτός', morph: 'Gr,RP,,,3GMS,', occurrence: 1, occurrences: 1, strong: 'G08460', tag: 'zaln', type: 'milestone' }, { children: [{ children: [{}], content: 'αὐτοῦ', lemma: 'αὐτός', morph: 'Gr,RP,,,3GMS,', occurrence: 1, occurrences: 1, strong: 'G08460', tag: 'zaln', type: 'milestone' }], content: 'λόγον', lemma: 'λόγος', morph: 'Gr,N,,,,,AMS,', occurrence: 1, occurrences: 1, strong: 'G30560', tag: 'zaln', type: 'milestone' }], occurrence: 1, occurrences: 2, tag: 'w', text: 'this', type: 'word' }]]; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9TY3JpcHR1cmVQYW5lL2hlbHBlcnMvX190ZXN0X18vc3RyaW5nSGVscGVycy50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJzdHJpbmdIZWxwZXJzIiwiaXNEZWVwTmVzdGVkQ2hpbGQiLCJkZWVwTmVzdGVkQ2hpbGQiLCJ0b0JlVHJ1dGh5IiwidG9CZUZhbHN5IiwidGVzdHMiLCJ0ZXN0IiwiZXhwZWN0ZWQiLCJwdW5jdHVhdGlvbldvcmRTcGFjaW5nIiwidGV4dCIsInRvRXF1YWwiLCJpc0lzb2xhdGVkTGVmdFF1b3RlIiwiY29udGVudCIsImNoaWxkcmVuIiwib2NjdXJyZW5jZSIsIm9jY3VycmVuY2VzIiwidGFnIiwidHlwZSIsImxlbW1hIiwibW9ycGgiLCJzdHJvbmciXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFFQUEsUUFBUSxDQUFDLGlDQUFELEVBQW9DLFlBQU07QUFDaERDLEVBQUFBLEVBQUUsQ0FBQyw4Q0FBRCxFQUFpRCxZQUFNO0FBQ3ZEQyxJQUFBQSxNQUFNLENBQUNDLGFBQWEsQ0FBQ0MsaUJBQWQsQ0FBZ0NDLGVBQWhDLENBQUQsQ0FBTixDQUF5REMsVUFBekQ7QUFDRCxHQUZDLENBQUY7QUFJQUwsRUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELFlBQU07QUFDM0RDLElBQUFBLE1BQU0sQ0FBQ0MsYUFBYSxDQUFDQyxpQkFBZCxDQUFnQyxFQUFoQyxDQUFELENBQU4sQ0FBNENHLFNBQTVDO0FBQ0QsR0FGQyxDQUFGO0FBR0QsQ0FSTyxDQUFSO0FBVUFQLFFBQVEsQ0FBQyxzQ0FBRCxFQUF5QyxZQUFNO0FBQ3JELE1BQU1RLEtBQUssR0FBRyxDQUNaO0FBQUVDLElBQUFBLElBQUksRUFBRSxFQUFSO0FBQVlDLElBQUFBLFFBQVEsRUFBRTtBQUF0QixHQURZLEVBRVo7QUFBRUQsSUFBQUEsSUFBSSxFQUFFLE1BQVI7QUFBZ0JDLElBQUFBLFFBQVEsRUFBRTtBQUExQixH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QUFBLElBQUksRUFBRTtBQXJCUixHQTdCTyxDQURYO0FBc0RFSCxFQUFBQSxVQUFVLEVBQUUsQ0F0RGQ7QUF1REVDLEVBQUFBLFdBQVcsRUFBRSxDQXZEZjtBQXdERUMsRUFBQUEsR0FBRyxFQUFFLEdBeERQO0FBeURFUCxFQUFBQSxJQUFJLEVBQUUsTUF6RFI7QUEwREVRLEVBQUFBLElBQUksRUFBRTtBQTFEUixDQURGLENBRHNCLENBQXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc3RyaW5nSGVscGVycyBmcm9tICcuLi9zdHJpbmdIZWxwZXJzJztcblxuZGVzY3JpYmUoJ3N0cmluZ0hlbHBlcnMuaXNEZWVwTmVzdGVkQ2hpbGQnLCAoKSA9PiB7XG4gIGl0KCdSZXR1cm5zIHRydWUgd2l0aCBhIG5lc3RlZCBhcnJheSBhcyBhcmd1bWVudCcsICgpID0+IHtcbiAgICBleHBlY3Qoc3RyaW5nSGVscGVycy5pc0RlZXBOZXN0ZWRDaGlsZChkZWVwTmVzdGVkQ2hpbGQpKS50b0JlVHJ1dGh5KCk7XG4gIH0pO1xuXG4gIGl0KCdSZXR1cm5zIGZhbHNlIHdpdGhvdXQgYSBuZXN0ZWQgYXJyYXkgYXMgYXJndW1lbnQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHN0cmluZ0hlbHBlcnMuaXNEZWVwTmVzdGVkQ2hpbGQoW10pKS50b0JlRmFsc3koKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ3N0cmluZ0hlbHBlcnMucHVuY3R1YXRpb25Xb3JkU3BhY2luZycsICgpID0+IHtcbiAgY29uc3QgdGVzdHMgPSBbXG4gICAgeyB0ZXN0OiAnJywgZXhwZWN0ZWQ6ICcgJyB9LFxuICAgIHsgdGVzdDogJyAuXFwnJywgZXhwZWN0ZWQ6ICcnIH0sIC8vIGxhc3QgY2hhcmFjdGVyIEFQT1NUUk9QSEUgLSBubyBzcGFjZVxuICAgIHsgdGVzdDogJyAsXCIgICcsIGV4cGVjdGVkOiAnICcgfSxcbiAgICB7IHRlc3Q6ICc64oCdICAnLCBleHBlY3RlZDogJyAnIH0sIC8vIGxhc3QgY2hhcmFjdGVyIFNQQUNFIC0gc2hvdWxkIGFkZCBzcGFjZVxuICAgIHsgdGVzdDogJyAgO1wiJywgZXhwZWN0ZWQ6ICcnIH0sIC8vIGxhc3QgY2hhcmFjdGVyIFFVT1RBVElPTiBNQVJLIC0gbm8gc3BhY2VcbiAgICB7IHRlc3Q6ICdcIiA7IFxcJycsIGV4cGVjdGVkOiAnJyB9LCAvLyBsYXN0IGNoYXJhY3RlciBBUE9TVFJPUEhFIC0gbm8gc3BhY2VcbiAgICB7IHRlc3Q6ICcgICDigJwnLCBleHBlY3RlZDogJycgfSwgLy8gbGFzdCBjaGFyYWN0ZXIgTEVGVCBET1VCTEUgUVVPVEFUSU9OIE1BUksgLSBubyBzcGFjZVxuICAgIHsgdGVzdDogJyAgIOKAnScsIGV4cGVjdGVkOiAnICcgfSwgLy8gbGFzdCBjaGFyYWN0ZXIgUklHSFQgRE9VQkxFIFFVT1RBVElPTiBNQVJLIC0gc2hvdWxkIGFkZCBzcGFjZVxuICAgIHsgdGVzdDogJyAgICAsIOKAmCcsIGV4cGVjdGVkOiAnJyB9LCAvLyBsYXN0IGNoYXJhY3RlciBMRUZUIFNJTkdMRSBRVU9UQVRJT04gTUFSSyAtIG5vIHNwYWNlXG4gICAgeyB0ZXN0OiAnICAg4oCZJywgZXhwZWN0ZWQ6ICcgJyB9LCAvLyBsYXN0IGNoYXJhY3RlciBSSUdIVCBTSU5HTEUgUVVPVEFUSU9OIE1BUksgLSBzaG91bGQgYWRkIHNwYWNlXG4gIF07XG5cbiAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0cykge1xuICAgIGl0KCd0ZXN0OiBcIicgKyB0ZXN0LnRlc3QgKyAnXCInLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc3RyaW5nSGVscGVycy5wdW5jdHVhdGlvbldvcmRTcGFjaW5nKHsgdGV4dDogdGVzdC50ZXN0IH0pKS50b0VxdWFsKHRlc3QuZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9XG59KTtcblxuZGVzY3JpYmUoJ3N0cmluZ0hlbHBlcnMuaXNJc29sYXRlZExlZnRRdW90ZScsICgpID0+IHtcbiAgY29uc3QgdGVzdHMgPSBbXG4gICAgeyB0ZXN0OiAnJywgZXhwZWN0ZWQ6IGZhbHNlIH0sXG4gICAgeyB0ZXN0OiAnIC5cXCcnLCBleHBlY3RlZDogZmFsc2UgfSxcbiAgICB7IHRlc3Q6ICcgLFwiICAnLCBleHBlY3RlZDogZmFsc2UgfSxcbiAgICB7IHRlc3Q6ICc64oCdICAnLCBleHBlY3RlZDogZmFsc2UgfSxcbiAgICB7IHRlc3Q6ICcgIDtcIicsIGV4cGVjdGVkOiBmYWxzZSB9LCAvLyBsYXN0IGNoYXJhY3RlciBRVU9UQVRJT04gTUFSSyAtIGZhbHNlXG4gICAgeyB0ZXN0OiAnXCInLCBleHBlY3RlZDogZmFsc2UgfSwgLy8gc2luZ2xlIFFVT1RBVElPTiBNQVJLIC0gZmFsc2VcbiAgICB7IHRlc3Q6ICdcIiA7IFxcJycsIGV4cGVjdGVkOiBmYWxzZSB9LCAvLyBsYXN0IGNoYXJhY3RlciBBUE9TVFJPUEhFIC0gZmFsc2VcbiAgICB7IHRlc3Q6ICdcXCcnLCBleHBlY3RlZDogZmFsc2UgfSwgLy8gc2luZ2xlIEFQT1NUUk9QSEUgLSBmYWxzZVxuICAgIHsgdGVzdDogJyAgIOKAnCcsIGV4cGVjdGVkOiBmYWxzZSB9LCAvLyBsYXN0IGNoYXJhY3RlciBMRUZUIERPVUJMRSBRVU9UQVRJT04gTUFSSyAtIGZhbHNlXG4gICAgeyB0ZXN0OiAn4oCcJywgZXhwZWN0ZWQ6IHRydWUgfSwgLy8gc2luZ2xlIExFRlQgRE9VQkxFIFFVT1RBVElPTiBNQVJLIC0gdHJ1ZVxuICAgIHsgdGVzdDogJyAgIOKAnScsIGV4cGVjdGVkOiBmYWxzZSB9LCAvLyBsYXN0IGNoYXJhY3RlciBSSUdIVCBET1VCTEUgUVVPVEFUSU9OIE1BUksgLSBmYWxzZVxuICAgIHsgdGVzdDogJ+KAnScsIGV4cGVjdGVkOiBmYWxzZSB9LCAvLyBzaW5nbGUgUklHSFQgRE9VQkxFIFFVT1RBVElPTiBNQVJLIC0gZmFsc2VcbiAgICB7IHRlc3Q6ICcgICAgLCDigJgnLCBleHBlY3RlZDogZmFsc2UgfSwgLy8gbGFzdCBjaGFyYWN0ZXIgTEVGVCBTSU5HTEUgUVVPVEFUSU9OIE1BUksgLSBmYWxzZVxuICAgIHsgdGVzdDogJ+KAmCcsIGV4cGVjdGVkOiB0cnVlIH0sIC8vIHNpbmdsZSBMRUZUIFNJTkdMRSBRVU9UQVRJT04gTUFSSyAtIHRydWVcbiAgICB7IHRlc3Q6ICcgICDigJknLCBleHBlY3RlZDogZmFsc2UgfSwgLy8gbGFzdCBjaGFyYWN0ZXIgUklHSFQgU0lOR0xFIFFVT1RBVElPTiBNQVJLIC0gZmFsc2VcbiAgICB7IHRlc3Q6ICfigJknLCBleHBlY3RlZDogZmFsc2UgfSwgLy8gc2luZ2xlIFJJR0hUIFNJTkdMRSBRVU9UQVRJT04gTUFSSyAtIGZhbHNlXG4gIF07XG5cbiAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0cykge1xuICAgIGl0KCd0ZXN0OiBcIicgKyB0ZXN0LnRlc3QgKyAnXCInLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc3RyaW5nSGVscGVycy5pc0lzb2xhdGVkTGVmdFF1b3RlKHRlc3QudGVzdCkpLnRvRXF1YWwodGVzdC5leHBlY3RlZCk7XG4gICAgfSk7XG4gIH1cbn0pO1xuXG4vLyB0ZXN0IGRhdGFcbmNvbnN0IGRlZXBOZXN0ZWRDaGlsZCA9IFtcbiAgW1xuICAgIHtcbiAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFt7fV0sXG4gICAgICAgICAgICAgIG9jY3VycmVuY2U6IDEsXG4gICAgICAgICAgICAgIG9jY3VycmVuY2VzOiAyLFxuICAgICAgICAgICAgICB0YWc6ICd3JyxcbiAgICAgICAgICAgICAgdGV4dDogJ3RoaXMnLFxuICAgICAgICAgICAgICB0eXBlOiAnd29yZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjb250ZW50OiBbe31dLFxuICAgICAgICAgICAgICBvY2N1cnJlbmNlOiAxLFxuICAgICAgICAgICAgICBvY2N1cnJlbmNlczogMSxcbiAgICAgICAgICAgICAgdGFnOiAndycsXG4gICAgICAgICAgICAgIHRleHQ6ICdtZXNzYWdlJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3dvcmQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGNvbnRlbnQ6ICfOseG9kM+Ezr/hv6YnLFxuICAgICAgICAgIGxlbW1hOiAnzrHhvZDPhM+Mz4InLFxuICAgICAgICAgIG1vcnBoOiAnR3IsUlAsLCwzR01TLCcsXG4gICAgICAgICAgb2NjdXJyZW5jZTogMSxcbiAgICAgICAgICBvY2N1cnJlbmNlczogMSxcbiAgICAgICAgICBzdHJvbmc6ICdHMDg0NjAnLFxuICAgICAgICAgIHRhZzogJ3phbG4nLFxuICAgICAgICAgIHR5cGU6ICdtaWxlc3RvbmUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hpbGRyZW46IFt7fV0sXG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICfOseG9kM+Ezr/hv6YnLFxuICAgICAgICAgICAgICBsZW1tYTogJ86x4b2Qz4TPjM+CJyxcbiAgICAgICAgICAgICAgbW9ycGg6ICdHcixSUCwsLDNHTVMsJyxcbiAgICAgICAgICAgICAgb2NjdXJyZW5jZTogMSxcbiAgICAgICAgICAgICAgb2NjdXJyZW5jZXM6IDEsXG4gICAgICAgICAgICAgIHN0cm9uZzogJ0cwODQ2MCcsXG4gICAgICAgICAgICAgIHRhZzogJ3phbG4nLFxuICAgICAgICAgICAgICB0eXBlOiAnbWlsZXN0b25lJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBjb250ZW50OiAnzrvPjM6zzr/OvScsXG4gICAgICAgICAgbGVtbWE6ICfOu8+MzrPOv8+CJyxcbiAgICAgICAgICBtb3JwaDogJ0dyLE4sLCwsLEFNUywnLFxuICAgICAgICAgIG9jY3VycmVuY2U6IDEsXG4gICAgICAgICAgb2NjdXJyZW5jZXM6IDEsXG4gICAgICAgICAgc3Ryb25nOiAnRzMwNTYwJyxcbiAgICAgICAgICB0YWc6ICd6YWxuJyxcbiAgICAgICAgICB0eXBlOiAnbWlsZXN0b25lJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBvY2N1cnJlbmNlOiAxLFxuICAgICAgb2NjdXJyZW5jZXM6IDIsXG4gICAgICB0YWc6ICd3JyxcbiAgICAgIHRleHQ6ICd0aGlzJyxcbiAgICAgIHR5cGU6ICd3b3JkJyxcbiAgICB9LFxuICBdLFxuXTtcbiJdfQ==