@tolgee/core 2.5.1 → 2.8.2

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 (120) hide show
  1. package/README.md +2 -1
  2. package/dist/tolgee.cjs.js +156 -100
  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 +1 -1
  7. package/dist/tolgee.esm.js.map +1 -1
  8. package/dist/tolgee.umd.js +156 -100
  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/Observer.test.d.ts +2 -0
  13. package/lib/Observer.test.js +190 -0
  14. package/lib/Observer.test.js.map +1 -0
  15. package/lib/Properties.d.ts +1 -0
  16. package/lib/Properties.js.map +1 -1
  17. package/lib/Properties.test.d.ts +1 -0
  18. package/lib/Properties.test.js +77 -0
  19. package/lib/Properties.test.js.map +1 -0
  20. package/lib/Tolgee.d.ts +1 -1
  21. package/lib/Tolgee.js +11 -11
  22. package/lib/Tolgee.js.map +1 -1
  23. package/lib/Tolgee.test.d.ts +1 -0
  24. package/lib/Tolgee.test.js +482 -0
  25. package/lib/Tolgee.test.js.map +1 -0
  26. package/lib/TolgeeConfig.d.ts +1 -1
  27. package/lib/TolgeeConfig.test.d.ts +1 -0
  28. package/lib/TolgeeConfig.test.js +18 -0
  29. package/lib/TolgeeConfig.test.js.map +1 -0
  30. package/lib/__testFixtures/classMock.d.ts +3 -0
  31. package/lib/__testFixtures/classMock.js +8 -0
  32. package/lib/__testFixtures/classMock.js.map +1 -0
  33. package/lib/__testFixtures/createElement.d.ts +2 -0
  34. package/lib/__testFixtures/createElement.js +58 -0
  35. package/lib/__testFixtures/createElement.js.map +1 -0
  36. package/lib/__testFixtures/createTestDom.d.ts +9 -0
  37. package/lib/__testFixtures/createTestDom.js +18 -0
  38. package/lib/__testFixtures/createTestDom.js.map +1 -0
  39. package/lib/__testFixtures/mocked.d.ts +20 -0
  40. package/lib/__testFixtures/mocked.js +24 -0
  41. package/lib/__testFixtures/mocked.js.map +1 -0
  42. package/lib/__testFixtures/setupAfterEnv.d.ts +8 -0
  43. package/lib/__testFixtures/setupAfterEnv.js +23 -0
  44. package/lib/__testFixtures/setupAfterEnv.js.map +1 -0
  45. package/lib/handlers/AbstractHandler.js +1 -1
  46. package/lib/handlers/AbstractHandler.js.map +1 -1
  47. package/lib/handlers/AttributeHandler.js +1 -1
  48. package/lib/handlers/AttributeHandler.js.map +1 -1
  49. package/lib/handlers/AttributeHandler.test.d.ts +1 -0
  50. package/lib/handlers/AttributeHandler.test.js +177 -0
  51. package/lib/handlers/AttributeHandler.test.js.map +1 -0
  52. package/lib/handlers/CoreHandler.test.d.ts +1 -0
  53. package/lib/handlers/CoreHandler.test.js +148 -0
  54. package/lib/handlers/CoreHandler.test.js.map +1 -0
  55. package/lib/handlers/TextHandler.js +1 -1
  56. package/lib/handlers/TextHandler.js.map +1 -1
  57. package/lib/handlers/TextHandler.test.d.ts +1 -0
  58. package/lib/handlers/TextHandler.test.js +270 -0
  59. package/lib/handlers/TextHandler.test.js.map +1 -0
  60. package/lib/handlers/WrappedHandler.js +1 -1
  61. package/lib/handlers/WrappedHandler.js.map +1 -1
  62. package/lib/helpers/NodeHelper.d.ts +1 -1
  63. package/lib/helpers/NodeHelper.js +19 -18
  64. package/lib/helpers/NodeHelper.js.map +1 -1
  65. package/lib/helpers/TextHelper.test.d.ts +1 -0
  66. package/lib/helpers/TextHelper.test.js +107 -0
  67. package/lib/helpers/TextHelper.test.js.map +1 -0
  68. package/lib/highlighter/HighlightFunctionsInitializer.test.d.ts +1 -0
  69. package/lib/highlighter/HighlightFunctionsInitializer.test.js +81 -0
  70. package/lib/highlighter/HighlightFunctionsInitializer.test.js.map +1 -0
  71. package/lib/highlighter/MouseEventHandler.js +4 -2
  72. package/lib/highlighter/MouseEventHandler.js.map +1 -1
  73. package/lib/highlighter/MouseEventHandler.test.d.ts +1 -0
  74. package/lib/highlighter/MouseEventHandler.test.js +215 -0
  75. package/lib/highlighter/MouseEventHandler.test.js.map +1 -0
  76. package/lib/highlighter/TranslationHighlighter.d.ts +2 -2
  77. package/lib/highlighter/TranslationHighlighter.js +89 -28
  78. package/lib/highlighter/TranslationHighlighter.js.map +1 -1
  79. package/lib/highlighter/TranslationHighlighter.test.d.ts +1 -0
  80. package/lib/highlighter/TranslationHighlighter.test.js +287 -0
  81. package/lib/highlighter/TranslationHighlighter.test.js.map +1 -0
  82. package/lib/services/ApiHttpService.js +1 -1
  83. package/lib/services/ApiHttpService.js.map +1 -1
  84. package/lib/services/CoreService.d.ts +3 -1
  85. package/lib/services/CoreService.js +2 -3
  86. package/lib/services/CoreService.js.map +1 -1
  87. package/lib/services/CoreService.test.d.ts +1 -0
  88. package/lib/services/CoreService.test.js +178 -0
  89. package/lib/services/CoreService.test.js.map +1 -0
  90. package/lib/services/DependencyStore.test.d.ts +1 -0
  91. package/lib/services/DependencyStore.test.js +67 -0
  92. package/lib/services/DependencyStore.test.js.map +1 -0
  93. package/lib/services/ElementRegistrar.js +13 -9
  94. package/lib/services/ElementRegistrar.js.map +1 -1
  95. package/lib/services/ElementRegistrar.test.d.ts +1 -0
  96. package/lib/services/ElementRegistrar.test.js +215 -0
  97. package/lib/services/ElementRegistrar.test.js.map +1 -0
  98. package/lib/services/ScreenshotService.js +1 -1
  99. package/lib/services/ScreenshotService.js.map +1 -1
  100. package/lib/services/TextService.js +5 -5
  101. package/lib/services/TextService.js.map +1 -1
  102. package/lib/services/TextService.test.d.ts +1 -0
  103. package/lib/services/TextService.test.js +430 -0
  104. package/lib/services/TextService.test.js.map +1 -0
  105. package/lib/services/TranslationService.js +7 -7
  106. package/lib/services/TranslationService.js.map +1 -1
  107. package/lib/services/TranslationService.test.d.ts +1 -0
  108. package/lib/services/TranslationService.test.js +649 -0
  109. package/lib/services/TranslationService.test.js.map +1 -0
  110. package/lib/services/__mocks__/CoreService.d.ts +2 -0
  111. package/lib/services/__mocks__/CoreService.js +49 -0
  112. package/lib/services/__mocks__/CoreService.js.map +1 -0
  113. package/lib/toolsManager/Messages.test.d.ts +1 -0
  114. package/lib/toolsManager/Messages.test.js +114 -0
  115. package/lib/toolsManager/Messages.test.js.map +1 -0
  116. package/lib/toolsManager/PluginManager.test.d.ts +1 -0
  117. package/lib/toolsManager/PluginManager.test.js +120 -0
  118. package/lib/toolsManager/PluginManager.test.js.map +1 -0
  119. package/lib/types.d.ts +11 -0
  120. package/package.json +7 -7
