@skbkontur/playwright-react-ui-components 1.18.0 → 1.19.0-beta.1

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 (83) hide show
  1. package/build/src/assertions/ComponentListAssertions.d.ts +6 -1
  2. package/build/src/assertions/ComponentListAssertions.js +60 -0
  3. package/build/src/assertions/FileUploaderAssertions.d.ts +2 -4
  4. package/build/src/assertions/PagingAssertions.d.ts +2 -2
  5. package/build/src/assertions/TabsAssertions.d.ts +5 -3
  6. package/build/src/assertions/TabsAssertions.js +36 -0
  7. package/build/src/assertions/TokenInputAssertions.d.ts +5 -4
  8. package/build/src/assertions/TokenInputAssertions.js +36 -0
  9. package/build/src/components/Autocomplete.js +3 -3
  10. package/build/src/components/BaseComponent.js +3 -3
  11. package/build/src/components/Button.d.ts +2 -1
  12. package/build/src/components/Button.js +35 -1
  13. package/build/src/components/Checkbox.js +1 -1
  14. package/build/src/components/ComboBox.d.ts +7 -3
  15. package/build/src/components/ComboBox.js +21 -19
  16. package/build/src/components/ComponentList.d.ts +5 -2
  17. package/build/src/components/ComponentList.js +38 -32
  18. package/build/src/components/CurrencyInput.js +5 -5
  19. package/build/src/components/DateInput.js +4 -4
  20. package/build/src/components/DatePicker.js +5 -5
  21. package/build/src/components/Dropdown.d.ts +9 -3
  22. package/build/src/components/Dropdown.js +22 -32
  23. package/build/src/components/DropdownMenu.d.ts +12 -3
  24. package/build/src/components/DropdownMenu.js +24 -34
  25. package/build/src/components/FileUploader.js +6 -19
  26. package/build/src/components/FxInput.js +4 -4
  27. package/build/src/components/Input.js +3 -3
  28. package/build/src/components/Kebab.d.ts +12 -4
  29. package/build/src/components/Kebab.js +16 -16
  30. package/build/src/components/Link.js +1 -1
  31. package/build/src/components/MenuComponent.d.ts +3 -1
  32. package/build/src/components/Paging.d.ts +4 -4
  33. package/build/src/components/Paging.js +22 -24
  34. package/build/src/components/Portal.d.ts +3 -1
  35. package/build/src/components/Portal.js +5 -5
  36. package/build/src/components/Radio.js +1 -1
  37. package/build/src/components/RadioGroup.d.ts +6 -5
  38. package/build/src/components/RadioGroup.js +12 -36
  39. package/build/src/components/Select.d.ts +9 -3
  40. package/build/src/components/Select.js +21 -21
  41. package/build/src/components/Tab.js +1 -1
  42. package/build/src/components/Tabs.d.ts +3 -3
  43. package/build/src/components/Tabs.js +3 -38
  44. package/build/src/components/Textarea.js +3 -3
  45. package/build/src/components/Toggle.js +1 -1
  46. package/build/src/components/Token.d.ts +1 -1
  47. package/build/src/components/Token.js +2 -2
  48. package/build/src/components/TokenInput.d.ts +5 -3
  49. package/build/src/components/TokenInput.js +27 -39
  50. package/build/src/components/Tooltip.d.ts +3 -1
  51. package/build/src/components/Tooltip.js +3 -3
  52. package/build/src/matchers/component/toBeCheckedByIndex.js +9 -10
  53. package/build/src/matchers/component/toBeCheckedByText.js +9 -10
  54. package/build/src/matchers/component/toBeUncheckedByIndex.js +9 -10
  55. package/build/src/matchers/component/toBeUncheckedByText.js +3 -4
  56. package/build/src/matchers/component/toContainFormattedText.js +2 -3
  57. package/build/src/matchers/component/toContainItem.d.ts +1 -2
  58. package/build/src/matchers/component/toContainItem.js +30 -32
  59. package/build/src/matchers/component/toContainTab.d.ts +3 -0
  60. package/build/src/matchers/component/toContainTab.js +59 -0
  61. package/build/src/matchers/component/toContainTabs.d.ts +1 -1
  62. package/build/src/matchers/component/toContainTabs.js +2 -20
  63. package/build/src/matchers/component/toContainToken.d.ts +3 -0
  64. package/build/src/matchers/component/toContainToken.js +59 -0
  65. package/build/src/matchers/component/toContainTokens.d.ts +2 -2
  66. package/build/src/matchers/component/toContainTokens.js +2 -20
  67. package/build/src/matchers/component/toContainUploadedFiles.d.ts +2 -3
  68. package/build/src/matchers/component/toContainUploadedFiles.js +2 -15
  69. package/build/src/matchers/component/toHaveActivePage.d.ts +2 -2
  70. package/build/src/matchers/component/toHaveActivePage.js +5 -21
  71. package/build/src/matchers/component/toHaveActiveTab.js +9 -10
  72. package/build/src/matchers/component/toHaveFormattedText.js +2 -3
  73. package/build/src/matchers/component/toHaveFormattedValue.js +2 -3
  74. package/build/src/matchers/component/toHaveItemsByPredicate.d.ts +3 -0
  75. package/build/src/matchers/component/toHaveItemsByPredicate.js +64 -0
  76. package/build/src/matchers/component/toHaveTabs.d.ts +3 -0
  77. package/build/src/matchers/component/toHaveTabs.js +62 -0
  78. package/build/src/matchers/component/toHaveTokens.d.ts +3 -0
  79. package/build/src/matchers/component/toHaveTokens.js +62 -0
  80. package/build/src/matchers/componentMatchers.d.ts +14 -8
  81. package/build/src/matchers/componentMatchers.js +10 -0
  82. package/build/src/options/LocatorOptions.d.ts +39 -0
  83. package/package.json +1 -1
