@o3r/testing 12.5.0-prerelease.4 → 12.5.0-prerelease.41

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 (156) hide show
  1. package/core/angular/angular-materials/autocomplete-material.js +9 -20
  2. package/core/angular/angular-materials/autocomplete-material.js.map +1 -1
  3. package/core/angular/angular-materials/index.js +1 -1
  4. package/core/angular/angular-materials/select-material.js +42 -91
  5. package/core/angular/angular-materials/select-material.js.map +1 -1
  6. package/core/angular/angular-materials/slider-material.js +8 -11
  7. package/core/angular/angular-materials/slider-material.js.map +1 -1
  8. package/core/angular/component-fixture.js +68 -148
  9. package/core/angular/component-fixture.js.map +1 -1
  10. package/core/angular/element.js +44 -50
  11. package/core/angular/element.js.map +1 -1
  12. package/core/angular/elements/checkbox-element.js +12 -16
  13. package/core/angular/elements/checkbox-element.js.map +1 -1
  14. package/core/angular/elements/index.js +1 -1
  15. package/core/angular/elements/radio-element.js +12 -16
  16. package/core/angular/elements/radio-element.js.map +1 -1
  17. package/core/angular/elements/select-element.js +28 -49
  18. package/core/angular/elements/select-element.js.map +1 -1
  19. package/core/angular/elements/slider-element.js +38 -42
  20. package/core/angular/elements/slider-element.js.map +1 -1
  21. package/core/angular/group.js +9 -14
  22. package/core/angular/group.js.map +1 -1
  23. package/core/angular/groups/index.js +1 -1
  24. package/core/angular/groups/radio-group.js +25 -62
  25. package/core/angular/groups/radio-group.js.map +1 -1
  26. package/core/angular/index.js +1 -1
  27. package/core/angular/page-fixture.js +8 -11
  28. package/core/angular/page-fixture.js.map +1 -1
  29. package/core/angular-materials/autocomplete-material.js +8 -11
  30. package/core/angular-materials/autocomplete-material.js.map +1 -1
  31. package/core/angular-materials/index.js +1 -1
  32. package/core/angular-materials/select-material.js +12 -15
  33. package/core/angular-materials/select-material.js.map +1 -1
  34. package/core/angular-materials/slider-material.js +5 -8
  35. package/core/angular-materials/slider-material.js.map +1 -1
  36. package/core/component-fixture.js +28 -33
  37. package/core/component-fixture.js.map +1 -1
  38. package/core/element.js +24 -26
  39. package/core/element.js.map +1 -1
  40. package/core/elements/checkbox-element.js +12 -16
  41. package/core/elements/checkbox-element.js.map +1 -1
  42. package/core/elements/index.js +1 -1
  43. package/core/elements/radio-element.js +12 -16
  44. package/core/elements/radio-element.js.map +1 -1
  45. package/core/elements/select-element.js +10 -13
  46. package/core/elements/select-element.js.map +1 -1
  47. package/core/elements/slider-element.js +5 -8
  48. package/core/elements/slider-element.js.map +1 -1
  49. package/core/group.js +9 -15
  50. package/core/group.js.map +1 -1
  51. package/core/groups/index.js +1 -1
  52. package/core/groups/radio-group.js +8 -11
  53. package/core/groups/radio-group.js.map +1 -1
  54. package/core/helpers.js +11 -16
  55. package/core/helpers.js.map +1 -1
  56. package/core/index.js +1 -1
  57. package/core/page-fixture.js +8 -11
  58. package/core/page-fixture.js.map +1 -1
  59. package/core/playwright/angular-materials/autocomplete-material.js +26 -56
  60. package/core/playwright/angular-materials/autocomplete-material.js.map +1 -1
  61. package/core/playwright/angular-materials/index.js +1 -1
  62. package/core/playwright/angular-materials/select-material.js +48 -110
  63. package/core/playwright/angular-materials/select-material.js.map +1 -1
  64. package/core/playwright/angular-materials/slider-material.js +7 -10
  65. package/core/playwright/angular-materials/slider-material.js.map +1 -1
  66. package/core/playwright/component-fixture.js +88 -173
  67. package/core/playwright/component-fixture.js.map +1 -1
  68. package/core/playwright/element.js +38 -90
  69. package/core/playwright/element.js.map +1 -1
  70. package/core/playwright/elements/checkbox-element.js +49 -94
  71. package/core/playwright/elements/checkbox-element.js.map +1 -1
  72. package/core/playwright/elements/index.js +1 -1
  73. package/core/playwright/elements/radio-element.js +18 -34
  74. package/core/playwright/elements/radio-element.js.map +1 -1
  75. package/core/playwright/elements/select-element.js +14 -21
  76. package/core/playwright/elements/select-element.js.map +1 -1
  77. package/core/playwright/elements/slider-element.js +78 -157
  78. package/core/playwright/elements/slider-element.js.map +1 -1
  79. package/core/playwright/group.js +9 -14
  80. package/core/playwright/group.js.map +1 -1
  81. package/core/playwright/groups/index.js +1 -1
  82. package/core/playwright/groups/radio-group.js +27 -64
  83. package/core/playwright/groups/radio-group.js.map +1 -1
  84. package/core/playwright/index.js +1 -1
  85. package/core/playwright/page-fixture.js +8 -18
  86. package/core/playwright/page-fixture.js.map +1 -1
  87. package/core/protractor/angular-materials/autocomplete-material.js +12 -26
  88. package/core/protractor/angular-materials/autocomplete-material.js.map +1 -1
  89. package/core/protractor/angular-materials/index.js +1 -1
  90. package/core/protractor/angular-materials/select-material.js +45 -97
  91. package/core/protractor/angular-materials/select-material.js.map +1 -1
  92. package/core/protractor/component-fixture.js +89 -200
  93. package/core/protractor/component-fixture.js.map +1 -1
  94. package/core/protractor/element.js +46 -118
  95. package/core/protractor/element.js.map +1 -1
  96. package/core/protractor/elements/checkbox-element.js +18 -40
  97. package/core/protractor/elements/checkbox-element.js.map +1 -1
  98. package/core/protractor/elements/index.js +1 -1
  99. package/core/protractor/elements/radio-element.js +20 -42
  100. package/core/protractor/elements/radio-element.js.map +1 -1
  101. package/core/protractor/elements/select-element.js +16 -37
  102. package/core/protractor/elements/select-element.js.map +1 -1
  103. package/core/protractor/group.js +9 -14
  104. package/core/protractor/group.js.map +1 -1
  105. package/core/protractor/groups/index.js +1 -1
  106. package/core/protractor/groups/radio-group.js +29 -66
  107. package/core/protractor/groups/radio-group.js.map +1 -1
  108. package/core/protractor/index.js +1 -1
  109. package/core/protractor/page-fixture.js +9 -12
  110. package/core/protractor/page-fixture.js.map +1 -1
  111. package/core/protractor/utils.js +1 -1
  112. package/core/protractor/utils.js.map +1 -1
  113. package/errors/fixture-usage-error.js +5 -10
  114. package/errors/fixture-usage-error.js.map +1 -1
  115. package/errors/index.js +1 -1
  116. package/errors/transpilation-purpose-only.js +5 -10
  117. package/errors/transpilation-purpose-only.js.map +1 -1
  118. package/kassette/index.js +1 -1
  119. package/kassette/update-dates-in-mocks.js +66 -85
  120. package/kassette/update-dates-in-mocks.js.map +1 -1
  121. package/localization/index.js +1 -1
  122. package/localization/localization-mock.js +38 -60
  123. package/localization/localization-mock.js.map +1 -1
  124. package/mocks/index.js +1 -1
  125. package/mocks/mock-component-generator.js +54 -53
  126. package/mocks/mock-component-generator.js.map +1 -1
  127. package/package.json +25 -19
  128. package/public_api.js +1 -1
  129. package/schematics/ng-add/index.d.ts.map +1 -1
  130. package/schematics/ng-add/index.js +34 -27
  131. package/schematics/ng-add/index.js.map +1 -1
  132. package/schematics/ng-add/playwright/index.d.ts.map +1 -1
  133. package/schematics/ng-add/playwright/index.js +18 -15
  134. package/schematics/ng-add/playwright/index.js.map +1 -1
  135. package/store/index.js +1 -1
  136. package/store/testable-select.js +13 -13
  137. package/store/testable-select.js.map +1 -1
  138. package/tools/index.js +1 -1
  139. package/tools/path-replacement/index.js +1 -1
  140. package/tools/path-replacement/path-replacement.js +24 -19
  141. package/tools/path-replacement/path-replacement.js.map +1 -1
  142. package/tools/protractor/fetch-manager/index.js +1 -1
  143. package/tools/protractor/fetch-manager/utils.js +15 -51
  144. package/tools/protractor/fetch-manager/utils.js.map +1 -1
  145. package/tools/protractor/index.js +1 -1
  146. package/tools/protractor/post-message-interceptor/index.js +1 -1
  147. package/tools/protractor/post-message-interceptor/post-message-interceptor.js +30 -103
  148. package/tools/protractor/post-message-interceptor/post-message-interceptor.js.map +1 -1
  149. package/visual-test/index.js +1 -1
  150. package/visual-test/utils.js +18 -7
  151. package/visual-test/utils.js.map +1 -1
  152. package/visual-test/visual-test.js +29 -34
  153. package/visual-test/visual-test.js.map +1 -1
  154. package/visual-testing-reporter/index.d.ts.map +1 -1
  155. package/visual-testing-reporter/index.js +37 -40
  156. package/visual-testing-reporter/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/visual-testing-reporter/index.ts"],"names":[],"mappings":";;;;AAAA,6CAG0B;AAC1B,uCAGmB;AAyCnB;;GAEG;AACH;IAIE,yCAAY,OAAqC;QAC/C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;IAC/G,CAAC;IAED;;OAEG;IACI,uDAAa,GAApB;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACI,iDAAO,GAAd,UAAe,CAAa,EAAE,KAAY;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACU,+CAAK,GAAlB;;;;;;wBACQ,mBAAmB,GAAgC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI;4BAC1F,OAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;gCAC1B,OAAA,MAAM,CAAC,MAAM;qCACV,GAAG,CAAC,UAAC,KAAK,IAAK,OAAC,KAAa,CAAC,aAAa,EAA5B,CAA4B,CAAC;qCAC5C,MAAM,CAAC,UAAC,aAA4C;oCACnD,OAAA,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,MAAK,kBAAkB;2CACvC,OAAO,aAAa,CAAC,MAAM,KAAK,QAAQ;2CACxC,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ;2CAC1C,CAAC,aAAa,CAAC,IAAI;gCAHtB,CAGsB,CACvB;qCACA,GAAG,CAAC,UAAC,EAAoB;wCAAlB,MAAM,YAAA,EAAE,QAAQ,cAAA;oCAAO,OAAA,CAAC,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,CAA0B;gCAA/C,CAA+C,CAAC;4BARjF,CAQiF,CAClF;wBAVD,CAUC,CACF,CAAC;wBACF,qBAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAA;;wBAA1D,SAA0D,CAAC;wBAC3D,sBAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAC;;;;KACjF;IACH,sCAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,0EAA+B;AA4C5C,kBAAe,+BAA+B,CAAC","sourcesContent":["import {\n mkdir,\n writeFile,\n} from 'node:fs/promises';\nimport {\n dirname,\n join,\n} from 'node:path';\nimport type {\n MatcherReturnType,\n} from '@playwright/test';\nimport {\n type FullConfig,\n type Reporter,\n type Suite,\n} from '@playwright/test/reporter';\n\n/**\n * The screenshot information\n */\nexport interface ScreenshotInformation {\n /**\n * The path of the actual screenshot\n */\n actual: string;\n /**\n * The path of the expected screenshot\n */\n expected: string;\n}\n\n/**\n * The report of the visual testing campaign\n */\nexport type VisualTestingReporterReport = ScreenshotInformation[];\n\ntype ScreenshotMatcherReturnType = MatcherReturnType & ScreenshotInformation & {\n name: 'toHaveScreenshot';\n};\n\n/**\n * Configuration for the visual testing reporter\n */\nexport interface VisualTestingReporterOptions {\n /** The output file for the report */\n outputFile?: string;\n}\n\n/**\n * Playwright reporter for visual testing\n */\nexport class VisualTestingPlaywrightReporter implements Reporter {\n private suite!: Suite;\n private readonly outputFile: string;\n\n constructor(options: VisualTestingReporterOptions) {\n this.outputFile = options.outputFile || join(process.cwd(), 'playwright-reports/visual-testing/report.json');\n }\n\n /**\n * @inheritdoc\n */\n public printsToStdio() {\n return false;\n }\n\n /**\n * @inheritdoc\n */\n public onBegin(_: FullConfig, suite: Suite) {\n this.suite = suite;\n }\n\n /**\n * @inheritdoc\n */\n public async onEnd() {\n const screenshotsToUpdate: VisualTestingReporterReport = this.suite.allTests().flatMap((test) =>\n test.results.flatMap((result) =>\n result.errors\n .map((error) => (error as any).matcherResult)\n .filter((matcherResult: MatcherReturnType | undefined): matcherResult is ScreenshotMatcherReturnType =>\n matcherResult?.name === 'toHaveScreenshot'\n && typeof matcherResult.actual === 'string'\n && typeof matcherResult.expected === 'string'\n && !matcherResult.pass\n )\n .map(({ actual, expected }) => ({ actual, expected }) as ScreenshotInformation)\n )\n );\n await mkdir(dirname(this.outputFile), { recursive: true });\n return writeFile(this.outputFile, JSON.stringify(screenshotsToUpdate, null, 2));\n }\n}\n\nexport default VisualTestingPlaywrightReporter;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/visual-testing-reporter/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n mkdir,\n writeFile,\n} from 'node:fs/promises';\nimport {\n dirname,\n join,\n} from 'node:path';\nimport {\n type FullConfig,\n type Reporter,\n type Suite,\n} from '@playwright/test/reporter';\n\n/**\n * The screenshot information\n */\nexport interface ScreenshotInformation {\n /**\n * The path of the actual screenshot\n */\n actual: string;\n /**\n * The path of the expected screenshot\n */\n expected: string;\n}\n\n/**\n * The report of the visual testing campaign\n */\nexport type VisualTestingReporterReport = ScreenshotInformation[];\n\n/**\n * Configuration for the visual testing reporter\n */\nexport interface VisualTestingReporterOptions {\n /** The output file for the report */\n outputFile?: string;\n}\n\n/**\n * Playwright reporter for visual testing\n */\nexport class VisualTestingPlaywrightReporter implements Reporter {\n private suite!: Suite;\n private readonly outputFile: string;\n\n constructor(options: VisualTestingReporterOptions) {\n this.outputFile = options.outputFile || join(process.cwd(), 'playwright-reports/visual-testing/report.json');\n }\n\n /**\n * @inheritdoc\n */\n public printsToStdio() {\n return false;\n }\n\n /**\n * @inheritdoc\n */\n public onBegin(_: FullConfig, suite: Suite) {\n this.suite = suite;\n }\n\n /**\n * @inheritdoc\n */\n public async onEnd() {\n const fileNameExtractor = /snapshot:\\s*(?<browser>[\\w-]+)[\\\\/]+(?<filename>[\\w-]+)\\.(?<extension>\\w+)/i;\n const screenshotsToUpdate: VisualTestingReporterReport = this.suite.allTests().flatMap((test) =>\n test.results.flatMap((result) =>\n result.errors\n .reduce((acc, error: any) => {\n if (error.matcherResult?.name === 'toHaveScreenshot'\n && typeof error.matcherResult.actual === 'string'\n && typeof error.matcherResult.expected === 'string'\n && !error.matcherResult.pass) {\n // Playwright <= 1.51\n acc.push({ actual: error.matcherResult.actual, expected: error.matcherResult.expected });\n } else if (fileNameExtractor.test(error.message)) {\n // Playwright > 1.51\n const { filename, extension } = fileNameExtractor.exec(error.message)!.groups as RegExpExecArray['groups'] & { filename: string; extension: string };\n if (filename && extension) {\n const attachmentMatcherActual = new RegExp(`[\\\\\\\\/]${filename}-actual.${extension}`);\n const attachmentMatcherExpected = new RegExp(`[\\\\\\\\/]${filename}-expected.${extension}`);\n const actual = result.attachments.find((attachment) => attachmentMatcherActual.test(attachment.name));\n const expected = result.attachments.find((attachment) => attachmentMatcherExpected.test(attachment.name));\n if (actual?.path && expected?.path) {\n acc.push({ actual: actual.path, expected: expected.path });\n }\n }\n }\n return acc;\n }, [] as ScreenshotInformation[])\n )\n );\n await mkdir(dirname(this.outputFile), { recursive: true });\n return writeFile(this.outputFile, JSON.stringify(screenshotsToUpdate, null, 2));\n }\n}\n\nexport default VisualTestingPlaywrightReporter;\n"]}