@@ -0,0 +1,270 @@
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(., ".concat(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 ".concat(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 ".concat(gv(c.hereKey), " and translated ").concat(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(., ".concat(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("{{".concat(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(., ".concat(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(., ".concat(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(., ".concat(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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextHandler.test.js","sourceRoot":"","sources":["../../src/handlers/TextHandler.test.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ var WrappedHandler = /** @class */ (function (_super) {
67
67
  var xPath, nodes, filtered;
68
68
  var _this = this;
69
69
  return __generator(this, function (_a) {
70
- xPath = "./descendant-or-self::*[@" + TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE + "]";
70
+ xPath = "./descendant-or-self::*[@".concat(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, "]");
71
71
  nodes = NodeHelper.evaluate(xPath, node);
72
72
  filtered = this.filterRestricted(nodes);
73
73
  filtered.forEach(function (element) {
@@ -1 +1 @@
1
- {"version":3,"file":"WrappedHandler.js","sourceRoot":"","sources":["../../src/handlers/WrappedHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAEzE;IAAoC,kCAAe;IACjD,wBACY,UAAsB,EACtB,sBAA8C,EAC9C,WAAwB,EACxB,gBAAkC;QAJ9C,YAME,kBAAM,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,SACzE;QANW,gBAAU,GAAV,UAAU,CAAY;QACtB,4BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,iBAAW,GAAX,WAAW,CAAa;QACxB,sBAAgB,GAAhB,gBAAgB,CAAkB;;IAG9C,CAAC;IAEK,+BAAM,GAAZ,UAAa,IAAU;;;;;gBACf,KAAK,GAAG,8BAA4B,kCAAkC,MAAG,CAAC;gBAC1E,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzC,QAAQ,GAAc,IAAI,CAAC,gBAAgB,CAAC,KAAkB,CAAC,CAAC;gBACtE,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;oBACvB,IAAM,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACnE,eAAe,CAAC,OAAO,CAAC,yBAAyB,GAAG,OAAO,CAAC,YAAY,CACtE,kCAAkC,CACnC,CAAC;oBACF,eAAe,CAAC,OAAO,CAAC,iCAAiC;wBACvD,OAAO,CAAC,SAAS,CAAC;oBACpB,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;;;;KACJ;IACH,qBAAC;AAAD,CAAC,AAxBD,CAAoC,eAAe,GAwBlD"}
1
+ {"version":3,"file":"WrappedHandler.js","sourceRoot":"","sources":["../../src/handlers/WrappedHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAEzE;IAAoC,kCAAe;IACjD,wBACY,UAAsB,EACtB,sBAA8C,EAC9C,WAAwB,EACxB,gBAAkC;QAJ9C,YAME,kBAAM,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,SACzE;QANW,gBAAU,GAAV,UAAU,CAAY;QACtB,4BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,iBAAW,GAAX,WAAW,CAAa;QACxB,sBAAgB,GAAhB,gBAAgB,CAAkB;;IAG9C,CAAC;IAEK,+BAAM,GAAZ,UAAa,IAAU;;;;;gBACf,KAAK,GAAG,mCAA4B,kCAAkC,MAAG,CAAC;gBAC1E,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACzC,QAAQ,GAAc,IAAI,CAAC,gBAAgB,CAAC,KAAkB,CAAC,CAAC;gBACtE,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;oBACvB,IAAM,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACnE,eAAe,CAAC,OAAO,CAAC,yBAAyB,GAAG,OAAO,CAAC,YAAY,CACtE,kCAAkC,CACnC,CAAC;oBACF,eAAe,CAAC,OAAO,CAAC,iCAAiC;wBACvD,OAAO,CAAC,SAAS,CAAC;oBACpB,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;;;;KACJ;IACH,qBAAC;AAAD,CAAC,AAxBD,CAAoC,eAAe,GAwBlD"}
@@ -1,6 +1,5 @@
1
1
  import { ArgumentTypes } from './commonTypes';
2
2
  export declare class NodeHelper {
3
- private static evaluateGenerator;
4
3
  static evaluate<T extends Node>(...args: ArgumentTypes<typeof NodeHelper.evaluateGenerator>): T[];
5
4
  static evaluateToSingle<T extends Node>(...args: ArgumentTypes<typeof NodeHelper.evaluateGenerator>): T;
6
5
  static closestElement(node: Element | Text): Element;
@@ -9,4 +8,5 @@ export declare class NodeHelper {
9
8
  static markElementAsTargetElement(element: Element): void;
10
9
  static unmarkElementAsTargetElement(element: Element): void;
11
10
  static nodeContains(descendant: Node, node: Node): boolean;
11
+ private static evaluateGenerator;
12
12
  }
@@ -54,23 +54,6 @@ import { TOLGEE_TARGET_ATTRIBUTE } from '../Constants/Global';
54
54
  var NodeHelper = /** @class */ (function () {
55
55
  function NodeHelper() {
56
56
  }
57
- NodeHelper.evaluateGenerator = function (expression, targetNode) {
58
- var node, evaluated;
59
- return __generator(this, function (_a) {
60
- switch (_a.label) {
61
- case 0:
62
- evaluated = document.evaluate(expression, targetNode, undefined, XPathResult.ANY_TYPE);
63
- _a.label = 1;
64
- case 1:
65
- if (!((node = evaluated.iterateNext()) !== null)) return [3 /*break*/, 3];
66
- return [4 /*yield*/, node];
67
- case 2:
68
- _a.sent();
69
- return [3 /*break*/, 1];
70
- case 3: return [2 /*return*/];
71
- }
72
- });
73
- };
74
57
  NodeHelper.evaluate = function () {
75
58
  var args = [];
76
59
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -120,13 +103,31 @@ var NodeHelper = /** @class */ (function () {
120
103
  return true;
121
104
  }
122
105
  if (node instanceof Attr) {
123
- var ownerContainsAttr = Object.values(node.ownerElement.attributes).indexOf(node) > -1;
106
+ var ownerContainsAttr = node.ownerElement &&
107
+ Object.values(node.ownerElement.attributes).indexOf(node) > -1;
124
108
  if (descendant.contains(node.ownerElement) && ownerContainsAttr) {
125
109
  return true;
126
110
  }
127
111
  }
128
112
  return false;
129
113
  };
114
+ NodeHelper.evaluateGenerator = function (expression, targetNode) {
115
+ var node, evaluated;
116
+ return __generator(this, function (_a) {
117
+ switch (_a.label) {
118
+ case 0:
119
+ evaluated = document.evaluate(expression, targetNode, undefined, XPathResult.ANY_TYPE);
120
+ _a.label = 1;
121
+ case 1:
122
+ if (!((node = evaluated.iterateNext()) !== null)) return [3 /*break*/, 3];
123
+ return [4 /*yield*/, node];
124
+ case 2:
125
+ _a.sent();
126
+ return [3 /*break*/, 1];
127
+ case 3: return [2 /*return*/];
128
+ }
129
+ });
130
+ };
130
131
  return NodeHelper;
131
132
  }());
132
133
  export { NodeHelper };
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHelper.js","sourceRoot":"","sources":["../../src/helpers/NodeHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;IAAA;IA6EA,CAAC;IA5EiB,4BAAiB,GAAjC,UACE,UAAkB,EAClB,UAAgB;;;;;oBAGV,SAAS,GAAG,QAAQ,CAAC,QAAQ,CACjC,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,CAAC,QAAQ,CACrB,CAAC;;;yBACK,CAAA,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,CAAA;oBAC9C,qBAAM,IAAS,EAAA;;oBAAf,SAAe,CAAC;;;;;KAEnB;IAEM,mBAAQ,GAAf;QACE,cAA2D;aAA3D,UAA2D,EAA3D,qBAA2D,EAA3D,IAA2D;YAA3D,yBAA2D;;QAE3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,OAAtB,IAAI,2BAAsB,IAAI,WAAS,CAAC;IAC5D,CAAC;IAEM,2BAAgB,GAAvB;QACE,cAA2D;aAA3D,UAA2D,EAA3D,qBAA2D,EAA3D,IAA2D;YAA3D,yBAA2D;;QAE3D,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAb,IAAI,2BAAgB,IAAI,UAAC,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACf;QACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEa,yBAAc,GAA5B,UAA6B,IAAoB;QAC/C,IAAI,IAAI,YAAY,IAAI,EAAE;YACxB,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,2BAAgB,GAAvB,UAAwB,IAAU;QAChC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;QACD,IAAK,IAAa,CAAC,YAAY,EAAE;YAC/B,OAAQ,IAAa,CAAC,YAAY,CAAC;SACpC;IACH,CAAC;IAEM,iCAAsB,GAA7B,UAA8B,OAAgB;QAC5C,OAAO,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC;IAEM,qCAA0B,GAAjC,UAAkC,OAAgB;QAChD,OAAO,CAAC,YAAY,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,uCAA4B,GAAnC,UAAoC,OAAgB;QAClD,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACnD,CAAC;IAEM,uBAAY,GAAnB,UAAoB,UAAgB,EAAE,IAAU;QAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,YAAY,IAAI,EAAE;YACxB,IAAM,iBAAiB,GACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,iBAAiB,EAAE;gBAC/D,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACH,iBAAC;AAAD,CAAC,AA7ED,IA6EC"}
1
+ {"version":3,"file":"NodeHelper.js","sourceRoot":"","sources":["../../src/helpers/NodeHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;IAAA;IA8EA,CAAC;IA7EQ,mBAAQ,GAAf;QACE,cAA2D;aAA3D,UAA2D,EAA3D,qBAA2D,EAA3D,IAA2D;YAA3D,yBAA2D;;QAE3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,OAAtB,IAAI,2BAAsB,IAAI,WAAS,CAAC;IAC5D,CAAC;IAEM,2BAAgB,GAAvB;QACE,cAA2D;aAA3D,UAA2D,EAA3D,qBAA2D,EAA3D,IAA2D;YAA3D,yBAA2D;;QAE3D,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,OAAb,IAAI,2BAAgB,IAAI,UAAC,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACf;QACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEa,yBAAc,GAA5B,UAA6B,IAAoB;QAC/C,IAAI,IAAI,YAAY,IAAI,EAAE;YACxB,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,2BAAgB,GAAvB,UAAwB,IAAU;QAChC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;QACD,IAAK,IAAa,CAAC,YAAY,EAAE;YAC/B,OAAQ,IAAa,CAAC,YAAY,CAAC;SACpC;IACH,CAAC;IAEM,iCAAsB,GAA7B,UAA8B,OAAgB;QAC5C,OAAO,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC;IAEM,qCAA0B,GAAjC,UAAkC,OAAgB;QAChD,OAAO,CAAC,YAAY,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,uCAA4B,GAAnC,UAAoC,OAAgB;QAClD,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACnD,CAAC;IAEM,uBAAY,GAAnB,UAAoB,UAAgB,EAAE,IAAU;QAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,YAAY,IAAI,EAAE;YACxB,IAAM,iBAAiB,GACrB,IAAI,CAAC,YAAY;gBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,iBAAiB,EAAE;gBAC/D,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEe,4BAAiB,GAAjC,UACE,UAAkB,EAClB,UAAgB;;;;;oBAGV,SAAS,GAAG,QAAQ,CAAC,QAAQ,CACjC,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,CAAC,QAAQ,CACrB,CAAC;;;yBACK,CAAA,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,CAAA;oBAC9C,qBAAM,IAAS,EAAA;;oBAAf,SAAe,CAAC;;;;;KAEnB;IACH,iBAAC;AAAD,CAAC,AA9ED,IA8EC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,107 @@
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('./TextHelper');
38
+ import { TextHelper } from './TextHelper';
39
+ describe('TextHelper', function () {
40
+ describe('will split', function () {
41
+ test('on non escaped properly', function () {
42
+ var strings = TextHelper.splitOnNonEscapedDelimiter('text.to.split', '.');
43
+ expect(strings).toEqual(['text', 'to', 'split']);
44
+ });
45
+ test('on escaped and non escaped properly', function () {
46
+ var strings = TextHelper.splitOnNonEscapedDelimiter('text\\.to\\.split', '.');
47
+ expect(strings).toEqual(['text.to.split']);
48
+ });
49
+ test('empty string properly', function () {
50
+ var strings = TextHelper.splitOnNonEscapedDelimiter('', '.');
51
+ expect(strings).toEqual(['']);
52
+ });
53
+ test('correctly when it begins with escape', function () { return __awaiter(void 0, void 0, void 0, function () {
54
+ var strings;
55
+ return __generator(this, function (_a) {
56
+ strings = TextHelper.splitOnNonEscapedDelimiter('\\.aa', '.');
57
+ expect(strings).toEqual(['.aa']);
58
+ return [2 /*return*/];
59
+ });
60
+ }); });
61
+ test('correctly when it ends with escape', function () { return __awaiter(void 0, void 0, void 0, function () {
62
+ var strings;
63
+ return __generator(this, function (_a) {
64
+ strings = TextHelper.splitOnNonEscapedDelimiter('aa\\.', '.');
65
+ expect(strings).toEqual(['aa.']);
66
+ return [2 /*return*/];
67
+ });
68
+ }); });
69
+ test('correctly when it contains escaped escape character', function () { return __awaiter(void 0, void 0, void 0, function () {
70
+ var strings;
71
+ return __generator(this, function (_a) {
72
+ strings = TextHelper.splitOnNonEscapedDelimiter('aa\\\\.', '.');
73
+ expect(strings).toEqual(['aa\\', '']);
74
+ return [2 /*return*/];
75
+ });
76
+ }); });
77
+ test('correctly when it contains escaped escape character and delimiter is escaped', function () { return __awaiter(void 0, void 0, void 0, function () {
78
+ var strings;
79
+ return __generator(this, function (_a) {
80
+ strings = TextHelper.splitOnNonEscapedDelimiter('aa\\\\\\.', '.');
81
+ expect(strings).toEqual(['aa\\.']);
82
+ return [2 /*return*/];
83
+ });
84
+ }); });
85
+ });
86
+ describe('It remove escapes', function () {
87
+ test('basically', function () { return __awaiter(void 0, void 0, void 0, function () {
88
+ return __generator(this, function (_a) {
89
+ expect(TextHelper.removeEscapes('t\\t')).toEqual('tt');
90
+ return [2 /*return*/];
91
+ });
92
+ }); });
93
+ test('not if escape character is escaped', function () { return __awaiter(void 0, void 0, void 0, function () {
94
+ return __generator(this, function (_a) {
95
+ expect(TextHelper.removeEscapes('\\\\')).toEqual('\\');
96
+ return [2 /*return*/];
97
+ });
98
+ }); });
99
+ test('if there is escaped escaped character', function () { return __awaiter(void 0, void 0, void 0, function () {
100
+ return __generator(this, function (_a) {
101
+ expect(TextHelper.removeEscapes('\\\\\\')).toEqual('\\');
102
+ return [2 /*return*/];
103
+ });
104
+ }); });
105
+ });
106
+ });
107
+ //# sourceMappingURL=TextHelper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextHelper.test.js","sourceRoot":"","sources":["../../src/helpers/TextHelper.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAQ,CAAC,YAAY,EAAE;IACrB,QAAQ,CAAC,YAAY,EAAE;QACrB,IAAI,CAAC,yBAAyB,EAAE;YAC9B,IAAM,OAAO,GAAG,UAAU,CAAC,0BAA0B,CACnD,eAAe,EACf,GAAG,CACJ,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qCAAqC,EAAE;YAC1C,IAAM,OAAO,GAAG,UAAU,CAAC,0BAA0B,CACnD,mBAAmB,EACnB,GAAG,CACJ,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,EAAE;YAC5B,IAAM,OAAO,GAAG,UAAU,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sCAAsC,EAAE;;;gBACrC,OAAO,GAAG,UAAU,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACpE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;;;aAClC,CAAC,CAAC;QAEH,IAAI,CAAC,oCAAoC,EAAE;;;gBACnC,OAAO,GAAG,UAAU,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACpE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;;;aAClC,CAAC,CAAC;QAEH,IAAI,CAAC,qDAAqD,EAAE;;;gBACpD,OAAO,GAAG,UAAU,CAAC,0BAA0B,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACtE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;;;aACvC,CAAC,CAAC;QAEH,IAAI,CAAC,8EAA8E,EAAE;;;gBAC7E,OAAO,GAAG,UAAU,CAAC,0BAA0B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBACxE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;aACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,IAAI,CAAC,WAAW,EAAE;;gBAChB,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;;aACxD,CAAC,CAAC;QAEH,IAAI,CAAC,oCAAoC,EAAE;;gBACzC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;;aACxD,CAAC,CAAC;QAEH,IAAI,CAAC,uCAAuC,EAAE;;gBAC5C,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;;aAC1D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,81 @@
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('./HighlightFunctionsInitializer');
38
+ jest.dontMock('../services/DependencyStore');
39
+ import { getMockedInstance } from '@testFixtures/mocked';
40
+ import { Properties } from '../Properties';
41
+ import { DependencyStore } from '../services/DependencyStore';
42
+ describe('HighlightFunctionsInitializer', function () {
43
+ var highlightFunctionInitializer;
44
+ var mockedElement;
45
+ var mockedColor = 'rgb(0, 30, 50)';
46
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
47
+ return __generator(this, function (_a) {
48
+ jest.clearAllMocks();
49
+ highlightFunctionInitializer = new DependencyStore()
50
+ .highlightFunctionInitializer;
51
+ mockedElement = document.createElement('div');
52
+ getMockedInstance(Properties).config.highlightColor = mockedColor;
53
+ mockedElement._tolgee = {};
54
+ highlightFunctionInitializer.initFunctions(mockedElement);
55
+ return [2 /*return*/];
56
+ });
57
+ }); });
58
+ afterEach(function () { return __awaiter(void 0, void 0, void 0, function () {
59
+ return __generator(this, function (_a) {
60
+ jest.clearAllMocks();
61
+ return [2 /*return*/];
62
+ });
63
+ }); });
64
+ test('Will reset to correct initial color', function () { return __awaiter(void 0, void 0, void 0, function () {
65
+ return __generator(this, function (_a) {
66
+ mockedElement.style.backgroundColor = '#222222';
67
+ mockedElement._tolgee.highlight();
68
+ mockedElement._tolgee.unhighlight();
69
+ expect(mockedElement.style.backgroundColor).toEqual('rgb(34, 34, 34)');
70
+ return [2 /*return*/];
71
+ });
72
+ }); });
73
+ test('Will highlight', function () { return __awaiter(void 0, void 0, void 0, function () {
74
+ return __generator(this, function (_a) {
75
+ mockedElement._tolgee.highlight();
76
+ expect(mockedElement.style.backgroundColor).toEqual(mockedColor);
77
+ return [2 /*return*/];
78
+ });
79
+ }); });
80
+ });
81
+ //# sourceMappingURL=HighlightFunctionsInitializer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HighlightFunctionsInitializer.test.js","sourceRoot":"","sources":["../../src/highlighter/HighlightFunctionsInitializer.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AACjD,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,QAAQ,CAAC,+BAA+B,EAAE;IACxC,IAAI,4BAA2D,CAAC;IAChE,IAAI,aAA8B,CAAC;IACnC,IAAM,WAAW,GAAG,gBAAgB,CAAC;IAErC,UAAU,CAAC;;YACT,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,4BAA4B,GAAG,IAAI,eAAe,EAAE;iBACjD,4BAA4B,CAAC;YAChC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAA+B,CAAC;YAC5E,iBAAiB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC;YACjE,aAAa,CAAC,OAAe,GAAG,EAAE,CAAC;YACpC,4BAA4B,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;;;SAC3D,CAAC,CAAC;IAEH,SAAS,CAAC;;YACR,IAAI,CAAC,aAAa,EAAE,CAAC;;;SACtB,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE;;YAC1C,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;YAChD,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;;;SACxE,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE;;YACrB,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;;;SAClE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -53,7 +53,7 @@ var MouseEventHandler = /** @class */ (function () {
53
53
  }
54
54
  };
55
55
  element.addEventListener('mouseover', onMouseOver);
56
- element.addEventListener('click', onClick);
56
+ element.addEventListener('click', onClick, { capture: true });
57
57
  var onMouseDownOrUp = function (e) {
58
58
  if (_this.areKeysDown()) {
59
59
  e.stopPropagation();
@@ -67,7 +67,7 @@ var MouseEventHandler = /** @class */ (function () {
67
67
  element.removeEventListener('mousedown', onMouseDownOrUp);
68
68
  element.removeEventListener('mouseup', onMouseDownOrUp);
69
69
  element.removeEventListener('mouseover', onMouseOver);
70
- element.removeEventListener('click', onClick);
70
+ element.removeEventListener('click', onClick, { capture: true });
71
71
  element.removeEventListener('mouseout', onMouseOut);
72
72
  };
73
73
  };
@@ -88,11 +88,13 @@ var MouseEventHandler = /** @class */ (function () {
88
88
  }
89
89
  };
90
90
  MouseEventHandler.prototype.onMouseOut = function (element) {
91
+ element._tolgee.preventClean = false;
91
92
  this.mouseOn.delete(element);
92
93
  this.mouseOnChanged.emit(this.getMouseOn());
93
94
  };
94
95
  MouseEventHandler.prototype.onMouseOver = function (element) {
95
96
  this.filterMouseOn();
97
+ element._tolgee.preventClean = true;
96
98
  this.mouseOn.delete(element); //to get in to last place
97
99
  this.mouseOn.add(element);
98
100
  this.mouseOnChanged.emit(this.getMouseOn());