@@ -44,19 +44,18 @@ exports.toBeCheckedByIndex = (0, createAsyncMatcher_1.createComponentAsyncMatche
44
44
  var isNot = _b.isNot, component = _b.component;
45
45
  return __generator(this, function (_c) {
46
46
  switch (_c.label) {
47
- case 0: return [4 /*yield*/, component.getByIndex(index)];
48
- case 1:
49
- radio = _c.sent();
50
- if (!isNot) return [3 /*break*/, 3];
47
+ case 0:
48
+ radio = component.getByIndex(index);
49
+ if (!isNot) return [3 /*break*/, 2];
51
50
  return [4 /*yield*/, (0, extensions_1.expect)(radio).not.toBeChecked(options)];
52
- case 2:
51
+ case 1:
53
52
  _c.sent();
54
- return [3 /*break*/, 5];
55
- case 3: return [4 /*yield*/, (0, extensions_1.expect)(radio).toBeChecked(options)];
56
- case 4:
53
+ return [3 /*break*/, 4];
54
+ case 2: return [4 /*yield*/, (0, extensions_1.expect)(radio).toBeChecked(options)];
55
+ case 3:
57
56
  _c.sent();
58
- _c.label = 5;
59
- case 5: return [2 /*return*/];
57
+ _c.label = 4;
58
+ case 4: return [2 /*return*/];
60
59
  }
61
60
  });
62
61
  }); });
@@ -44,19 +44,18 @@ exports.toBeCheckedByText = (0, createAsyncMatcher_1.createComponentAsyncMatcher
44
44
  var isNot = _b.isNot, component = _b.component;
45
45
  return __generator(this, function (_c) {
46
46
  switch (_c.label) {
47
- case 0: return [4 /*yield*/, component.getByText(text)];
48
- case 1:
49
- radio = _c.sent();
50
- if (!isNot) return [3 /*break*/, 3];
47
+ case 0:
48
+ radio = component.getByText(text);
49
+ if (!isNot) return [3 /*break*/, 2];
51
50
  return [4 /*yield*/, (0, extensions_1.expect)(radio).not.toBeChecked(options)];
52
- case 2:
51
+ case 1:
53
52
  _c.sent();
54
- return [3 /*break*/, 5];
55
- case 3: return [4 /*yield*/, (0, extensions_1.expect)(radio).toBeChecked(options)];
56
- case 4:
53
+ return [3 /*break*/, 4];
54
+ case 2: return [4 /*yield*/, (0, extensions_1.expect)(radio).toBeChecked(options)];
55
+ case 3:
57
56
  _c.sent();
58
- _c.label = 5;
59
- case 5: return [2 /*return*/];
57
+ _c.label = 4;
58
+ case 4: return [2 /*return*/];
60
59
  }
61
60
  });
62
61
  }); });
