@o3r/testing 13.0.0-next.26 → 13.0.0-next.28
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/core/angular/angular-materials/autocomplete-material.js +9 -20
- package/core/angular/angular-materials/autocomplete-material.js.map +1 -1
- package/core/angular/angular-materials/index.js +1 -1
- package/core/angular/angular-materials/select-material.js +42 -91
- package/core/angular/angular-materials/select-material.js.map +1 -1
- package/core/angular/angular-materials/slider-material.js +8 -11
- package/core/angular/angular-materials/slider-material.js.map +1 -1
- package/core/angular/component-fixture.js +68 -148
- package/core/angular/component-fixture.js.map +1 -1
- package/core/angular/element.js +44 -50
- package/core/angular/element.js.map +1 -1
- package/core/angular/elements/checkbox-element.js +12 -16
- package/core/angular/elements/checkbox-element.js.map +1 -1
- package/core/angular/elements/index.js +1 -1
- package/core/angular/elements/radio-element.js +12 -16
- package/core/angular/elements/radio-element.js.map +1 -1
- package/core/angular/elements/select-element.js +28 -49
- package/core/angular/elements/select-element.js.map +1 -1
- package/core/angular/elements/slider-element.js +38 -42
- package/core/angular/elements/slider-element.js.map +1 -1
- package/core/angular/group.js +9 -14
- package/core/angular/group.js.map +1 -1
- package/core/angular/groups/index.js +1 -1
- package/core/angular/groups/radio-group.js +25 -62
- package/core/angular/groups/radio-group.js.map +1 -1
- package/core/angular/index.js +1 -1
- package/core/angular/page-fixture.js +8 -11
- package/core/angular/page-fixture.js.map +1 -1
- package/core/angular-materials/autocomplete-material.js +8 -11
- package/core/angular-materials/autocomplete-material.js.map +1 -1
- package/core/angular-materials/index.js +1 -1
- package/core/angular-materials/select-material.js +12 -15
- package/core/angular-materials/select-material.js.map +1 -1
- package/core/angular-materials/slider-material.js +5 -8
- package/core/angular-materials/slider-material.js.map +1 -1
- package/core/component-fixture.js +28 -33
- package/core/component-fixture.js.map +1 -1
- package/core/element.js +24 -26
- package/core/element.js.map +1 -1
- package/core/elements/checkbox-element.js +12 -16
- package/core/elements/checkbox-element.js.map +1 -1
- package/core/elements/index.js +1 -1
- package/core/elements/radio-element.js +12 -16
- package/core/elements/radio-element.js.map +1 -1
- package/core/elements/select-element.js +10 -13
- package/core/elements/select-element.js.map +1 -1
- package/core/elements/slider-element.js +5 -8
- package/core/elements/slider-element.js.map +1 -1
- package/core/group.js +9 -15
- package/core/group.js.map +1 -1
- package/core/groups/index.js +1 -1
- package/core/groups/radio-group.js +8 -11
- package/core/groups/radio-group.js.map +1 -1
- package/core/helpers.js +11 -16
- package/core/helpers.js.map +1 -1
- package/core/index.js +1 -1
- package/core/page-fixture.js +8 -11
- package/core/page-fixture.js.map +1 -1
- package/core/playwright/angular-materials/autocomplete-material.js +26 -56
- package/core/playwright/angular-materials/autocomplete-material.js.map +1 -1
- package/core/playwright/angular-materials/index.js +1 -1
- package/core/playwright/angular-materials/select-material.js +48 -110
- package/core/playwright/angular-materials/select-material.js.map +1 -1
- package/core/playwright/angular-materials/slider-material.js +7 -10
- package/core/playwright/angular-materials/slider-material.js.map +1 -1
- package/core/playwright/component-fixture.js +88 -173
- package/core/playwright/component-fixture.js.map +1 -1
- package/core/playwright/element.js +38 -90
- package/core/playwright/element.js.map +1 -1
- package/core/playwright/elements/checkbox-element.js +49 -94
- package/core/playwright/elements/checkbox-element.js.map +1 -1
- package/core/playwright/elements/index.js +1 -1
- package/core/playwright/elements/radio-element.js +18 -34
- package/core/playwright/elements/radio-element.js.map +1 -1
- package/core/playwright/elements/select-element.js +14 -21
- package/core/playwright/elements/select-element.js.map +1 -1
- package/core/playwright/elements/slider-element.js +78 -157
- package/core/playwright/elements/slider-element.js.map +1 -1
- package/core/playwright/group.js +9 -14
- package/core/playwright/group.js.map +1 -1
- package/core/playwright/groups/index.js +1 -1
- package/core/playwright/groups/radio-group.js +27 -64
- package/core/playwright/groups/radio-group.js.map +1 -1
- package/core/playwright/index.js +1 -1
- package/core/playwright/page-fixture.js +8 -18
- package/core/playwright/page-fixture.js.map +1 -1
- package/errors/fixture-usage-error.js +5 -10
- package/errors/fixture-usage-error.js.map +1 -1
- package/errors/index.js +1 -1
- package/errors/transpilation-purpose-only.js +5 -10
- package/errors/transpilation-purpose-only.js.map +1 -1
- package/kassette/index.js +1 -1
- package/kassette/update-dates-in-mocks.js +66 -85
- package/kassette/update-dates-in-mocks.js.map +1 -1
- package/localization/index.js +1 -1
- package/localization/localization-mock.js +38 -60
- package/localization/localization-mock.js.map +1 -1
- package/mocks/index.js +1 -1
- package/mocks/mock-component-generator.js +54 -53
- package/mocks/mock-component-generator.js.map +1 -1
- package/package.json +16 -15
- package/public_api.js +1 -1
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +4 -6
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/playwright/index.d.ts.map +1 -1
- package/schematics/ng-add/playwright/index.js +3 -4
- package/schematics/ng-add/playwright/index.js.map +1 -1
- package/store/index.js +1 -1
- package/store/testable-select.js +13 -13
- package/store/testable-select.js.map +1 -1
- package/tools/index.js +1 -1
- package/tools/path-replacement/index.js +1 -1
- package/tools/path-replacement/path-replacement.js +24 -20
- package/tools/path-replacement/path-replacement.js.map +1 -1
- package/visual-test/index.js +1 -1
- package/visual-test/utils.js +18 -7
- package/visual-test/utils.js.map +1 -1
- package/visual-test/visual-test.js +29 -34
- package/visual-test/visual-test.js.map +1 -1
- package/visual-testing-reporter/index.d.ts.map +1 -1
- package/visual-testing-reporter/index.js +37 -40
- package/visual-testing-reporter/index.js.map +1 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@o3r/testing",
|
3
|
-
"version": "13.0.0-next.
|
3
|
+
"version": "13.0.0-next.28",
|
4
4
|
"publishConfig": {
|
5
5
|
"access": "public"
|
6
6
|
},
|
@@ -100,9 +100,9 @@
|
|
100
100
|
"@material/slider": "^14.0.0",
|
101
101
|
"@ngrx/store": "^20.0.0",
|
102
102
|
"@ngx-translate/core": "^15.0.0 || ~16.0.4",
|
103
|
-
"@o3r/core": "^13.0.0-next.
|
104
|
-
"@o3r/localization": "^13.0.0-next.
|
105
|
-
"@o3r/schematics": "^13.0.0-next.
|
103
|
+
"@o3r/core": "^13.0.0-next.28",
|
104
|
+
"@o3r/localization": "^13.0.0-next.28",
|
105
|
+
"@o3r/schematics": "^13.0.0-next.28",
|
106
106
|
"@playwright/test": "^1.49.0",
|
107
107
|
"@schematics/angular": "^20.0.0",
|
108
108
|
"pixelmatch": "^7.0.0",
|
@@ -167,7 +167,7 @@
|
|
167
167
|
}
|
168
168
|
},
|
169
169
|
"dependencies": {
|
170
|
-
"@o3r/schematics": "^13.0.0-next.
|
170
|
+
"@o3r/schematics": "^13.0.0-next.28",
|
171
171
|
"esbuild": "~0.25.1",
|
172
172
|
"module-from-string": "^3.2.0",
|
173
173
|
"tslib": "^2.6.2"
|
@@ -194,12 +194,12 @@
|
|
194
194
|
"@ngx-translate/core": "~16.0.4",
|
195
195
|
"@nx/eslint-plugin": "~21.3.11",
|
196
196
|
"@nx/jest": "~21.3.11",
|
197
|
-
"@o3r/build-helpers": "^13.0.0-next.
|
198
|
-
"@o3r/core": "^13.0.0-next.
|
199
|
-
"@o3r/eslint-plugin": "^13.0.0-next.
|
200
|
-
"@o3r/localization": "^13.0.0-next.
|
201
|
-
"@o3r/test-helpers": "^13.0.0-next.
|
202
|
-
"@playwright/test": "~1.
|
197
|
+
"@o3r/build-helpers": "^13.0.0-next.28",
|
198
|
+
"@o3r/core": "^13.0.0-next.28",
|
199
|
+
"@o3r/eslint-plugin": "^13.0.0-next.28",
|
200
|
+
"@o3r/localization": "^13.0.0-next.28",
|
201
|
+
"@o3r/test-helpers": "^13.0.0-next.28",
|
202
|
+
"@playwright/test": "~1.54.0",
|
203
203
|
"@schematics/angular": "~20.0.0",
|
204
204
|
"@stylistic/eslint-plugin": "~5.2.0",
|
205
205
|
"@swc/helpers": "~0.5.0",
|
@@ -207,11 +207,11 @@
|
|
207
207
|
"@types/node": "^22.0.0",
|
208
208
|
"@types/pixelmatch": "^5.2.3",
|
209
209
|
"@types/pngjs": "^6.0.0",
|
210
|
-
"@typescript-eslint/parser": "~8.
|
210
|
+
"@typescript-eslint/parser": "~8.39.0",
|
211
211
|
"angular-eslint": "~20.1.0",
|
212
212
|
"concurrently": "^9.1.0",
|
213
213
|
"cpy-cli": "^5.0.0",
|
214
|
-
"eslint": "~9.
|
214
|
+
"eslint": "~9.33.0",
|
215
215
|
"eslint-import-resolver-node": "~0.3.9",
|
216
216
|
"eslint-import-resolver-typescript": "~4.4.0",
|
217
217
|
"eslint-plugin-import": "~2.32.0",
|
@@ -227,6 +227,7 @@
|
|
227
227
|
"jest-environment-jsdom": "~29.7.0",
|
228
228
|
"jest-junit": "~16.0.0",
|
229
229
|
"jest-preset-angular": "~14.6.0",
|
230
|
+
"jest-util": "~29.7.0",
|
230
231
|
"jsonc-eslint-parser": "~2.4.0",
|
231
232
|
"nx": "~21.3.11",
|
232
233
|
"pid-from-port": "^1.1.3",
|
@@ -235,11 +236,11 @@
|
|
235
236
|
"rxjs": "^7.8.1",
|
236
237
|
"semver": "^7.5.2",
|
237
238
|
"temporal-polyfill": "^0.3.0",
|
238
|
-
"ts-jest": "~29.
|
239
|
+
"ts-jest": "~29.4.0",
|
239
240
|
"ts-node": "~10.9.2",
|
240
241
|
"type-fest": "^4.30.1",
|
241
242
|
"typescript": "~5.8.2",
|
242
|
-
"typescript-eslint": "~8.
|
243
|
+
"typescript-eslint": "~8.39.0",
|
243
244
|
"zone.js": "~0.15.0"
|
244
245
|
},
|
245
246
|
"generatorDependencies": {
|
package/public_api.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAiMpC;;;GAGG;AACH,eAAO,MAAM,KAAK,wBAAgC,CAAC"}
|
@@ -57,7 +57,7 @@ function ngAddFn(options) {
|
|
57
57
|
break;
|
58
58
|
}
|
59
59
|
}
|
60
|
-
const
|
60
|
+
const internalDependenciesInfo = depsInfo.o3rPeerDeps.reduce((acc, dep) => {
|
61
61
|
acc[dep] = {
|
62
62
|
inManifest: [{
|
63
63
|
range: `${options.exactO3rVersion ? '' : '~'}${depsInfo.packageVersion}`,
|
@@ -68,7 +68,7 @@ function ngAddFn(options) {
|
|
68
68
|
return acc;
|
69
69
|
}, (0, schematics_2.getPackageInstallConfig)(testPackageJsonPath, tree, options.projectName, true, !!options.exactO3rVersion));
|
70
70
|
if (installJest) {
|
71
|
-
devDependenciesToInstall.push('@angular-builders/jest', '@types/jest', 'jest', 'jest-environment-jsdom', 'jest-preset-angular', 'ts-jest');
|
71
|
+
devDependenciesToInstall.push('@angular-builders/jest', '@types/jest', 'jest', 'jest-environment-jsdom', 'jest-preset-angular', 'jest-util', 'ts-jest');
|
72
72
|
}
|
73
73
|
const externalDependenciesInfo = (0, schematics_2.getExternalDependenciesInfo)({
|
74
74
|
devDependenciesToInstall,
|
@@ -77,6 +77,7 @@ function ngAddFn(options) {
|
|
77
77
|
projectType: workspaceProject?.projectType,
|
78
78
|
projectPackageJson
|
79
79
|
}, context.logger);
|
80
|
+
const dependencies = { ...internalDependenciesInfo, ...externalDependenciesInfo };
|
80
81
|
let installPlaywright = false;
|
81
82
|
if (projectType === 'application') {
|
82
83
|
installPlaywright = options.enablePlaywright === undefined
|
@@ -93,10 +94,7 @@ function ngAddFn(options) {
|
|
93
94
|
installPlaywright ? (0, playwright_1.updatePlaywright)(options, dependencies) : schematics_1.noop,
|
94
95
|
(0, schematics_2.setupDependencies)({
|
95
96
|
projectName: options.projectName,
|
96
|
-
dependencies
|
97
|
-
...dependencies,
|
98
|
-
...externalDependenciesInfo
|
99
|
-
},
|
97
|
+
dependencies,
|
100
98
|
ngAddToRun: depsInfo.o3rPeerDeps
|
101
99
|
}),
|
102
100
|
(0, schematics_2.registerPackageCollectionSchematics)(packageJson),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,kCAAkC;AAClC,8DAE2C;AAC3C,2DAaoC;AACpC,gDAeyB;AAOzB,uCAEmB;AACnB,6CAEsB;AACtB;;GAEG;AACH,MAAM,qBAAqB,GAAa,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,wBAAwB,GAAG;IAC/B,YAAY;IACZ,OAAO;IACP,+BAA+B;IAC/B,qBAAqB;IACrB,eAAe;IACf,iBAAiB;CAClB,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAChF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAgB,CAAC;YAC1G,MAAM,QAAQ,GAAG,IAAA,2BAAc,EAAC,mBAAmB,CAAC,CAAC;YACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnH,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,IAAI,IAAI,GAAG,CAAC;YACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAgB,CAAC;YAC3G,MAAM,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,aAAa,CAAC;YACnE,IAAI,WAAW,CAAC;YAEhB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAA,6BAAgB,EAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACtG,QAAQ,aAAa,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,WAAW,GAAG,MAAM,IAAA,wBAAe,EAAC,2BAA2B,aAAa,uEAAuE,aAAa,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3L,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,WAAW,GAAG,MAAM,IAAA,wBAAe,EAAC,uEAAuE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC1H,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,IAAI,EAKL,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,eAAe,EAIpB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAWzB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,IAAI,EAKL,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,eAAe,EAIpB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAWzB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CA6ElH"}
|
@@ -27,10 +27,9 @@ function updatePlaywright(options, dependencies) {
|
|
27
27
|
projectPackageJson,
|
28
28
|
projectType: workspaceProject?.projectType
|
29
29
|
}, context.logger);
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
};
|
30
|
+
Object.entries(externalDependencies).forEach(([key, value]) => {
|
31
|
+
dependencies[key] = value;
|
32
|
+
});
|
34
33
|
const workingDirectory = (options?.projectName && (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName]?.root) || '.';
|
35
34
|
// update gitignore
|
36
35
|
const gitignorePath = '.gitignore';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":";;AAsCA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"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"}
|
package/store/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
|
3
|
+
const tslib_1 = require("tslib");
|
4
4
|
tslib_1.__exportStar(require("./testable-select"), exports);
|
5
5
|
tslib_1.__exportStar(require("./typings"), exports);
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/store/testable-select.js
CHANGED
@@ -5,14 +5,14 @@ exports.initializeSelectorSpies = initializeSelectorSpies;
|
|
5
5
|
exports.spyOnSelector = spyOnSelector;
|
6
6
|
exports.clearSelectorSpy = clearSelectorSpy;
|
7
7
|
exports.select = select;
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
const tslib_1 = require("tslib");
|
9
|
+
const store_1 = require("@ngrx/store");
|
10
|
+
const rxjs_1 = require("rxjs");
|
11
|
+
const typings_1 = require("./typings");
|
12
12
|
// eslint-disable-next-line import/export -- legacy code
|
13
13
|
tslib_1.__exportStar(require("@ngrx/store"), exports);
|
14
14
|
/** Global variable that holds the registered spies */
|
15
|
-
|
15
|
+
let registeredSpies = [];
|
16
16
|
/**
|
17
17
|
*
|
18
18
|
* PRIVATE METHODS
|
@@ -22,13 +22,13 @@ var registeredSpies = [];
|
|
22
22
|
* Searches for the index of given selector
|
23
23
|
* @param selectFn Selector function to be searched
|
24
24
|
*/
|
25
|
-
|
25
|
+
const getSpyIndex = (selectFn) => registeredSpies.findIndex((spy) => spy.selector === selectFn);
|
26
26
|
/**
|
27
27
|
* Searches for the given selector spy. Returns undefined if none is registered
|
28
28
|
* @param selectFn Selector function to be searched
|
29
29
|
*/
|
30
|
-
|
31
|
-
|
30
|
+
const getSpy = (selectFn) => {
|
31
|
+
const index = getSpyIndex(selectFn);
|
32
32
|
return index >= 0 ? registeredSpies[index] : undefined;
|
33
33
|
};
|
34
34
|
/**
|
@@ -36,7 +36,7 @@ var getSpy = function (selectFn) {
|
|
36
36
|
* @param spy The selector spy
|
37
37
|
*/
|
38
38
|
function useSpy(spy) {
|
39
|
-
return (0, typings_1.isSelectorSpyCall)(spy) ? spy.fakeResult :
|
39
|
+
return (0, typings_1.isSelectorSpyCall)(spy) ? spy.fakeResult : () => (0, rxjs_1.of)(spy.fakeResult);
|
40
40
|
}
|
41
41
|
/**
|
42
42
|
*
|
@@ -61,12 +61,12 @@ function initializeSelectorSpies() {
|
|
61
61
|
* @param fakeResult The fake result to be used when a select is triggered
|
62
62
|
*/
|
63
63
|
function spyOnSelector(selector, fakeResult) {
|
64
|
-
|
64
|
+
const spyIndex = getSpyIndex(selector);
|
65
65
|
if (spyIndex >= 0) {
|
66
66
|
registeredSpies[spyIndex].fakeResult = fakeResult;
|
67
67
|
}
|
68
68
|
else {
|
69
|
-
registeredSpies.push({ selector: selector, fakeResult
|
69
|
+
registeredSpies.push({ selector: selector, fakeResult });
|
70
70
|
}
|
71
71
|
}
|
72
72
|
/**
|
@@ -74,7 +74,7 @@ function spyOnSelector(selector, fakeResult) {
|
|
74
74
|
* @param selector Selector function that is being spied on
|
75
75
|
*/
|
76
76
|
function clearSelectorSpy(selector) {
|
77
|
-
|
77
|
+
const spyIndex = getSpyIndex(selector);
|
78
78
|
if (spyIndex >= 0) {
|
79
79
|
registeredSpies.splice(spyIndex, 1);
|
80
80
|
}
|
@@ -87,7 +87,7 @@ function clearSelectorSpy(selector) {
|
|
87
87
|
*/
|
88
88
|
// eslint-disable-next-line import/export -- legacy code
|
89
89
|
function select(selectFn, props) {
|
90
|
-
|
90
|
+
const spy = getSpy(selectFn);
|
91
91
|
return spy ? useSpy(spy) : (0, store_1.select)(selectFn, props);
|
92
92
|
}
|
93
93
|
//# sourceMappingURL=testable-select.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testable-select.js","sourceRoot":"","sources":["../../src/store/testable-select.ts"],"names":[],"mappings":";;AAwDA,gDAEC;AAKD,0DAEC;AAOD,sCAOC;AAMD,4CAKC;AASD,wBAGC;;AAtGD,
|
1
|
+
{"version":3,"file":"testable-select.js","sourceRoot":"","sources":["../../src/store/testable-select.ts"],"names":[],"mappings":";;AAwDA,gDAEC;AAKD,0DAEC;AAOD,sCAOC;AAMD,4CAKC;AASD,wBAGC;;AAtGD,uCAEqB;AACrB,+BAGc;AACd,uCAKmB;AAEnB,wDAAwD;AACxD,sDAA4B;AAE5B,sDAAsD;AACtD,IAAI,eAAe,GAAuB,EAAE,CAAC;AAE7C;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAmB,QAAkC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC5I;;;GAGG;AACH,MAAM,MAAM,GAAG,CAAC,QAAuC,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC,CAAC;AACF;;;GAGG;AACH,SAAS,MAAM,CAAI,GAAmB;IACpC,OAAO,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAA,SAAE,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AAEH;;GAEG;AACH,SAAgB,kBAAkB;IAChC,eAAe,GAAG,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB;IACrC,kBAAkB,EAAE,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAA+B,QAAgC,EAAE,UAAiC;IAC7H,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,eAAe,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAuC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAA+B,QAAgC;IAC7F,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,wDAAwD;AACxD,SAAgB,MAAM,CAAC,QAAuC,EAAE,KAAc;IAC5E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,cAAU,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC","sourcesContent":["import {\n select as baseSelect,\n} from '@ngrx/store';\nimport {\n Observable,\n of,\n} from 'rxjs';\nimport {\n FakeSelectCall,\n isSelectorSpyCall,\n SelectorFunction,\n SelectorSpy,\n} from './typings';\n\n// eslint-disable-next-line import/export -- legacy code\nexport * from '@ngrx/store';\n\n/** Global variable that holds the registered spies */\nlet registeredSpies: SelectorSpy<any>[] = [];\n\n/**\n *\n * PRIVATE METHODS\n *\n */\n\n/**\n * Searches for the index of given selector\n * @param selectFn Selector function to be searched\n */\nconst getSpyIndex = <S extends object>(selectFn: SelectorFunction<S, any>) => registeredSpies.findIndex((spy) => spy.selector === selectFn);\n/**\n * Searches for the given selector spy. Returns undefined if none is registered\n * @param selectFn Selector function to be searched\n */\nconst getSpy = (selectFn: SelectorFunction<object, any>) => {\n const index = getSpyIndex(selectFn);\n return index >= 0 ? registeredSpies[index] : undefined;\n};\n/**\n * Uses the spy as the return of a select\n * @param spy The selector spy\n */\nfunction useSpy<R>(spy: SelectorSpy<R>): (source$: Observable<any>) => Observable<R> {\n return isSelectorSpyCall(spy) ? spy.fakeResult : () => of(spy.fakeResult);\n}\n\n/**\n *\n * PUBLIC METHODS\n *\n */\n\n/**\n * Clears all the registered selector spies\n */\nexport function clearSelectorSpies() {\n registeredSpies = [];\n}\n\n/**\n * Initialize the selector spies structure\n */\nexport function initializeSelectorSpies() {\n clearSelectorSpies();\n}\n\n/**\n * Spy on a selector function\n * @param selector Selector function to be spied on\n * @param fakeResult The fake result to be used when a select is triggered\n */\nexport function spyOnSelector<R, S extends object = object>(selector: SelectorFunction<S, R>, fakeResult: R | FakeSelectCall<R>) {\n const spyIndex = getSpyIndex(selector);\n if (spyIndex >= 0) {\n registeredSpies[spyIndex].fakeResult = fakeResult;\n } else {\n registeredSpies.push({ selector: selector as SelectorFunction<object, R>, fakeResult });\n }\n}\n\n/**\n * Removes the spy on a given selector function\n * @param selector Selector function that is being spied on\n */\nexport function clearSelectorSpy<R, S extends object = object>(selector: SelectorFunction<S, R>) {\n const spyIndex = getSpyIndex(selector);\n if (spyIndex >= 0) {\n registeredSpies.splice(spyIndex, 1);\n }\n}\n\n/**\n * Highjacked ngrx/store select. It checks if the selector function is being spied on\n * and returns it's fake result. Otherwise, it runs the original ngrx/store select\n * @param selectFn Selector function to be used\n * @param props optional properties to be used by the selector\n */\n// eslint-disable-next-line import/export -- legacy code\nexport function select(selectFn: SelectorFunction<object, any>, props?: object) {\n const spy = getSpy(selectFn);\n return spy ? useSpy(spy) : baseSelect(selectFn, props);\n}\n"]}
|
package/tools/index.js
CHANGED
@@ -1,39 +1,43 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.adjustPath = adjustPath;
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
var module_from_string_1 = require("module-from-string");
|
4
|
+
const fs = require("node:fs");
|
5
|
+
const node_module_1 = require("node:module");
|
6
|
+
const path = require("node:path");
|
7
|
+
const esbuild_1 = require("esbuild");
|
8
|
+
const module_from_string_1 = require("module-from-string");
|
10
9
|
/**
|
11
10
|
* Switch to the needed implementation of core testing, when running e2e tests
|
12
11
|
* transforms ESM into CJS when needed
|
13
12
|
* @param frameworkName Name of the framework used for e2e testing (playwright)
|
14
13
|
* @param customTransformOptions
|
15
14
|
*/
|
16
|
-
function adjustPath(frameworkName, customTransformOptions) {
|
17
|
-
|
18
|
-
if (customTransformOptions === void 0) { customTransformOptions = {}; }
|
19
|
-
var modulesCache = {};
|
15
|
+
function adjustPath(frameworkName = 'playwright', customTransformOptions = {}) {
|
16
|
+
const modulesCache = {};
|
20
17
|
// eslint-disable-next-line @typescript-eslint/unbound-method -- No need to bind the method, we are using `apply`
|
21
|
-
|
22
|
-
|
18
|
+
const originalRequire = node_module_1.Module.prototype.require;
|
19
|
+
const regex = new RegExp(`@o3r/testing/core(?!/${frameworkName})(.*)`);
|
23
20
|
node_module_1.Module.prototype.require = function (id) {
|
24
|
-
|
21
|
+
const newId = id.replace(regex, `@o3r/testing/core/${frameworkName}$1`);
|
25
22
|
try {
|
26
23
|
return Reflect.apply(originalRequire, this, [newId]);
|
27
24
|
}
|
28
|
-
catch
|
29
|
-
|
30
|
-
.concat(this.paths, this.paths.map(
|
31
|
-
|
25
|
+
catch {
|
26
|
+
const paths = []
|
27
|
+
.concat(this.paths, this.paths.map((i) => i.replace(/[/\\]node_modules$/, '')));
|
28
|
+
const filePath = require.resolve(newId, { paths });
|
32
29
|
if (!modulesCache[filePath]) {
|
33
|
-
|
34
|
-
|
30
|
+
const fileContent = fs.readFileSync(filePath);
|
31
|
+
const cwd = path.resolve(process.cwd(), 'src');
|
35
32
|
// we use ESBUILD to transform it into CJS
|
36
|
-
|
33
|
+
const trans = (0, esbuild_1.transformSync)(fileContent.toString(), {
|
34
|
+
loader: 'js',
|
35
|
+
format: 'cjs',
|
36
|
+
target: 'es2016',
|
37
|
+
sourcesContent: true,
|
38
|
+
sourceRoot: cwd,
|
39
|
+
...customTransformOptions
|
40
|
+
});
|
37
41
|
/**
|
38
42
|
* requireFromString will execute the file apart from just returning a module
|
39
43
|
* It can throw an exception which will prevent stop the execution
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"path-replacement.js","sourceRoot":"","sources":["../../../src/tools/path-replacement/path-replacement.ts"],"names":[],"mappings":";;AAkBA,gCAiDC
|
1
|
+
{"version":3,"file":"path-replacement.js","sourceRoot":"","sources":["../../../src/tools/path-replacement/path-replacement.ts"],"names":[],"mappings":";;AAkBA,gCAiDC;AAnED,8BAA8B;AAC9B,6CAEqB;AACrB,kCAAkC;AAClC,qCAGiB;AACjB,2DAE4B;AAC5B;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,gBAA8B,YAAY,EAAE,yBAA2C,EAAE;IAClH,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,iHAAiH;IACjH,MAAM,eAAe,GAAG,oBAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,wBAAwB,aAAa,OAAO,CAAC,CAAC;IACvE,oBAAM,CAAC,SAAS,CAAC,OAAO,GAAG,UAA+B,EAAU;QAClE,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,aAAa,IAAI,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,GAAI,EAAe;iBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAElF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC/C,0CAA0C;gBAC1C,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;oBAClD,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,IAAI;oBACpB,UAAU,EAAE,GAAG;oBACf,GAAG,sBAAsB;iBAC1B,CAAC,CAAC;gBAEH;;;;;;mBAMG;gBACH,IAAI,CAAC;oBACH,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAA,sCAAiB,EAAC,KAAK,CAAC,IAAI,EAAE;wBACrD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC/B,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,mEAAmE;oBACnE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAmB,CAAC;AACtB,CAAC","sourcesContent":["import * as fs from 'node:fs';\nimport {\n Module,\n} from 'node:module';\nimport * as path from 'node:path';\nimport {\n TransformOptions,\n transformSync,\n} from 'esbuild';\nimport {\n requireFromString,\n} from 'module-from-string';\n/**\n * Switch to the needed implementation of core testing, when running e2e tests\n * transforms ESM into CJS when needed\n * @param frameworkName Name of the framework used for e2e testing (playwright)\n * @param customTransformOptions\n */\nexport function adjustPath(frameworkName: 'playwright' = 'playwright', customTransformOptions: TransformOptions = {}) {\n const modulesCache: Record<string, any> = {};\n // eslint-disable-next-line @typescript-eslint/unbound-method -- No need to bind the method, we are using `apply`\n const originalRequire = Module.prototype.require;\n const regex = new RegExp(`@o3r/testing/core(?!/${frameworkName})(.*)`);\n Module.prototype.require = function (this: NodeJS.Module, id: string) {\n const newId = id.replace(regex, `@o3r/testing/core/${frameworkName}$1`);\n\n try {\n return Reflect.apply(originalRequire, this, [newId]);\n } catch {\n const paths = ([] as string[])\n .concat(this.paths, this.paths.map((i) => i.replace(/[/\\\\]node_modules$/, '')));\n\n const filePath = require.resolve(newId, { paths });\n if (!modulesCache[filePath]) {\n const fileContent = fs.readFileSync(filePath);\n const cwd = path.resolve(process.cwd(), 'src');\n // we use ESBUILD to transform it into CJS\n const trans = transformSync(fileContent.toString(), {\n loader: 'js',\n format: 'cjs',\n target: 'es2016',\n sourcesContent: true,\n sourceRoot: cwd,\n ...customTransformOptions\n });\n\n /**\n * requireFromString will execute the file apart from just returning a module\n * It can throw an exception which will prevent stop the execution\n *\n * That main blocker includes IVY-compatible libraries which have\n * no compiler facade in a global scope.\n */\n try {\n modulesCache[filePath] = requireFromString(trans.code, {\n dirname: path.dirname(filePath),\n useCurrentGlobal: true\n });\n } catch (ex) {\n // eslint-disable-next-line no-console -- no other logger available\n console.error(ex);\n }\n }\n\n return modulesCache[filePath];\n }\n } as NodeJS.Require;\n}\n"]}
|
package/visual-test/index.js
CHANGED
package/visual-test/utils.js
CHANGED
@@ -10,18 +10,29 @@ exports.toggleVisualTestingRender = toggleVisualTestingRender;
|
|
10
10
|
* @note this function is evaluated in the context of the page and should not use external variables
|
11
11
|
* @param ignoreClass
|
12
12
|
*/
|
13
|
-
function prepareVisualTesting(ignoreClass) {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
function prepareVisualTesting(ignoreClass = 'e2e-ignore') {
|
14
|
+
const visualTestingCss = document.createElement('style');
|
15
|
+
const visualTestingClass = 'visual-testing-render';
|
16
|
+
visualTestingCss.textContent = `
|
17
|
+
.${visualTestingClass} .${ignoreClass} {position: relative;}
|
18
|
+
|
19
|
+
.${visualTestingClass} .${ignoreClass}:before {
|
20
|
+
z-index: 999;
|
21
|
+
content: '';
|
22
|
+
width: 100%;
|
23
|
+
height: 100%;
|
24
|
+
background: grey;
|
25
|
+
position: absolute;
|
26
|
+
left: 0;
|
27
|
+
top: 0;
|
28
|
+
}`;
|
18
29
|
document.head.append(visualTestingCss);
|
19
30
|
}
|
20
31
|
/**
|
21
32
|
* Determine if the visual testing is enabled
|
22
33
|
*/
|
23
34
|
function isVisualTestingEnabled() {
|
24
|
-
|
35
|
+
const visualTestingClass = 'visual-testing-render';
|
25
36
|
return document.body.classList.contains(visualTestingClass);
|
26
37
|
}
|
27
38
|
/**
|
@@ -30,7 +41,7 @@ function isVisualTestingEnabled() {
|
|
30
41
|
* @param enabled
|
31
42
|
*/
|
32
43
|
function toggleVisualTestingRender(enabled) {
|
33
|
-
|
44
|
+
const visualTestingClass = 'visual-testing-render';
|
34
45
|
if (enabled) {
|
35
46
|
document.body.classList.add(visualTestingClass);
|
36
47
|
}
|
package/visual-test/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/visual-test/utils.ts"],"names":[],"mappings":";;AAOA,oDAkBC;AAKD,wDAGC;AAOD,8DAOC;AA/CD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/visual-test/utils.ts"],"names":[],"mappings":";;AAOA,oDAkBC;AAKD,wDAGC;AAOD,8DAOC;AA/CD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,WAAW,GAAG,YAAY;IAC7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,gBAAgB,CAAC,WAAW,GAAG;OAC1B,kBAAkB,KAAK,WAAW;;OAElC,kBAAkB,KAAK,WAAW;;;;;;;;;IASrC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC","sourcesContent":["/**\n * Prepare css rule to hide specific blocks\n *\n * Should be called only once during the visual test.\n * @note this function is evaluated in the context of the page and should not use external variables\n * @param ignoreClass\n */\nexport function prepareVisualTesting(ignoreClass = 'e2e-ignore') {\n const visualTestingCss = document.createElement('style');\n const visualTestingClass = 'visual-testing-render';\n visualTestingCss.textContent = `\n .${visualTestingClass} .${ignoreClass} {position: relative;}\n\n .${visualTestingClass} .${ignoreClass}:before {\n z-index: 999;\n content: '';\n width: 100%;\n height: 100%;\n background: grey;\n position: absolute;\n left: 0;\n top: 0;\n }`;\n\n document.head.append(visualTestingCss);\n}\n\n/**\n * Determine if the visual testing is enabled\n */\nexport function isVisualTestingEnabled() {\n const visualTestingClass = 'visual-testing-render';\n return document.body.classList.contains(visualTestingClass);\n}\n\n/**\n * Toggle the visual testing view : if it is active, will hide tagged components as grey blocks.\n * @note this function is evaluated in the context of the page and cannot use external code\n * @param enabled\n */\nexport function toggleVisualTestingRender(enabled: boolean) {\n const visualTestingClass = 'visual-testing-render';\n if (enabled) {\n document.body.classList.add(visualTestingClass);\n } else {\n document.body.classList.remove(visualTestingClass);\n }\n}\n"]}
|