@tolgee/core 2.1.1 → 2.7.0

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.
Files changed (87) hide show
  1. package/README.md +2 -1
  2. package/dist/tolgee.cjs.js +86 -32
  3. package/dist/tolgee.cjs.js.map +1 -1
  4. package/dist/tolgee.cjs.min.js +1 -1
  5. package/dist/tolgee.cjs.min.js.map +1 -1
  6. package/dist/tolgee.esm.js +16 -0
  7. package/dist/tolgee.esm.js.map +1 -0
  8. package/dist/tolgee.umd.js +86 -32
  9. package/dist/tolgee.umd.js.map +1 -1
  10. package/dist/tolgee.umd.min.js +1 -1
  11. package/dist/tolgee.umd.min.js.map +1 -1
  12. package/lib/Tolgee.js +4 -2
  13. package/lib/Tolgee.js.map +1 -1
  14. package/lib/TolgeeConfig.d.ts +1 -1
  15. package/lib/handlers/CoreHandler.js +4 -2
  16. package/lib/handlers/CoreHandler.js.map +1 -1
  17. package/lib/highlighter/TranslationHighlighter.d.ts +2 -2
  18. package/lib/highlighter/TranslationHighlighter.js +89 -28
  19. package/lib/highlighter/TranslationHighlighter.js.map +1 -1
  20. package/lib/types.d.ts +1 -0
  21. package/package.json +5 -5
  22. package/lib/Observer.test.d.ts +0 -2
  23. package/lib/Observer.test.js +0 -190
  24. package/lib/Observer.test.js.map +0 -1
  25. package/lib/Properties.test.d.ts +0 -1
  26. package/lib/Properties.test.js +0 -77
  27. package/lib/Properties.test.js.map +0 -1
  28. package/lib/Tolgee.test.d.ts +0 -1
  29. package/lib/Tolgee.test.js +0 -451
  30. package/lib/Tolgee.test.js.map +0 -1
  31. package/lib/TolgeeConfig.test.d.ts +0 -1
  32. package/lib/TolgeeConfig.test.js +0 -18
  33. package/lib/TolgeeConfig.test.js.map +0 -1
  34. package/lib/__testFixtures/classMock.d.ts +0 -3
  35. package/lib/__testFixtures/classMock.js +0 -8
  36. package/lib/__testFixtures/classMock.js.map +0 -1
  37. package/lib/__testFixtures/createElement.d.ts +0 -2
  38. package/lib/__testFixtures/createElement.js +0 -58
  39. package/lib/__testFixtures/createElement.js.map +0 -1
  40. package/lib/__testFixtures/createTestDom.d.ts +0 -9
  41. package/lib/__testFixtures/createTestDom.js +0 -18
  42. package/lib/__testFixtures/createTestDom.js.map +0 -1
  43. package/lib/__testFixtures/mocked.d.ts +0 -20
  44. package/lib/__testFixtures/mocked.js +0 -24
  45. package/lib/__testFixtures/mocked.js.map +0 -1
  46. package/lib/handlers/AttributeHandler.test.d.ts +0 -1
  47. package/lib/handlers/AttributeHandler.test.js +0 -177
  48. package/lib/handlers/AttributeHandler.test.js.map +0 -1
  49. package/lib/handlers/CoreHandler.test.d.ts +0 -1
  50. package/lib/handlers/CoreHandler.test.js +0 -148
  51. package/lib/handlers/CoreHandler.test.js.map +0 -1
  52. package/lib/handlers/TextHandler.test.d.ts +0 -1
  53. package/lib/handlers/TextHandler.test.js +0 -270
  54. package/lib/handlers/TextHandler.test.js.map +0 -1
  55. package/lib/helpers/TextHelper.test.d.ts +0 -1
  56. package/lib/helpers/TextHelper.test.js +0 -107
  57. package/lib/helpers/TextHelper.test.js.map +0 -1
  58. package/lib/highlighter/HighlightFunctionsInitializer.test.d.ts +0 -1
  59. package/lib/highlighter/HighlightFunctionsInitializer.test.js +0 -81
  60. package/lib/highlighter/HighlightFunctionsInitializer.test.js.map +0 -1
  61. package/lib/highlighter/MouseEventHandler.test.d.ts +0 -1
  62. package/lib/highlighter/MouseEventHandler.test.js +0 -195
  63. package/lib/highlighter/MouseEventHandler.test.js.map +0 -1
  64. package/lib/highlighter/TranslationHighlighter.test.d.ts +0 -1
  65. package/lib/highlighter/TranslationHighlighter.test.js +0 -207
  66. package/lib/highlighter/TranslationHighlighter.test.js.map +0 -1
  67. package/lib/services/CoreService.test.d.ts +0 -1
  68. package/lib/services/CoreService.test.js +0 -179
  69. package/lib/services/CoreService.test.js.map +0 -1
  70. package/lib/services/DependencyStore.test.d.ts +0 -1
  71. package/lib/services/DependencyStore.test.js +0 -67
  72. package/lib/services/DependencyStore.test.js.map +0 -1
  73. package/lib/services/ElementRegistrar.test.d.ts +0 -1
  74. package/lib/services/ElementRegistrar.test.js +0 -200
  75. package/lib/services/ElementRegistrar.test.js.map +0 -1
  76. package/lib/services/TextService.test.d.ts +0 -1
  77. package/lib/services/TextService.test.js +0 -430
  78. package/lib/services/TextService.test.js.map +0 -1
  79. package/lib/services/TranslationService.test.d.ts +0 -1
  80. package/lib/services/TranslationService.test.js +0 -649
  81. package/lib/services/TranslationService.test.js.map +0 -1
  82. package/lib/toolsManager/Messages.test.d.ts +0 -1
  83. package/lib/toolsManager/Messages.test.js +0 -114
  84. package/lib/toolsManager/Messages.test.js.map +0 -1
  85. package/lib/toolsManager/PluginManager.test.d.ts +0 -1
  86. package/lib/toolsManager/PluginManager.test.js +0 -120
  87. package/lib/toolsManager/PluginManager.test.js.map +0 -1