@@ -44,19 +44,18 @@ exports.toBeUncheckedByIndex = (0, createAsyncMatcher_1.createComponentAsyncMatc
44
44
  var isNot = _b.isNot, component = _b.component;
45
45
  return __generator(this, function (_c) {
46
46
  switch (_c.label) {
47
- case 0: return [4 /*yield*/, component.getByIndex(index)];
48
- case 1:
49
- radio = _c.sent();
50
- if (!isNot) return [3 /*break*/, 3];
47
+ case 0:
48
+ radio = component.getByIndex(index);
49
+ if (!isNot) return [3 /*break*/, 2];
51
50
  return [4 /*yield*/, (0, extensions_1.expect)(radio).not.toBeUnchecked(options)];
52
- case 2:
51
+ case 1:
53
52
  _c.sent();
54
- return [3 /*break*/, 5];
55
- case 3: return [4 /*yield*/, (0, extensions_1.expect)(radio).toBeUnchecked(options)];
56
- case 4:
53
+ return [3 /*break*/, 4];
54
+ case 2: return [4 /*yield*/, (0, extensions_1.expect)(radio).toBeUnchecked(options)];
55
+ case 3:
57
56
  _c.sent();
58
- _c.label = 5;
59
- case 5: return [2 /*return*/];
57
+ _c.label = 4;
58
+ case 4: return [2 /*return*/];
60
59
  }
61
60
  });
62
61
  }); });
