@progress/kendo-e2e 1.4.1 → 1.4.3

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/README.md CHANGED
@@ -40,9 +40,9 @@ Selenium based e2e testing for web.
40
40
 
41
41
  ## Usage
42
42
 
43
- ### Managing browser drivers
43
+ ### Setup Browser Drivers
44
44
 
45
- This framework do not manage browser drivers, so user should take care appropriate driver to be in `PATH`.
45
+ This framework does not manage browser drivers, so the user should take care appropriate driver to be in `PATH`.
46
46
 
47
47
  #### Linux and macOS
48
48
 
@@ -74,6 +74,11 @@ Add following to your `PATH`:
74
74
  - `%APPDATA%\npm\node_modules\msedgedriver\lib\msedgedriver`
75
75
  - `%APPDATA%\npm\node_modules\geckodriver`
76
76
 
77
+ #### Notes (applicable for all OSs)
78
+
79
+ - Repeat `npm i -g chromedriver` each time when browser on your machine time is updated
80
+ - Repeat `npm i -g chromedriver` when changing NodeJS version with `nvm`
81
+
77
82
  ### Managing browsers
78
83
 
79
84
  Example:
@@ -6,6 +6,8 @@ type Result = {
6
6
  passed: string[];
7
7
  missing: string[];
8
8
  extra: string[];
9
+ actualSelectors: string[];
10
+ expectedSelectors: string[];
9
11
  };
10
12
  /**
11
13
  * Check if two html documents have same class hierarchy.
@@ -20,7 +20,9 @@ function compareHtml(actualHtml, expectedHtml, options) {
20
20
  const passed = [];
21
21
  const missing = [];
22
22
  const extra = [];
23
- const result = { passed, missing, extra };
23
+ let actualSelectors = [];
24
+ let expectedSelectors = [];
25
+ const result = { passed, missing, extra, actualSelectors, expectedSelectors };
24
26
  const config = {
25
27
  allowedTags: false,
26
28
  allowVulnerableTags: true,
@@ -28,18 +30,16 @@ function compareHtml(actualHtml, expectedHtml, options) {
28
30
  };
29
31
  const actualDom = new jsdom_1.default.JSDOM((0, sanitize_html_1.default)(actualHtml, config)).window.document.documentElement;
30
32
  const expectedDom = new jsdom_1.default.JSDOM((0, sanitize_html_1.default)(expectedHtml, config)).window.document.documentElement;
31
- let actualSelectors = [];
32
33
  let parent = "";
33
34
  parseDom(actualDom, actualSelectors, parent);
34
35
  parent = "";
35
- let expectedSelectors = [];
36
36
  parseDom(expectedDom, expectedSelectors);
37
37
  let actualWithoutExtra = [];
38
38
  if ((options === null || options === void 0 ? void 0 : options.allowExtra) !== undefined) {
39
39
  for (const selector of actualSelectors) {
40
40
  let replacedSelector = selector;
41
41
  for (const extraItem of options === null || options === void 0 ? void 0 : options.allowExtra) {
42
- replacedSelector = replacedSelector.replace(extraItem, "").trim().replaceAll(/ /gi, " ");
42
+ replacedSelector = replacedSelector.replace(new RegExp(extraItem, 'g'), '').replace(new RegExp(' ', 'g'), ' ').trim();
43
43
  }
44
44
  actualWithoutExtra.push(replacedSelector);
45
45
  }
@@ -48,9 +48,25 @@ function compareHtml(actualHtml, expectedHtml, options) {
48
48
  else {
49
49
  actualWithoutExtra = actualSelectors;
50
50
  }
51
+ let expectedSelectorsWithoutMissing = [];
52
+ if ((options === null || options === void 0 ? void 0 : options.allowMissing) !== undefined) {
53
+ for (const selector of expectedSelectors) {
54
+ let replacedSelector = selector;
55
+ for (const missingItem of options === null || options === void 0 ? void 0 : options.allowMissing) {
56
+ replacedSelector = replacedSelector.replace(new RegExp(missingItem, 'g'), '').replace(new RegExp(' ', 'g'), ' ').trim();
57
+ }
58
+ expectedSelectorsWithoutMissing.push(replacedSelector);
59
+ }
60
+ expectedSelectorsWithoutMissing = [...new Set(expectedSelectorsWithoutMissing)];
61
+ }
62
+ else {
63
+ expectedSelectorsWithoutMissing = expectedSelectors;
64
+ }
51
65
  result.passed = actualWithoutExtra.filter((element) => expectedSelectors.includes(element));
52
- result.extra = actualSelectors.filter((element) => !expectedSelectors.includes(element));
66
+ result.extra = actualSelectors.filter((element) => !expectedSelectorsWithoutMissing.includes(element));
53
67
  result.missing = expectedSelectors.filter((element) => !actualWithoutExtra.includes(element));
68
+ result.actualSelectors = actualSelectors;
69
+ result.expectedSelectors = expectedSelectors;
54
70
  if ((options === null || options === void 0 ? void 0 : options.allowMissing) !== undefined) {
55
71
  for (const missingItem of options === null || options === void 0 ? void 0 : options.allowMissing) {
56
72
  result.missing = result.missing.filter((item) => !item.includes(missingItem));
@@ -1 +1 @@
1
- {"version":3,"file":"html-comparer.js","sourceRoot":"","sources":["../../src/rendering/html-comparer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-comparer.js","sourceRoot":"","sources":["../../src/rendering/html-comparer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-e2e",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "Kendo UI end-to-end test utilities.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",