@@ -1,24 +0,0 @@
1
- import { TolgeeConfig } from '../TolgeeConfig';
2
- import { Properties } from '../Properties';
3
- import { CoreService } from '../services/CoreService';
4
- import { Observer } from '../Observer';
5
- import { mocked } from 'ts-jest/utils';
6
- import { TranslationService } from '../services/TranslationService';
7
- import { TextService } from '../services/TextService';
8
- import { EventService } from '../services/EventService';
9
- import { EventEmitterImpl } from '../services/EventEmitter';
10
- import { TextHandler } from '../handlers/TextHandler';
11
- export var configMock = mocked(TolgeeConfig);
12
- export var propertiesMock = mocked(Properties);
13
- export var coreServiceMock = mocked(CoreService);
14
- export var observerMock = mocked(Observer);
15
- export var translationServiceMock = mocked(TranslationService);
16
- export var textServiceMock = mocked(TextService);
17
- export var eventServiceMock = mocked(EventService);
18
- export var eventEmitterMock = mocked(EventEmitterImpl);
19
- export var tolgeeConfigMock = mocked(TolgeeConfig);
20
- export var textHandlerMock = mocked(TextHandler);
21
- export var getMockedInstance = function (constructor) {
22
- return mocked(constructor).mock.instances[0];
23
- };
24
- //# sourceMappingURL=mocked.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mocked.js","sourceRoot":"","sources":["../../src/__testFixtures/mocked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC/C,MAAM,CAAC,IAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,CAAC,IAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,CAAC,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,CAAC,IAAM,sBAAsB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACjE,MAAM,CAAC,IAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,CAAC,IAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,IAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACzD,MAAM,CAAC,IAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,IAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAI,WAA+B;IAClE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,177 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- var __read = (this && this.__read) || function (o, n) {
38
- var m = typeof Symbol === "function" && o[Symbol.iterator];
39
- if (!m) return o;
40
- var i = m.call(o), r, ar = [], e;
41
- try {
42
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
43
- }
44
- catch (error) { e = { error: error }; }
45
- finally {
46
- try {
47
- if (r && !r.done && (m = i["return"])) m.call(i);
48
- }
49
- finally { if (e) throw e.error; }
50
- }
51
- return ar;
52
- };
53
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
- if (ar || !(i in from)) {
56
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
- ar[i] = from[i];
58
- }
59
- }
60
- return to.concat(ar || Array.prototype.slice.call(from));
61
- };
62
- jest.dontMock('./AttributeHandler');
63
- jest.dontMock('./AbstractHandler');
64
- jest.dontMock('../services/EventService');
65
- jest.dontMock('../helpers/NodeHelper.ts');
66
- jest.dontMock('../services/DependencyStore');
67
- import { Properties } from '../Properties';
68
- import { NodeHelper } from '../helpers/NodeHelper';
69
- import { createTestDom } from '@testFixtures/createTestDom';
70
- import { TextService } from '../services/TextService';
71
- import { getMockedInstance } from '@testFixtures/mocked';
72
- import { ElementRegistrar } from '../services/ElementRegistrar';
73
- import { DependencyStore } from '../services/DependencyStore';
74
- describe('AttributeHandler', function () {
75
- var attributeHandler;
76
- var mockedKeys = [
77
- {
78
- key: 'dummyKey',
79
- params: { dummyParam: 'dummyValue' },
80
- },
81
- ];
82
- var mockedTranslateInner = function (text) {
83
- return {
84
- text: text.replace(/{{(.*?)}}/gs, '$1'),
85
- keys: mockedKeys,
86
- };
87
- };
88
- var gv = function (key) { return mockedTranslateInner(key).text; };
89
- var mockedTranslate = jest.fn(mockedTranslateInner);
90
- var c;
91
- beforeEach(function () {
92
- c = createTestDom(document);
93
- attributeHandler = new DependencyStore().attributeHandler;
94
- getMockedInstance(Properties).config = {
95
- inputPrefix: '{{',
96
- inputSuffix: '}}',
97
- restrictedElements: [],
98
- tagAttributes: {
99
- '*': ['aria-label'],
100
- },
101
- passToParent: ['option'],
102
- };
103
- getMockedInstance(TextService).replace = function () {
104
- var args = [];
105
- for (var _i = 0; _i < arguments.length; _i++) {
106
- args[_i] = arguments[_i];
107
- }
108
- return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
109
- return [2 /*return*/, mockedTranslate.apply(void 0, __spreadArray([], __read(args), false))];
110
- }); });
111
- };
112
- });
113
- afterEach(function () { return __awaiter(void 0, void 0, void 0, function () {
114
- return __generator(this, function (_a) {
115
- jest.clearAllMocks();
116
- return [2 /*return*/];
117
- });
118
- }); });
119
- describe('in production mode', function () {
120
- var xPath;
121
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
122
- return __generator(this, function (_a) {
123
- switch (_a.label) {
124
- case 0: return [4 /*yield*/, attributeHandler.handle(document.body)];
125
- case 1:
126
- _a.sent();
127
- xPath = "./div/div/@aria-label[contains(., '" + gv(c.ariaLabelKey) + "')]";
128
- return [2 /*return*/];
129
- }
130
- });
131
- }); });
132
- test('Can be created', function () {
133
- expect(attributeHandler).not.toBeUndefined();
134
- });
135
- test('will handle text in aria-label attribute of div', function () { return __awaiter(void 0, void 0, void 0, function () {
136
- return __generator(this, function (_a) {
137
- expect(xPath).toBeFoundIn(document.body);
138
- return [2 /*return*/];
139
- });
140
- }); });
141
- describe("Node's _tolgee property", function () {
142
- var node;
143
- beforeEach(function () {
144
- node = NodeHelper.evaluateToSingle(xPath, document.body);
145
- });
146
- test('will be defined', function () {
147
- expect(node._tolgee).toBeDefined();
148
- });
149
- });
150
- describe("Parent element's _tolgee property", function () {
151
- var element;
152
- var node;
153
- beforeEach(function () {
154
- node = NodeHelper.evaluateToSingle(xPath, document.body);
155
- element = node.ownerElement;
156
- });
157
- test('will be defined', function () {
158
- expect(element._tolgee).toBeDefined();
159
- });
160
- });
161
- });
162
- test('will register the node', function () { return __awaiter(void 0, void 0, void 0, function () {
163
- var xPath, node;
164
- return __generator(this, function (_a) {
165
- switch (_a.label) {
166
- case 0: return [4 /*yield*/, attributeHandler.handle(document.body)];
167
- case 1:
168
- _a.sent();
169
- xPath = "./div/div/@aria-label[contains(., '" + gv(c.ariaLabelKey) + "')]";
170
- node = NodeHelper.evaluateToSingle(xPath, document.body);
171
- expect(getMockedInstance(ElementRegistrar).register).toBeCalledWith(node.ownerElement);
172
- return [2 /*return*/];
173
- }
174
- });
175
- }); });
176
- });
177
- //# sourceMappingURL=AttributeHandler.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AttributeHandler.test.js","sourceRoot":"","sources":["../../src/handlers/AttributeHandler.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,148 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- jest.dontMock('./CoreHandler');
38
- jest.dontMock('../helpers/NodeHelper');
39
- jest.dontMock('../services/EventEmitter');
40
- jest.dontMock('../services/DependencyStore');
41
- import { getMockedInstance } from '@testFixtures/mocked';
42
- import { TextHandler } from './TextHandler';
43
- import { AttributeHandler } from './AttributeHandler';
44
- import { EventService } from '../services/EventService';
45
- import { EventEmitterImpl } from '../services/EventEmitter';
46
- import { mocked } from 'ts-jest/utils';
47
- import { Properties } from '../Properties';
48
- import { TextService } from '../services/TextService';
49
- import { DependencyStore } from '../services/DependencyStore';
50
- describe('CoreHandler', function () {
51
- var mockedTranslationChanged = new EventEmitterImpl();
52
- var mockedLanguageChanged = new EventEmitterImpl();
53
- var mockedReplaceReturn = {
54
- keys: [{}],
55
- text: 'This is refreshed',
56
- };
57
- mocked(EventService).mockImplementation(function () {
58
- return {
59
- TRANSLATION_CHANGED: mockedTranslationChanged,
60
- LANGUAGE_CHANGED: mockedLanguageChanged,
61
- LANGUAGE_LOADED: null,
62
- ELEMENT_REGISTERED: null,
63
- };
64
- });
65
- mocked(TextService).mockImplementation(function () {
66
- return {
67
- replace: jest.fn(function () { return mockedReplaceReturn; }),
68
- };
69
- });
70
- var coreHandler;
71
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
72
- return __generator(this, function (_a) {
73
- coreHandler = new DependencyStore().coreHandler;
74
- getMockedInstance(Properties).config.targetElement = document.body;
75
- return [2 /*return*/];
76
- });
77
- }); });
78
- afterEach(function () { return __awaiter(void 0, void 0, void 0, function () {
79
- return __generator(this, function (_a) {
80
- jest.clearAllMocks();
81
- return [2 /*return*/];
82
- });
83
- }); });
84
- test('Can be created', function () {
85
- expect(coreHandler).not.toBeUndefined();
86
- });
87
- describe('handleSubtree function', function () {
88
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
89
- return __generator(this, function (_a) {
90
- switch (_a.label) {
91
- case 0: return [4 /*yield*/, coreHandler.handleSubtree(document.body)];
92
- case 1:
93
- _a.sent();
94
- return [2 /*return*/];
95
- }
96
- });
97
- }); });
98
- test('will call basic text handler', function () { return __awaiter(void 0, void 0, void 0, function () {
99
- return __generator(this, function (_a) {
100
- expect(getMockedInstance(TextHandler).handle).toBeCalledWith(document.body);
101
- expect(getMockedInstance(TextHandler).handle).toBeCalledTimes(1);
102
- return [2 /*return*/];
103
- });
104
- }); });
105
- test('will call attribute handler', function () { return __awaiter(void 0, void 0, void 0, function () {
106
- return __generator(this, function (_a) {
107
- expect(getMockedInstance(AttributeHandler).handle).toBeCalledWith(document.body);
108
- expect(getMockedInstance(AttributeHandler).handle).toBeCalledTimes(1);
109
- return [2 /*return*/];
110
- });
111
- }); });
112
- });
113
- describe('refresh', function () {
114
- var pgDiv = document.createElement('div');
115
- pgDiv.setAttribute('_tolgee', '');
116
- var textNode = document.createTextNode('Translated text');
117
- textNode['_tolgee'] = {
118
- oldTextContent: 'some_translation_key',
119
- };
120
- pgDiv['_tolgee'] = {
121
- nodes: new Set([textNode]),
122
- };
123
- pgDiv.append(textNode);
124
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
125
- return __generator(this, function (_a) {
126
- switch (_a.label) {
127
- case 0:
128
- document.body = document.createElement('body');
129
- document.body.append(pgDiv);
130
- return [4 /*yield*/, mockedLanguageChanged.emit('aaa')];
131
- case 1:
132
- _a.sent();
133
- return [4 /*yield*/, mockedTranslationChanged.emit(null)];
134
- case 2:
135
- _a.sent();
136
- return [2 /*return*/];
137
- }
138
- });
139
- }); });
140
- test('will refresh the text', function () { return __awaiter(void 0, void 0, void 0, function () {
141
- return __generator(this, function (_a) {
142
- expect(textNode.textContent).toEqual(mockedReplaceReturn.text);
143
- return [2 /*return*/];
144
- });
145
- }); });
146
- });
147
- });
148
- //# sourceMappingURL=CoreHandler.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreHandler.test.js","sourceRoot":"","sources":["../../src/handlers/CoreHandler.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom/extend-expect';
@@ -1,270 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- var __read = (this && this.__read) || function (o, n) {
38
- var m = typeof Symbol === "function" && o[Symbol.iterator];
39
- if (!m) return o;
40
- var i = m.call(o), r, ar = [], e;
41
- try {
42
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
43
- }
44
- catch (error) { e = { error: error }; }
45
- finally {
46
- try {
47
- if (r && !r.done && (m = i["return"])) m.call(i);
48
- }
49
- finally { if (e) throw e.error; }
50
- }
51
- return ar;
52
- };
53
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
- if (ar || !(i in from)) {
56
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
- ar[i] = from[i];
58
- }
59
- }
60
- return to.concat(ar || Array.prototype.slice.call(from));
61
- };
62
- jest.dontMock('./TextHandler');
63
- jest.dontMock('./AbstractHandler');
64
- jest.dontMock('../services/EventService');
65
- jest.dontMock('../helpers/NodeHelper.ts');
66
- jest.dontMock('../services/DependencyStore');
67
- import '@testing-library/jest-dom/extend-expect';
68
- import { NodeHelper } from '../helpers/NodeHelper';
69
- import { createTestDom } from '@testFixtures/createTestDom';
70
- import { TextService } from '../services/TextService';
71
- import { getMockedInstance } from '@testFixtures/mocked';
72
- import { ElementRegistrar } from '../services/ElementRegistrar';
73
- import { Properties } from '../Properties';
74
- import { DependencyStore } from '../services/DependencyStore';
75
- describe('TextHandler', function () {
76
- var textHandler;
77
- var mockedKeys = [
78
- {
79
- key: 'dummyKey',
80
- params: { dummyParam: 'dummyValue' },
81
- },
82
- ];
83
- var mockedTranslateInner = function (text) {
84
- return {
85
- text: text.replace(/{{(.*?)}}/gs, 'translated $1'),
86
- keys: mockedKeys,
87
- };
88
- };
89
- var gv = function (key) { return mockedTranslateInner(key).text; };
90
- var mockedTranslate = jest.fn(mockedTranslateInner);
91
- var c;
92
- beforeEach(function () {
93
- textHandler = new DependencyStore().textHandler;
94
- getMockedInstance(Properties).config = {
95
- inputPrefix: '{{',
96
- inputSuffix: '}}',
97
- restrictedElements: [],
98
- tagAttributes: {
99
- '*': ['aria-label'],
100
- },
101
- passToParent: ['option'],
102
- };
103
- c = createTestDom(document);
104
- getMockedInstance(TextService).replace = function () {
105
- var args = [];
106
- for (var _i = 0; _i < arguments.length; _i++) {
107
- args[_i] = arguments[_i];
108
- }
109
- return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
110
- return [2 /*return*/, mockedTranslate.apply(void 0, __spreadArray([], __read(args), false))];
111
- }); });
112
- };
113
- });
114
- afterEach(function () { return __awaiter(void 0, void 0, void 0, function () {
115
- return __generator(this, function (_a) {
116
- jest.clearAllMocks();
117
- return [2 /*return*/];
118
- });
119
- }); });
120
- describe('in production mode', function () {
121
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
122
- return __generator(this, function (_a) {
123
- switch (_a.label) {
124
- case 0: return [4 /*yield*/, textHandler.handle(document.body)];
125
- case 1:
126
- _a.sent();
127
- return [2 /*return*/];
128
- }
129
- });
130
- }); });
131
- test('Can be created', function () {
132
- expect(textHandler).not.toBeUndefined();
133
- });
134
- test('will handle text in root', function () { return __awaiter(void 0, void 0, void 0, function () {
135
- return __generator(this, function (_a) {
136
- expect("./text()[contains(., " + gv(c.keyInRoot) + ")]").toBeFoundIn(document.body);
137
- return [2 /*return*/];
138
- });
139
- }); });
140
- test('will handle text in div', function () { return __awaiter(void 0, void 0, void 0, function () {
141
- return __generator(this, function (_a) {
142
- expect("./div/text()[contains(., 'Some trash... translated " + gv(c.keyInRootDiv) + "')]").toBeFoundIn(document.body);
143
- return [2 /*return*/];
144
- });
145
- }); });
146
- test('will handle text in div > div > span', function () { return __awaiter(void 0, void 0, void 0, function () {
147
- var xpath;
148
- return __generator(this, function (_a) {
149
- xpath = "./div/div/span/text()[contains(., 'translated " + gv(c.hereKey) + " and translated " + gv(c.hereTooKey) + "')]";
150
- expect(xpath).toBeFoundIn(document.body);
151
- return [2 /*return*/];
152
- });
153
- }); });
154
- describe("Node's _tolgee property", function () {
155
- var node;
156
- beforeEach(function () {
157
- node = NodeHelper.evaluateToSingle("./text()[contains(., " + gv(c.keyInRoot) + ")]", document.body);
158
- });
159
- test('will be defined', function () {
160
- expect(node._tolgee).toBeDefined();
161
- });
162
- test('will have proper oldTextContent', function () {
163
- expect(node._tolgee.oldTextContent).toContain("{{" + c.keyInRoot + "}}");
164
- });
165
- test('will have proper keys length', function () {
166
- expect(node._tolgee.keys).toHaveLength(1);
167
- });
168
- test('will have proper first key', function () {
169
- expect(node._tolgee.keys).toEqual(mockedKeys);
170
- });
171
- });
172
- test('will lock the node', function () { return __awaiter(void 0, void 0, void 0, function () {
173
- var node, resolve, promise;
174
- return __generator(this, function (_a) {
175
- switch (_a.label) {
176
- case 0:
177
- c = createTestDom(document);
178
- node = NodeHelper.evaluateToSingle("./text()[contains(., " + gv(c.keyInRoot) + ")]", document.body);
179
- getMockedInstance(TextService).replace = function () {
180
- return new Promise(function (r) { return (resolve = r); });
181
- };
182
- promise = textHandler.handle(node);
183
- return [4 /*yield*/, new Promise(function (r) { return setTimeout(r); })];
184
- case 1:
185
- _a.sent();
186
- expect(node._tolgee.locked).toEqual(true);
187
- resolve();
188
- return [4 /*yield*/, promise];
189
- case 2:
190
- _a.sent();
191
- expect(node._tolgee.locked).toEqual(false);
192
- return [2 /*return*/];
193
- }
194
- });
195
- }); });
196
- describe("Parent element's _tolgee property and attribute", function () {
197
- var element;
198
- var node;
199
- beforeEach(function () {
200
- node = NodeHelper.evaluateToSingle("./text()[contains(., " + gv(c.keyInRoot) + ")]", document.body);
201
- element = node.parentElement;
202
- });
203
- test('property will be defined', function () {
204
- expect(element._tolgee).toBeDefined();
205
- });
206
- test('will contain nodes array with correct node', function () {
207
- expect(element._tolgee.nodes).toEqual(new Set([node]));
208
- });
209
- test('attribute will be set', function () {
210
- expect(element.getAttribute('_tolgee')).toEqual('');
211
- });
212
- });
213
- test("will pass option's text node to select element", function () {
214
- var xPath = "//text()[contains(., 'translated option_key')]";
215
- var node = NodeHelper.evaluateToSingle(xPath, document.body);
216
- expect(node.parentElement.parentElement).toHaveAttribute('_tolgee', '');
217
- expect(node.parentElement).not.toHaveAttribute('_tolgee');
218
- });
219
- });
220
- test('will pass recursively', function () { return __awaiter(void 0, void 0, void 0, function () {
221
- var xPath, node;
222
- return __generator(this, function (_a) {
223
- switch (_a.label) {
224
- case 0:
225
- getMockedInstance(Properties).config.passToParent = ['option', 'select'];
226
- return [4 /*yield*/, textHandler.handle(document.body)];
227
- case 1:
228
- _a.sent();
229
- xPath = "//text()[contains(., 'translated option_key')]";
230
- node = NodeHelper.evaluateToSingle(xPath, document.body);
231
- expect(node.parentElement.parentElement.parentElement).toHaveAttribute('_tolgee', '');
232
- expect(node.parentElement.parentElement).not.toHaveAttribute('_tolgee');
233
- return [2 /*return*/];
234
- }
235
- });
236
- }); });
237
- test('will pass with function', function () { return __awaiter(void 0, void 0, void 0, function () {
238
- var xPath, node;
239
- return __generator(this, function (_a) {
240
- switch (_a.label) {
241
- case 0:
242
- getMockedInstance(Properties).config.passToParent = function (element) {
243
- return element.tagName === 'OPTION';
244
- };
245
- return [4 /*yield*/, textHandler.handle(document.body)];
246
- case 1:
247
- _a.sent();
248
- xPath = "//text()[contains(., 'translated option_key')]";
249
- node = NodeHelper.evaluateToSingle(xPath, document.body);
250
- expect(node.parentElement.parentElement).toHaveAttribute('_tolgee', '');
251
- expect(node.parentElement).not.toHaveAttribute('_tolgee');
252
- return [2 /*return*/];
253
- }
254
- });
255
- }); });
256
- test('will register the node', function () { return __awaiter(void 0, void 0, void 0, function () {
257
- var node;
258
- return __generator(this, function (_a) {
259
- switch (_a.label) {
260
- case 0: return [4 /*yield*/, textHandler.handle(document.body)];
261
- case 1:
262
- _a.sent();
263
- node = NodeHelper.evaluateToSingle("./text()[contains(., " + gv(c.keyInRoot) + ")]", document.body);
264
- expect(getMockedInstance(ElementRegistrar).register).toBeCalledWith(node.parentElement);
265
- return [2 /*return*/];
266
- }
267
- });
268
- }); });
269
- });
270
- //# sourceMappingURL=TextHandler.test.js.map