@@ -44,12 +44,11 @@ exports.toBeUncheckedByText = (0, createAsyncMatcher_1.createComponentAsyncMatch
44
44
  var isNot = _b.isNot, component = _b.component;
45
45
  return __generator(this, function (_c) {
46
46
  switch (_c.label) {
47
- case 0: return [4 /*yield*/, component.getByText(text)];
48
- case 1:
49
- radio = _c.sent();
47
+ case 0:
48
+ radio = component.getByText(text);
50
49
  expectation = isNot ? (0, extensions_1.expect)(radio).not : (0, extensions_1.expect)(radio);
51
50
  return [4 /*yield*/, expectation.toBeUnchecked(options)];
52
- case 2:
51
+ case 1:
53
52
  _c.sent();
54
53
  return [2 /*return*/];
55
54
  }
@@ -44,14 +44,13 @@ var removeSpaces_1 = require("../../utils/removeSpaces");
44
44
  exports.toContainFormattedText = (0, createAsyncMatcher_1.createSymbolMatcher)('toContainFormattedText', LocatorSymbols_1.toTextElementLocator, function (_a, expected_1, options_1) { return __awaiter(void 0, [_a, expected_1, options_1], void 0, function (_b, expected, options) {
45
45
  function pollAndTransform() {
46
46
  return __awaiter(this, void 0, void 0, function () {
47
- var value, transformedValue;
47
+ var value;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
50
  case 0: return [4 /*yield*/, locator.textContent()];
51
51
  case 1:
52
52
  value = _a.sent();
53
- transformedValue = value ? transform(value) : value;
54
- return [2 /*return*/, transformedValue];
53
+ return [2 /*return*/, value ? transform(value) : value];
55
54
  }
56
55
  });
57
56
  });
@@ -1,4 +1,3 @@
1
- import type { MenuComponent } from '../../components';
2
1
  import type { TextOptions } from '../../options';
3
2
  import { type ToContainItemElementLocator } from './LocatorSymbols';
4
- export declare const toContainItem: (this: import("@playwright/test").ExpectMatcherState, component: MenuComponent & ToContainItemElementLocator, args_0: string, args_1?: TextOptions | undefined) => Promise<import("@playwright/test").MatcherReturnType>;
3
+ export declare const toContainItem: (this: import("playwright/test").ExpectMatcherState, component: ToContainItemElementLocator, args_0: string, args_1?: TextOptions | undefined) => Promise<import("playwright/test").MatcherReturnType>;
@@ -37,43 +37,41 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.toContainItem = void 0;
40
- var test_1 = require("@playwright/test");
40
+ var extensions_1 = require("../../extensions");
41
+ var components_1 = require("../../components");
41
42
  var LocatorSymbols_1 = require("./LocatorSymbols");
42
43
  var createAsyncMatcher_1 = require("../createAsyncMatcher");
43
44
  exports.toContainItem = (0, createAsyncMatcher_1.createSymbolMatcher)('toContainItem', LocatorSymbols_1.toContainItemElementLocator, function (_a, itemText_1, options_1) { return __awaiter(void 0, [_a, itemText_1, options_1], void 0, function (_b, itemText, options) {
44
- var expectation;
45
- var isNot = _b.isNot, component = _b.component;
46
- return __generator(this, function (_c) {
47
- switch (_c.label) {
45
+ var _c, menus, expectation;
46
+ var isNot = _b.isNot, component = _b.component, locator = _b.locator;
47
+ return __generator(this, function (_d) {
48
+ switch (_d.label) {
48
49
  case 0:
49
- expectation = test_1.expect.poll(function () { return __awaiter(void 0, void 0, void 0, function () {
50
- var menus, _a, _b;
51
- return __generator(this, function (_c) {
52
- switch (_c.label) {
53
- case 0: return [4 /*yield*/, component.getMenuItems()];
54
- case 1:
55
- menus = _c.sent();
56
- _b = (_a = Promise).all;
57
- return [4 /*yield*/, menus.getItems()];
58
- case 2: return [2 /*return*/, _b.apply(_a, [(_c.sent()).map(function (x) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0: return [4 /*yield*/, x.getText()];
61
- case 1: return [2 /*return*/, _a.sent()];
62
- }
63
- }); }); })])];
64
- }
65
- });
66
- }); }, options);
67
- if (!isNot) return [3 /*break*/, 2];
68
- return [4 /*yield*/, expectation.not.toContain(itemText)];
69
- case 1:
70
- _c.sent();
71
- return [3 /*break*/, 4];
72
- case 2: return [4 /*yield*/, expectation.toContain(itemText)];
50
+ _c = true;
51
+ switch (_c) {
52
+ case component instanceof components_1.MenuComponent: return [3 /*break*/, 1];
53
+ }
54
+ return [3 /*break*/, 7];
55
+ case 1: return [4 /*yield*/, component.getMenuItems()];
56
+ case 2:
57
+ menus = _d.sent();
58
+ if (!isNot) return [3 /*break*/, 4];
59
+ return [4 /*yield*/, (0, extensions_1.expect)(menus.itemsLocator).not.toContainText([itemText], options)];
73
60
  case 3:
74
- _c.sent();
75
- _c.label = 4;
76
- case 4: return [2 /*return*/];
61
+ _d.sent();
62
+ return [3 /*break*/, 6];
63
+ case 4: return [4 /*yield*/, (0, extensions_1.expect)(menus.itemsLocator).toContainText([itemText], options)];
64
+ case 5:
65
+ _d.sent();
66
+ _d.label = 6;
67
+ case 6: return [3 /*break*/, 9];
68
+ case 7:
69
+ expectation = isNot ? (0, extensions_1.expect)(locator).not : (0, extensions_1.expect)(locator);
70
+ return [4 /*yield*/, expectation.toContainText([itemText], options)];
71
+ case 8:
72
+ _d.sent();
73
+ return [3 /*break*/, 9];
74
+ case 9: return [2 /*return*/];
77
75
  }
78
76
  });
79
77
  }); });
@@ -0,0 +1,3 @@
1
+ import type { Tabs } from '../../components';
2
+ import type { TextOptions } from '../../options';
3
+ export declare const toContainTab: (this: import("playwright/test").ExpectMatcherState, component: Tabs, args_0: string, args_1?: TextOptions | undefined) => Promise<import("playwright/test").MatcherReturnType>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.toContainTab = void 0;
40
+ var extensions_1 = require("../../extensions");
41
+ var createAsyncMatcher_1 = require("../createAsyncMatcher");
42
+ exports.toContainTab = (0, createAsyncMatcher_1.createComponentAsyncMatcher)('toContainTab', function (component) { return component.list.itemsLocator; }, function (_a, value_1, options_1) { return __awaiter(void 0, [_a, value_1, options_1], void 0, function (_b, value, options) {
43
+ var isNot = _b.isNot, component = _b.component;
44
+ return __generator(this, function (_c) {
45
+ switch (_c.label) {
46
+ case 0:
47
+ if (!isNot) return [3 /*break*/, 2];
48
+ return [4 /*yield*/, (0, extensions_1.expect)(component.list).not.toContainItem(value, options)];
49
+ case 1:
50
+ _c.sent();
51
+ return [3 /*break*/, 4];
52
+ case 2: return [4 /*yield*/, (0, extensions_1.expect)(component.list).toContainItem(value, options)];
53
+ case 3:
54
+ _c.sent();
55
+ _c.label = 4;
56
+ case 4: return [2 /*return*/];
57
+ }
58
+ });
59
+ }); });
@@ -1,3 +1,3 @@
1
1
  import type { Tabs } from '../../components';
2
2
  import type { TextOptions } from '../../options';
3
- export declare const toContainTabs: (this: import("@playwright/test").ExpectMatcherState, component: Tabs, args_0: string[], args_1?: TextOptions | undefined) => Promise<import("@playwright/test").MatcherReturnType>;
3
+ export declare const toContainTabs: (this: import("playwright/test").ExpectMatcherState, component: Tabs, args_0: string[], args_1?: TextOptions | undefined) => Promise<import("playwright/test").MatcherReturnType>;
@@ -37,10 +37,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.toContainTabs = void 0;
40
- var test_1 = require("@playwright/test");
41
40
  var createAsyncMatcher_1 = require("../createAsyncMatcher");
41
+ var extensions_1 = require("../../extensions");
42
42
  exports.toContainTabs = (0, createAsyncMatcher_1.createComponentAsyncMatcher)('toContainTabs', function (component) { return component.rootLocator; }, function (_a, expectedTabs_1, options_1) { return __awaiter(void 0, [_a, expectedTabs_1, options_1], void 0, function (_b, expectedTabs, options) {
43
- var expectation;
44
43
  var isNot = _b.isNot, component = _b.component;
45
44
  return __generator(this, function (_c) {
46
45
  switch (_c.label) {
@@ -54,24 +53,7 @@ exports.toContainTabs = (0, createAsyncMatcher_1.createComponentAsyncMatcher)('t
54
53
  */
55
54
  throw new Error('not implemented toContainTabs not assertion');
56
55
  }
57
- expectation = test_1.expect.poll(function () { return __awaiter(void 0, void 0, void 0, function () {
58
- var tokens;
59
- return __generator(this, function (_a) {
60
- switch (_a.label) {
61
- case 0: return [4 /*yield*/, component.list.getItems()];
62
- case 1:
63
- tokens = _a.sent();
64
- return [4 /*yield*/, Promise.all(tokens.map(function (x) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
65
- switch (_a.label) {
66
- case 0: return [4 /*yield*/, x.getText()];
67
- case 1: return [2 /*return*/, _a.sent()];
68
- }
69
- }); }); }))];
70
- case 2: return [2 /*return*/, _a.sent()];
71
- }
72
- });
73
- }); }, options);
74
- return [4 /*yield*/, expectation.toEqual(test_1.expect.arrayContaining(expectedTabs))];
56
+ return [4 /*yield*/, (0, extensions_1.expect)(component.list).toContainItems(expectedTabs, options)];
75
57
  case 1:
76
58
  _c.sent();
77
59
  return [2 /*return*/];
@@ -0,0 +1,3 @@
1
+ import type { TextOptions } from '../../options';
2
+ import type { TokenInput } from '../../components';
3
+ export declare const toContainToken: (this: import("playwright/test").ExpectMatcherState, component: TokenInput, args_0: string, args_1?: TextOptions | undefined) => Promise<import("playwright/test").MatcherReturnType>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.toContainToken = void 0;
40
+ var extensions_1 = require("../../extensions");
41
+ var createAsyncMatcher_1 = require("../createAsyncMatcher");
42
+ exports.toContainToken = (0, createAsyncMatcher_1.createComponentAsyncMatcher)('toContainToken', function (component) { return component.tokens.itemsLocator; }, function (_a, value_1, options_1) { return __awaiter(void 0, [_a, value_1, options_1], void 0, function (_b, value, options) {
43
+ var isNot = _b.isNot, component = _b.component;
44
+ return __generator(this, function (_c) {
45
+ switch (_c.label) {
46
+ case 0:
47
+ if (!isNot) return [3 /*break*/, 2];
48
+ return [4 /*yield*/, (0, extensions_1.expect)(component.tokens).not.toContainItem(value, options)];
49
+ case 1:
50
+ _c.sent();
51
+ return [3 /*break*/, 4];
52
+ case 2: return [4 /*yield*/, (0, extensions_1.expect)(component.tokens).toContainItem(value, options)];
53
+ case 3:
54
+ _c.sent();
55
+ _c.label = 4;
56
+ case 4: return [2 /*return*/];
57
+ }
58
+ });
59
+ }); });
@@ -1,4 +1,4 @@
1
1
  import type { TokenInput } from '../../components';
2
- export declare const toContainTokens: (this: import("@playwright/test").ExpectMatcherState, component: TokenInput, args_0: string[], args_1?: {
2
+ export declare const toContainTokens: (this: import("playwright/test").ExpectMatcherState, component: TokenInput, args_0: string[], args_1?: {
3
3
  timeout?: number;
4
- } | undefined) => Promise<import("@playwright/test").MatcherReturnType>;
4
+ } | undefined) => Promise<import("playwright/test").MatcherReturnType>;
@@ -37,10 +37,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.toContainTokens = void 0;
40
- var test_1 = require("@playwright/test");
41
40
  var createAsyncMatcher_1 = require("../createAsyncMatcher");
41
+ var extensions_1 = require("../../extensions");
42
42
  exports.toContainTokens = (0, createAsyncMatcher_1.createComponentAsyncMatcher)('toContainTokens', function (component) { return component.rootLocator; }, function (_a, expectedTokens_1, options_1) { return __awaiter(void 0, [_a, expectedTokens_1, options_1], void 0, function (_b, expectedTokens, options) {
43
- var expectation;
44
43
  var isNot = _b.isNot, component = _b.component;
45
44
  return __generator(this, function (_c) {
46
45
  switch (_c.label) {
@@ -54,24 +53,7 @@ exports.toContainTokens = (0, createAsyncMatcher_1.createComponentAsyncMatcher)(
54
53
  */
55
54
  throw new Error('not implemented toContainTokens not assertion');
56
55
  }
57
- expectation = test_1.expect.poll(function () { return __awaiter(void 0, void 0, void 0, function () {
58
- var tokens;
59
- return __generator(this, function (_a) {
60
- switch (_a.label) {
61
- case 0: return [4 /*yield*/, component.tokens.getItems()];
62
- case 1:
63
- tokens = _a.sent();
64
- return [4 /*yield*/, Promise.all(tokens.map(function (x) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
65
- switch (_a.label) {
66
- case 0: return [4 /*yield*/, x.getText()];
67
- case 1: return [2 /*return*/, _a.sent()];
68
- }
69
- }); }); }))];
70
- case 2: return [2 /*return*/, _a.sent()];
71
- }
72
- });
73
- }); }, options);
74
- return [4 /*yield*/, expectation.toEqual(test_1.expect.arrayContaining(expectedTokens))];
56
+ return [4 /*yield*/, (0, extensions_1.expect)(component.tokens).toContainItems(expectedTokens, options)];
75
57
  case 1:
76
58
  _c.sent();
77
59
  return [2 /*return*/];
@@ -1,4 +1,3 @@
1
1
  import type { FileUploader } from '../../components';
2
- export declare const toContainUploadedFiles: (this: import("@playwright/test").ExpectMatcherState, component: FileUploader, args_0: string[], args_1?: {
3
- timeout?: number;
4
- } | undefined) => Promise<import("@playwright/test").MatcherReturnType>;
2
+ import type { TextOptions } from '../../options';
3
+ export declare const toContainUploadedFiles: (this: import("playwright/test").ExpectMatcherState, component: FileUploader, args_0: string[], args_1?: TextOptions | undefined) => Promise<import("playwright/test").MatcherReturnType>;
@@ -37,10 +37,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.toContainUploadedFiles = void 0;
40
- var test_1 = require("@playwright/test");
40
+ var extensions_1 = require("../../extensions");
41
41
  var createAsyncMatcher_1 = require("../createAsyncMatcher");
42
42
  exports.toContainUploadedFiles = (0, createAsyncMatcher_1.createComponentAsyncMatcher)('toContainUploadedFiles', function (component) { return component.files.itemsLocator; }, function (_a, expectedFiles_1, options_1) { return __awaiter(void 0, [_a, expectedFiles_1, options_1], void 0, function (_b, expectedFiles, options) {
43
- var expectedLower, expectation;
44
43
  var isNot = _b.isNot, component = _b.component;
45
44
  return __generator(this, function (_c) {
46
45
  switch (_c.label) {
@@ -54,19 +53,7 @@ exports.toContainUploadedFiles = (0, createAsyncMatcher_1.createComponentAsyncMa
54
53
  */
55
54
  throw new Error('not implemented toContainUploadedFiles not assertion');
56
55
  }
57
- expectedLower = expectedFiles.map(function (name) { return name.toLowerCase(); });
58
- expectation = test_1.expect.poll(function () { return __awaiter(void 0, void 0, void 0, function () {
59
- var names;
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0: return [4 /*yield*/, component.getUploadedFileNames()];
63
- case 1:
64
- names = _a.sent();
65
- return [2 /*return*/, names.map(function (name) { return name.toLowerCase(); })];
66
- }
67
- });
68
- }); }, options);
69
- return [4 /*yield*/, expectation.toEqual(test_1.expect.arrayContaining(expectedLower))];
56
+ return [4 /*yield*/, (0, extensions_1.expect)(component.files).toContainItems(expectedFiles, options)];
70
57
  case 1:
71
58
  _c.sent();
72
59
  return [2 /*return*/];
@@ -1,4 +1,4 @@
1
1
  import type { Paging } from '../../components';
2
- export declare const toHaveActivePage: (this: import("@playwright/test").ExpectMatcherState, component: Paging, args_0: number, args_1?: {
2
+ export declare const toHaveActivePage: (this: import("playwright/test").ExpectMatcherState, component: Paging, args_0: number, args_1?: {
3
3
  timeout?: number;
4
- } | undefined) => Promise<import("@playwright/test").MatcherReturnType>;
4
+ } | undefined) => Promise<import("playwright/test").MatcherReturnType>;
@@ -37,38 +37,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.toHaveActivePage = void 0;
40
- var test_1 = require("@playwright/test");
40
+ var extensions_1 = require("../../extensions");
41
41
  var utils_1 = require("../../utils");
42
42
  var createAsyncMatcher_1 = require("../createAsyncMatcher");
43
43
  exports.toHaveActivePage = (0, createAsyncMatcher_1.createComponentAsyncMatcher)('toHaveActivePage', function (component) { return component.rootLocator; }, function (_a, expectedPageNumber_1, options_1) { return __awaiter(void 0, [_a, expectedPageNumber_1, options_1], void 0, function (_b, expectedPageNumber, options) {
44
- var expectation;
44
+ var page;
45
45
  var isNot = _b.isNot, component = _b.component;
46
46
  return __generator(this, function (_c) {
47
47
  switch (_c.label) {
48
48
  case 0:
49
- expectation = test_1.expect.poll(function () { return __awaiter(void 0, void 0, void 0, function () {
50
- var pageItem;
51
- return __generator(this, function (_a) {
52
- switch (_a.label) {
53
- case 0: return [4 /*yield*/, component.pages.getFirstItemByPredicate(function (x) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0: return [4 /*yield*/, x.hasAttribute(utils_1.DataVisualState.Active)];
56
- case 1: return [2 /*return*/, _a.sent()];
57
- }
58
- }); }); })];
59
- case 1:
60
- pageItem = _a.sent();
61
- return [4 /*yield*/, pageItem.getNumber()];
62
- case 2: return [2 /*return*/, _a.sent()];
63
- }
64
- });
65
- }); }, options);
49
+ page = component.pages.filter({ hasText: expectedPageNumber.toString() }).getFirstItem();
66
50
  if (!isNot) return [3 /*break*/, 2];
67
- return [4 /*yield*/, expectation.not.toEqual(expectedPageNumber)];
51
+ return [4 /*yield*/, (0, extensions_1.expect)(page).not.toHaveAttribute(utils_1.DataVisualState.Active, undefined, options)];
68
52
  case 1:
69
53
  _c.sent();
70
54
  return [3 /*break*/, 4];
71
- case 2: return [4 /*yield*/, expectation.toEqual(expectedPageNumber)];
55
+ case 2: return [4 /*yield*/, (0, extensions_1.expect)(page).toHaveAttribute(utils_1.DataVisualState.Active, undefined, options)];
72
56
  case 3:
73
57
  _c.sent();
74
58
  _c.label = 4;
@@ -44,19 +44,18 @@ exports.toHaveActiveTab = (0, createAsyncMatcher_1.createComponentAsyncMatcher)(
44
44
  var isNot = _b.isNot, component = _b.component;
45
45
  return __generator(this, function (_c) {
46
46
  switch (_c.label) {
47
- case 0: return [4 /*yield*/, component.getByName(expectedTabText)];
48
- case 1:
49
- tab = _c.sent();
50
- if (!isNot) return [3 /*break*/, 3];
47
+ case 0:
48
+ tab = component.getByName(expectedTabText);
49
+ if (!isNot) return [3 /*break*/, 2];
51
50
  return [4 /*yield*/, (0, extensions_1.expect)(tab).toBeInactiveTab()];
52
- case 2:
51
+ case 1:
53
52
  _c.sent();
54
- return [3 /*break*/, 5];
55
- case 3: return [4 /*yield*/, (0, extensions_1.expect)(tab).toBeActiveTab()];
56
- case 4:
53
+ return [3 /*break*/, 4];
54
+ case 2: return [4 /*yield*/, (0, extensions_1.expect)(tab).toBeActiveTab()];
55
+ case 3:
57
56
  _c.sent();
58
- _c.label = 5;
59
- case 5: return [2 /*return*/];
57
+ _c.label = 4;
58
+ case 4: return [2 /*return*/];
60
59
  }
61
60
  });
62
61
  }); });
@@ -44,14 +44,13 @@ var removeSpaces_1 = require("../../utils/removeSpaces");
44
44
  exports.toHaveFormattedText = (0, createAsyncMatcher_1.createSymbolMatcher)('toHaveFormattedText', LocatorSymbols_1.toTextElementLocator, function (_a, expected_1, options_1) { return __awaiter(void 0, [_a, expected_1, options_1], void 0, function (_b, expected, options) {
45
45
  function pollAndTransform() {
46
46
  return __awaiter(this, void 0, void 0, function () {
47
- var value, transformedValue;
47
+ var value;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
50
  case 0: return [4 /*yield*/, locator.textContent()];
51
51
  case 1:
52
52
  value = _a.sent();
53
- transformedValue = value ? transform(value) : value;
54
- return [2 /*return*/, transformedValue];
53
+ return [2 /*return*/, value ? transform(value) : value];
55
54
  }
56
55
  });
57
56
  });
@@ -44,14 +44,13 @@ var removeSpaces_1 = require("../../utils/removeSpaces");
44
44
  exports.toHaveFormattedValue = (0, createAsyncMatcher_1.createSymbolMatcher)('toHaveFormattedValue', LocatorSymbols_1.toValueElementLocator, function (_a, expected_1, options_1) { return __awaiter(void 0, [_a, expected_1, options_1], void 0, function (_b, expected, options) {
45
45
  function pollAndTransform() {
46
46
  return __awaiter(this, void 0, void 0, function () {
47
- var value, transformedValue;
47
+ var value;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
50
  case 0: return [4 /*yield*/, locator.inputValue()];
51
51
  case 1:
52
52
  value = _a.sent();
53
- transformedValue = value ? transform(value) : value;
54
- return [2 /*return*/, transformedValue];
53
+ return [2 /*return*/, value ? transform(value) : value];
55
54
  }
56
55
  });
57
56
  });
@@ -0,0 +1,3 @@
1
+ import type { BaseComponent, ComponentList } from '../../components';
2
+ import type { TextOptions } from '../../options';
3
+ export declare const toHaveItemsByPredicate: (this: import("playwright/test").ExpectMatcherState, component: ComponentList<any>, args_0: string[], args_1: (item: any) => BaseComponent, args_2?: TextOptions | undefined) => Promise<import("playwright/test").MatcherReturnType>;