@qoretechnologies/reqore 0.78.9 → 0.78.10-pr.722.g1a95b75
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/dist/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.js +7 -3
- package/dist/components/Breadcrumbs/index.js.map +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +17 -6
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +19 -13
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/Columns/index.d.ts +7 -0
- package/dist/components/Columns/index.d.ts.map +1 -1
- package/dist/components/Columns/index.js +14 -2
- package/dist/components/Columns/index.js.map +1 -1
- package/dist/components/ControlGroup/index.d.ts.map +1 -1
- package/dist/components/ControlGroup/index.js +23 -15
- package/dist/components/ControlGroup/index.js.map +1 -1
- package/dist/components/DataView/helpers.d.ts.map +1 -1
- package/dist/components/DataView/helpers.js +4 -0
- package/dist/components/DataView/helpers.js.map +1 -1
- package/dist/components/DataView/index.d.ts.map +1 -1
- package/dist/components/DataView/index.js +2 -2
- package/dist/components/DataView/index.js.map +1 -1
- package/dist/components/DatePicker/MonthYearDropdowns.d.ts.map +1 -1
- package/dist/components/DatePicker/MonthYearDropdowns.js +7 -6
- package/dist/components/DatePicker/MonthYearDropdowns.js.map +1 -1
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +12 -5
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/Dropdown/index.d.ts.map +1 -1
- package/dist/components/Dropdown/index.js +4 -1
- package/dist/components/Dropdown/index.js.map +1 -1
- package/dist/components/Dropdown/list.d.ts +3 -1
- package/dist/components/Dropdown/list.d.ts.map +1 -1
- package/dist/components/Dropdown/list.js +47 -8
- package/dist/components/Dropdown/list.js.map +1 -1
- package/dist/components/EntityRow/index.d.ts +8 -6
- package/dist/components/EntityRow/index.d.ts.map +1 -1
- package/dist/components/EntityRow/index.js +47 -19
- package/dist/components/EntityRow/index.js.map +1 -1
- package/dist/components/FadeScroller/index.js +2 -2
- package/dist/components/FadeScroller/index.js.map +1 -1
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +3 -3
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/InputClearButton/index.d.ts +3 -1
- package/dist/components/InputClearButton/index.d.ts.map +1 -1
- package/dist/components/InputClearButton/index.js +4 -2
- package/dist/components/InputClearButton/index.js.map +1 -1
- package/dist/components/InternalPopover/index.d.ts.map +1 -1
- package/dist/components/InternalPopover/index.js +122 -40
- package/dist/components/InternalPopover/index.js.map +1 -1
- package/dist/components/Menu/index.d.ts.map +1 -1
- package/dist/components/Menu/index.js +7 -8
- package/dist/components/Menu/index.js.map +1 -1
- package/dist/components/Menu/item.d.ts.map +1 -1
- package/dist/components/Menu/item.js +7 -5
- package/dist/components/Menu/item.js.map +1 -1
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +8 -5
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +13 -7
- package/dist/components/Popover/index.js.map +1 -1
- package/dist/components/RowActionsMenu/hasRowActionLabel.d.ts +7 -0
- package/dist/components/RowActionsMenu/hasRowActionLabel.d.ts.map +1 -0
- package/dist/components/RowActionsMenu/hasRowActionLabel.js +15 -0
- package/dist/components/RowActionsMenu/hasRowActionLabel.js.map +1 -0
- package/dist/components/RowActionsMenu/index.d.ts +58 -7
- package/dist/components/RowActionsMenu/index.d.ts.map +1 -1
- package/dist/components/RowActionsMenu/index.js +46 -14
- package/dist/components/RowActionsMenu/index.js.map +1 -1
- package/dist/components/SeverityRow/index.d.ts +12 -7
- package/dist/components/SeverityRow/index.d.ts.map +1 -1
- package/dist/components/SeverityRow/index.js +49 -13
- package/dist/components/SeverityRow/index.js.map +1 -1
- package/dist/components/Table/body.js +6 -6
- package/dist/components/Table/body.js.map +1 -1
- package/dist/components/Table/cell.d.ts.map +1 -1
- package/dist/components/Table/cell.js +4 -1
- package/dist/components/Table/cell.js.map +1 -1
- package/dist/components/Table/header.js +2 -2
- package/dist/components/Table/header.js.map +1 -1
- package/dist/components/Table/headerCell.d.ts.map +1 -1
- package/dist/components/Table/headerCell.js +54 -41
- package/dist/components/Table/headerCell.js.map +1 -1
- package/dist/components/Table/helpers.d.ts +30 -5
- package/dist/components/Table/helpers.d.ts.map +1 -1
- package/dist/components/Table/helpers.js +73 -8
- package/dist/components/Table/helpers.js.map +1 -1
- package/dist/components/Table/index.d.ts +9 -5
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js +11 -4
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Table/row.d.ts.map +1 -1
- package/dist/components/Table/row.js +15 -5
- package/dist/components/Table/row.js.map +1 -1
- package/dist/components/Table/useFoldedActionWidths.d.ts +22 -0
- package/dist/components/Table/useFoldedActionWidths.d.ts.map +1 -0
- package/dist/components/Table/useFoldedActionWidths.js +127 -0
- package/dist/components/Table/useFoldedActionWidths.js.map +1 -0
- package/dist/components/Tabs/item.js +2 -2
- package/dist/components/Tabs/item.js.map +1 -1
- package/dist/components/Textarea/index.d.ts +2 -0
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +6 -5
- package/dist/components/Textarea/index.js.map +1 -1
- package/dist/containers/UIProvider.d.ts +7 -0
- package/dist/containers/UIProvider.d.ts.map +1 -1
- package/dist/containers/UIProvider.js +10 -2
- package/dist/containers/UIProvider.js.map +1 -1
- package/dist/helpers/dates.d.ts +16 -1
- package/dist/helpers/dates.d.ts.map +1 -1
- package/dist/helpers/dates.js +40 -5
- package/dist/helpers/dates.js.map +1 -1
- package/dist/hooks/useAutoFocus.d.ts.map +1 -1
- package/dist/hooks/useAutoFocus.js +11 -1
- package/dist/hooks/useAutoFocus.js.map +1 -1
- package/dist/hooks/useCloneThroughFragments.d.ts.map +1 -1
- package/dist/hooks/useCloneThroughFragments.js +22 -1
- package/dist/hooks/useCloneThroughFragments.js.map +1 -1
- package/dist/hooks/useCombinedRefs.d.ts +16 -6
- package/dist/hooks/useCombinedRefs.d.ts.map +1 -1
- package/dist/hooks/useCombinedRefs.js +34 -27
- package/dist/hooks/useCombinedRefs.js.map +1 -1
- package/dist/hooks/useNarrowContainer.d.ts +1 -1
- package/dist/hooks/useNarrowContainer.d.ts.map +1 -1
- package/dist/hooks/useNarrowContainer.js +11 -3
- package/dist/hooks/useNarrowContainer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/tests.json +0 -1
package/tests.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"numTotalTestSuites":239,"numPassedTestSuites":239,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":1676,"numPassedTests":1676,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1792575899360,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Accordion /> with items","status":"passed","title":"Renders <Accordion /> with items","duration":197.14094599999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders all item titles","status":"passed","title":"Renders all item titles","duration":30.637805999999728,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Toggles item on header click","status":"passed","title":"Toggles item on header click","duration":49.04928599999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Respects isOpen default state","status":"passed","title":"Respects isOpen default state","duration":23.519533000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Allows multiple items open when allowMultiple=true","status":"passed","title":"Allows multiple items open when allowMultiple=true","duration":29.457738999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Only one item open when allowMultiple=false","status":"passed","title":"Only one item open when allowMultiple=false","duration":34.2884210000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with icons","status":"passed","title":"Renders with icons","duration":17.48636499999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with badges","status":"passed","title":"Renders with badges","duration":107.2304350000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled items cannot be toggled","status":"passed","title":"Disabled items cannot be toggled","duration":59.45872999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Globally disabled accordion prevents all toggling","status":"passed","title":"Globally disabled accordion prevents all toggling","duration":25.451752999999826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard: Enter toggles item","status":"passed","title":"Keyboard: Enter toggles item","duration":21.88708399999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard: Space toggles item","status":"passed","title":"Keyboard: Space toggles item","duration":36.838684999999714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onItemToggle callback","status":"passed","title":"Calls onItemToggle callback","duration":38.09677999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with different sizes","status":"passed","title":"Renders with different sizes","duration":115.94901900000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with intents","status":"passed","title":"Renders with intents","duration":49.14428100000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with item-level intents","status":"passed","title":"Renders with item-level intents","duration":34.84655500000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders flat accordion","status":"passed","title":"Renders flat accordion","duration":26.39435400000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders fluid accordion","status":"passed","title":"Renders fluid accordion","duration":29.79035500000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders custom React content","status":"passed","title":"Renders custom React content","duration":11.968899999999849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Item separator border does not change color with item intent","status":"passed","title":"Item separator border does not change color with item intent","duration":143.97418000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Minimal accordion with item intent renders a tinted header background","status":"passed","title":"Minimal accordion with item intent renders a tinted header background","duration":150.2780459999999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575985897,"endTime":1792575987131.278,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Accordion.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <ButtonRail /> as a horizontal toolbar with its buttons","status":"passed","title":"Renders <ButtonRail /> as a horizontal toolbar with its buttons","duration":305.55837199999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ButtonRail /> items before children, and drops neither","status":"passed","title":"Renders <ButtonRail /> items before children, and drops neither","duration":54.432478000000174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders an empty <ButtonRail /> without crashing","status":"passed","title":"Renders an empty <ButtonRail /> without crashing","duration":9.212233000000197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders a vertical <ButtonRail /> as a column toolbar of equal-width buttons","status":"passed","title":"Renders a vertical <ButtonRail /> as a column toolbar of equal-width buttons","duration":166.59669200000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Scales <ButtonRail /> padding with size","status":"passed","title":"Scales <ButtonRail /> padding with size","duration":321.9144460000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Honours <ButtonRail /> padded={false}","status":"passed","title":"Honours <ButtonRail /> padded={false}","duration":80.09895000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Cascades size to the buttons of a <ButtonRail />, unless a button sets its own","status":"passed","title":"Cascades size to the buttons of a <ButtonRail />, unless a button sets its own","duration":121.14759900000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Defaults <ButtonRail /> buttons to flat pills; a button’s own props win","status":"passed","title":"Defaults <ButtonRail /> buttons to flat pills; a button’s own props win","duration":134.74803199999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Applies <ButtonRail /> buttonProps as defaults under each button’s own props","status":"passed","title":"Applies <ButtonRail /> buttonProps as defaults under each button’s own props","duration":272.7287600000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not inject undefined props into <ButtonRail /> children","status":"passed","title":"Does not inject undefined props into <ButtonRail /> children","duration":16.811987000000045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Squares a <ButtonRail /> with rounded={false} and its buttons with it","status":"passed","title":"Squares a <ButtonRail /> with rounded={false} and its buttons with it","duration":186.10334500000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ButtonRail /> as a concentric pill by default and with a fixed radius for radiusSize","status":"passed","title":"Renders <ButtonRail /> as a concentric pill by default and with a fixed radius for radiusSize","duration":221.06251900000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tints <ButtonRail /> with an intent and passes it to the buttons","status":"passed","title":"Tints <ButtonRail /> with an intent and passes it to the buttons","duration":251.8509379999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Draws a border on <ButtonRail /> by default and none when flat","status":"passed","title":"Draws a border on <ButtonRail /> by default and none when flat","duration":70.76889299999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Frosts <ButtonRail /> by default and drops the frost when opaque","status":"passed","title":"Frosts <ButtonRail /> by default and drops the frost when opaque","duration":105.46134799999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Honours <ButtonRail /> blur","status":"passed","title":"Honours <ButtonRail /> blur","duration":46.346010999999635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Drops the <ButtonRail /> surface when transparent","status":"passed","title":"Drops the <ButtonRail /> surface when transparent","duration":90.54745699999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Makes a minimal <ButtonRail /> surface-less and its buttons minimal","status":"passed","title":"Makes a minimal <ButtonRail /> surface-less and its buttons minimal","duration":46.66693000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Lifts <ButtonRail /> with a shadow unless elevated={false}","status":"passed","title":"Lifts <ButtonRail /> with a shadow unless elevated={false}","duration":119.67013900000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Adds the raised highlight to a flat <ButtonRail /> only","status":"passed","title":"Adds the raised highlight to a flat <ButtonRail /> only","duration":66.07726999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Composes a <ButtonRail /> effect glow with its lift instead of losing either","status":"passed","title":"Composes a <ButtonRail /> effect glow with its lift instead of losing either","duration":59.971440999999686,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Paints a <ButtonRail /> effect gradient, including an array of gradients","status":"passed","title":"Paints a <ButtonRail /> effect gradient, including an array of gradients","duration":207.8723060000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Makes a fluid <ButtonRail /> span its container","status":"passed","title":"Makes a fluid <ButtonRail /> span its container","duration":281.74001599999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps a fixed <ButtonRail /> from growing","status":"passed","title":"Keeps a fixed <ButtonRail /> from growing","duration":486.4067219999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disables every button of a disabled <ButtonRail />","status":"passed","title":"Disables every button of a disabled <ButtonRail />","duration":34.46705800000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Passes clicks through an enabled <ButtonRail />","status":"passed","title":"Passes clicks through an enabled <ButtonRail />","duration":21.31016400000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hands <ButtonRail /> customTheme to its buttons","status":"passed","title":"Hands <ButtonRail /> customTheme to its buttons","duration":261.7169359999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Merges <ButtonRail /> className and style, and forwards its ref","status":"passed","title":"Merges <ButtonRail /> className and style, and forwards its ref","duration":10.271936999999525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Moves focus between <ButtonRail /> buttons with the arrow keys, skipping disabled ones","status":"passed","title":"Moves focus between <ButtonRail /> buttons with the arrow keys, skipping disabled ones","duration":32.8628719999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Uses up/down (not left/right) in a vertical <ButtonRail />","status":"passed","title":"Uses up/down (not left/right) in a vertical <ButtonRail />","duration":25.17753999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Leaves arrow keys to a text input inside a <ButtonRail />","status":"passed","title":"Leaves arrow keys to a text input inside a <ButtonRail />","duration":18.817025999999714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Still calls a <ButtonRail /> onKeyDown handler","status":"passed","title":"Still calls a <ButtonRail /> onKeyDown handler","duration":31.436766999999236,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575976729,"endTime":1792575980889.4368,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/ButtonRail.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Callout /> with content","status":"passed","title":"Renders <Callout /> with content","duration":103.02361399999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls <Callout /> onClick handler","status":"passed","title":"Calls <Callout /> onClick handler","duration":43.087888999999905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with content effect","status":"passed","title":"Renders <Callout /> with content effect","duration":48.7771700000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with container effect","status":"passed","title":"Renders <Callout /> with container effect","duration":63.90183500000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with label and description","status":"passed","title":"Renders <Callout /> with label and description","duration":44.25261099999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Falls back to children when label/description are not provided","status":"passed","title":"Falls back to children when label/description are not provided","duration":10.3801169999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders children under a label, rather than dropping them","status":"passed","title":"Renders children under a label, rather than dropping them","duration":14.346270000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the description AND children when both are given","status":"passed","title":"Renders the description AND children when both are given","duration":7.334903999999824,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with icon","status":"passed","title":"Renders <Callout /> with icon","duration":46.62123500000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with badge (string)","status":"passed","title":"Renders <Callout /> with badge (string)","duration":55.14327099999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with badge array","status":"passed","title":"Renders <Callout /> with badge array","duration":57.43251899999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with onClose and fires it","status":"passed","title":"Renders <Callout /> with onClose and fires it","duration":122.08768599999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Close button click does not bubble to onClick","status":"passed","title":"Close button click does not bubble to onClick","duration":37.30763200000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with intents","status":"passed","title":"Renders <Callout /> with intents","duration":75.60370300000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with different sizes","status":"passed","title":"Renders <Callout /> with different sizes","duration":113.02519299999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> bordered with flat={false}","status":"passed","title":"Renders <Callout /> bordered with flat={false}","duration":8.954703999999765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with rounded={false}","status":"passed","title":"Renders <Callout /> with rounded={false}","duration":31.71168499999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with transparent background","status":"passed","title":"Renders <Callout /> with transparent background","duration":26.57492400000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with labelEffect / descriptionEffect","status":"passed","title":"Renders <Callout /> with labelEffect / descriptionEffect","duration":36.908372999999756,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> disabled","status":"passed","title":"Renders <Callout /> disabled","duration":24.10360800000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with raised effect","status":"passed","title":"Renders <Callout /> with raised effect","duration":26.814102999999704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with padded=false","status":"passed","title":"Renders <Callout /> with padded=false","duration":22.15400099999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with padded=\"horizontal\"","status":"passed","title":"Renders <Callout /> with padded=\"horizontal\"","duration":24.84553300000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with padded=\"vertical\"","status":"passed","title":"Renders <Callout /> with padded=\"vertical\"","duration":33.582906000000094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with custom paddingSize","status":"passed","title":"Renders <Callout /> with custom paddingSize","duration":34.112317000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Callout /> with padded=false + accent reserves accentSize","status":"passed","title":"Renders <Callout /> with padded=false + accent reserves accentSize","duration":126.57388999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Callout accentSize accepts TSizes names resolved through ACCENT_SIZE_TO_PX","status":"passed","title":"Callout accentSize accepts TSizes names resolved through ACCENT_SIZE_TO_PX","duration":115.67185399999971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Centres the icon on a description that stands alone","status":"passed","title":"Centres the icon on a description that stands alone","duration":26.878967999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Centres the icon on a label that stands alone","status":"passed","title":"Centres the icon on a label that stands alone","duration":21.63892100000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps the icon on the label line when a description follows it","status":"passed","title":"Keeps the icon on the label line when a description follows it","duration":16.36095299999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps the top alignment for children, which may be blocks","status":"passed","title":"Keeps the top alignment for children, which may be blocks","duration":14.978982999999971,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575949700,"endTime":1792575951134.979,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Callout.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Collapse /> open","status":"passed","title":"Renders <Collapse /> open","duration":94.54046700000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps folded content mounted, but out of the tab order","status":"passed","title":"Keeps folded content mounted, but out of the tab order","duration":129.86497800000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Pulls the host gap closed with it","status":"passed","title":"Pulls the host gap closed with it","duration":31.667876999999862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not reserve the host gap while open","status":"passed","title":"Does not reserve the host gap while open","duration":14.729933000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Drops the transition when animation is turned off","status":"passed","title":"Drops the transition when animation is turned off","duration":16.750637000000097,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576108549,"endTime":1792576108836.7507,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Collapse.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <CollapsibleContent /> with its children","status":"passed","title":"Renders <CollapsibleContent /> with its children","duration":282.99366899999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Short content shows no reveal or collapse buttons","status":"passed","title":"Short content shows no reveal or collapse buttons","duration":38.47048799999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tall content clips behind a fade and reveals on expand","status":"passed","title":"Tall content clips behind a fade and reveals on expand","duration":96.9183109999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"defaultExpanded shows full content with a Show less button, and collapses","status":"passed","title":"defaultExpanded shows full content with a Show less button, and collapses","duration":51.33646099999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Honours custom reveal / collapse labels","status":"passed","title":"Honours custom reveal / collapse labels","duration":39.30567999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"disabled short-circuits reveal and collapse handlers","status":"passed","title":"disabled short-circuits reveal and collapse handlers","duration":27.773995000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"transparent drops the fade gradient background but keeps the reveal button","status":"passed","title":"transparent drops the fade gradient background but keeps the reveal button","duration":115.50413400000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"intent tints the fade — verified by passing through and rendering without error","status":"passed","title":"intent tints the fade — verified by passing through and rendering without error","duration":163.2872169999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"buttonAlign places the reveal button on the requested side","status":"passed","title":"buttonAlign places the reveal button on the requested side","duration":58.64007199999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"animated keeps the fade mounted while expanded so the opacity can transition","status":"passed","title":"animated keeps the fade mounted while expanded so the opacity can transition","duration":65.43807300000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders without a ResizeObserver implementation","status":"passed","title":"Renders without a ResizeObserver implementation","duration":24.46094200000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Fades into `customTheme.main` as given, not a step lighter than it","status":"passed","title":"Fades into `customTheme.main` as given, not a step lighter than it","duration":157.6500900000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Falls back to the theme background when no `customTheme.main` is given","status":"passed","title":"Falls back to the theme background when no `customTheme.main` is given","duration":50.27533999999969,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575997778,"endTime":1792575998950.2754,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/CollapsibleContent.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"<DatePicker /> preserves the locale date-time separator by default","status":"passed","title":"<DatePicker /> preserves the locale date-time separator by default","duration":340.1237269999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<DatePicker /> replaces the locale date-time separator","status":"passed","title":"<DatePicker /> replaces the locale date-time separator","duration":90.57511799999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<DatePicker /> only replaces the date-time separator in select-only mode","status":"passed","title":"<DatePicker /> only replaces the date-time separator in select-only mode","duration":293.79752099999996,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576123213,"endTime":1792576123937.7976,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/DatePicker.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"renders the root with the .reqore-description-list class hook","status":"passed","title":"renders the root with the .reqore-description-list class hook","duration":179.44539799999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders one row per item with the .reqore-description-list-row hook","status":"passed","title":"renders one row per item with the .reqore-description-list-row hook","duration":24.666781999999785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders each label inside .reqore-description-list-label","status":"passed","title":"renders each label inside .reqore-description-list-label","duration":23.978647999999794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders each content cell inside .reqore-description-list-content","status":"passed","title":"renders each content cell inside .reqore-description-list-content","duration":23.58384500000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"reserves the intent-icon gutter on every row when any row has an intent","status":"passed","title":"reserves the intent-icon gutter on every row when any row has an intent","duration":54.23864800000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"omits the intent-icon gutter when no row has an intent","status":"passed","title":"omits the intent-icon gutter when no row has an intent","duration":20.351084999999784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders a row without a label when label is omitted","status":"passed","title":"renders a row without a label when label is omitted","duration":14.313750000000255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"forwards the panel label to the wrapping ReqorePanel","status":"passed","title":"forwards the panel label to the wrapping ReqorePanel","duration":223.16300899999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders with each intent on the wrapping panel","status":"passed","title":"renders with each intent on the wrapping panel","duration":190.1652009999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders with each size without crashing","status":"passed","title":"renders with each size without crashing","duration":104.928402,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders bordered (flat={false}) without crashing","status":"passed","title":"renders bordered (flat={false}) without crashing","duration":15.037243000000217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders rounded={false} without crashing","status":"passed","title":"renders rounded={false} without crashing","duration":30.139080999999805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders transparent without crashing","status":"passed","title":"renders transparent without crashing","duration":47.81181800000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders raised without crashing","status":"passed","title":"renders raised without crashing","duration":41.504877000000306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"honours customTheme on the wrapping panel","status":"passed","title":"honours customTheme on the wrapping panel","duration":46.135961999999836,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders content effects","status":"passed","title":"renders content effects","duration":99.296155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders an empty list when items is empty","status":"passed","title":"renders an empty list when items is empty","duration":7.800104999999803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"renders panel badge when supplied","status":"passed","title":"renders panel badge when supplied","duration":196.17636200000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"per-row uppercaseLabel overrides the component default","status":"passed","title":"per-row uppercaseLabel overrides the component default","duration":20.875493000000006,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576054425,"endTime":1792576055789.8755,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/DescriptionList.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with title","status":"passed","title":"Renders <EmptyState /> with title","duration":155.4490679999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with icon","status":"passed","title":"Renders <EmptyState /> with icon","duration":36.56508800000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render icon when not provided","status":"passed","title":"Does not render icon when not provided","duration":15.602820999999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with string description","status":"passed","title":"Renders <EmptyState /> with string description","duration":26.00970499999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with custom description node","status":"passed","title":"Renders <EmptyState /> with custom description node","duration":20.36756000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render description when not provided","status":"passed","title":"Does not render description when not provided","duration":13.93881599999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with actions","status":"passed","title":"Renders <EmptyState /> with actions","duration":155.06221700000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render actions when not provided","status":"passed","title":"Does not render actions when not provided","duration":12.780436000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Action button is clickable","status":"passed","title":"Action button is clickable","duration":30.931416000000354,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with different sizes","status":"passed","title":"Renders <EmptyState /> with different sizes","duration":53.8800140000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with intents","status":"passed","title":"Renders <EmptyState /> with intents","duration":82.85676599999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> disabled","status":"passed","title":"Renders <EmptyState /> disabled","duration":27.924359000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with fluid width","status":"passed","title":"Renders <EmptyState /> with fluid width","duration":34.97513799999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with rounded background","status":"passed","title":"Renders <EmptyState /> with rounded background","duration":9.9332059999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with background effect","status":"passed","title":"Renders <EmptyState /> with background effect","duration":121.73342899999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with all features","status":"passed","title":"Renders <EmptyState /> with all features","duration":56.24104699999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EmptyState /> with raised effect","status":"passed","title":"Renders <EmptyState /> with raised effect","duration":35.554687000000285,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576027887,"endTime":1792576028777.5547,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/EmptyState.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with label","status":"passed","title":"Renders <EntityRow /> with label","duration":154.5602429999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with description and metadata","status":"passed","title":"Renders <EntityRow /> with description and metadata","duration":49.87255000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with icon tile","status":"passed","title":"Renders <EntityRow /> with icon tile","duration":59.871614000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render icon tile without icon or image","status":"passed","title":"Does not render icon tile without icon or image","duration":9.493848999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with badge (object)","status":"passed","title":"Renders <EntityRow /> with badge (object)","duration":78.90509900000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with badge array","status":"passed","title":"Renders <EntityRow /> with badge array","duration":74.38462800000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with actions","status":"passed","title":"Renders <EntityRow /> with actions","duration":117.29164100000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onClick when row is clicked","status":"passed","title":"Calls onClick when row is clicked","duration":71.03353300000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with intents","status":"passed","title":"Renders <EntityRow /> with intents","duration":228.67113800000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with different sizes","status":"passed","title":"Renders <EntityRow /> with different sizes","duration":191.8836849999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> bordered with flat={false}","status":"passed","title":"Renders <EntityRow /> bordered with flat={false}","duration":70.41588300000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with rounded={false}","status":"passed","title":"Renders <EntityRow /> with rounded={false}","duration":68.63144000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with transparent background","status":"passed","title":"Renders <EntityRow /> with transparent background","duration":67.84271500000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with effect / labelEffect / descriptionEffect / metadataEffect","status":"passed","title":"Renders <EntityRow /> with effect / labelEffect / descriptionEffect / metadataEffect","duration":140.11144200000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with iconImage","status":"passed","title":"Renders <EntityRow /> with iconImage","duration":10.637255000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render description/metadata when not provided","status":"passed","title":"Does not render description/metadata when not provided","duration":7.032556999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with wrap=false (single-line ellipsis)","status":"passed","title":"Renders <EntityRow /> with wrap=false (single-line ellipsis)","duration":39.73406000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with wrap=true by default","status":"passed","title":"Renders <EntityRow /> with wrap=true by default","duration":9.949782000000141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hides the icon tile by default when transparent","status":"passed","title":"Hides the icon tile by default when transparent","duration":54.73568499999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the icon tile on a transparent row when iconHasBackground={true}","status":"passed","title":"Shows the icon tile on a transparent row when iconHasBackground={true}","duration":79.56819799999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with iconHasBackground=false (bare icon, no tile)","status":"passed","title":"Renders <EntityRow /> with iconHasBackground=false (bare icon, no tile)","duration":87.62116999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with padded=false","status":"passed","title":"Renders <EntityRow /> with padded=false","duration":94.21790899999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with padded=\"horizontal\"","status":"passed","title":"Renders <EntityRow /> with padded=\"horizontal\"","duration":67.28345100000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with padded=\"vertical\"","status":"passed","title":"Renders <EntityRow /> with padded=\"vertical\"","duration":56.22450200000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with custom paddingSize","status":"passed","title":"Renders <EntityRow /> with custom paddingSize","duration":52.427779999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with iconHasBackground=true by default (tile shown)","status":"passed","title":"Renders <EntityRow /> with iconHasBackground=true by default (tile shown)","duration":6.045740999999907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <EntityRow /> with raised effect","status":"passed","title":"Renders <EntityRow /> with raised effect","duration":51.74333100000058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders an action with sub-actions as an overflow menu, not a button","status":"passed","title":"Renders an action with sub-actions as an overflow menu, not a button","duration":911.1682259999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking an action does not also fire the row onClick","status":"passed","title":"Clicking an action does not also fire the row onClick","duration":217.0224989999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking an action with no handler of its own does not fire the row onClick","status":"passed","title":"Clicking an action with no handler of its own does not fire the row onClick","duration":18.280009000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking a sub-action menu does not fire the row onClick","status":"passed","title":"Clicking a sub-action menu does not fire the row onClick","duration":315.287644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Wraps its actions under the label in a narrow container","status":"passed","title":"Wraps its actions under the label in a narrow container","duration":323.76434600000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps its actions beside the label in a wide container","status":"passed","title":"Keeps its actions beside the label in a wide container","duration":27.125057000000197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders without a ResizeObserver implementation","status":"passed","title":"Renders without a ResizeObserver implementation","duration":23.828551000000516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Folds two or more actions into one menu button in a narrow container","status":"passed","title":"Folds two or more actions into one menu button in a narrow container","duration":319.06070400000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Names the menu button with actionsMenuLabel","status":"passed","title":"Names the menu button with actionsMenuLabel","duration":43.68344700000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps the actions in sight, stacked, with narrowActions=\"stack\"","status":"passed","title":"Keeps the actions in sight, stacked, with narrowActions=\"stack\"","duration":52.7336949999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Stacked, labels an icon-only action that is a menu with its tooltip","status":"passed","title":"Stacked, labels an icon-only action that is a menu with its tooltip","duration":266.038133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps a single action a button when narrow, and every action inline when wide","status":"passed","title":"Keeps a single action a button when narrow, and every action inline when wide","duration":75.66310900000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Stacked, labels an action whose label is empty with its tooltip, a menu too","status":"passed","title":"Stacked, labels an action whose label is empty with its tooltip, a menu too","duration":37.38651300000038,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575930622,"endTime":1792575935254.3865,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/EntityRow.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> with its class hooks and children","status":"passed","title":"Renders <FadeScroller /> with its class hooks and children","duration":249.62546299999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> as a single non-wrapping scrollable row","status":"passed","title":"Renders <FadeScroller /> as a single non-wrapping scrollable row","duration":152.9313820000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> with a custom className merged in","status":"passed","title":"Renders <FadeScroller /> with a custom className merged in","duration":18.14325000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> with each gap size","status":"passed","title":"Renders <FadeScroller /> with each gap size","duration":297.875219,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> aligned per verticalAlign","status":"passed","title":"Renders <FadeScroller /> aligned per verticalAlign","duration":35.982110999999804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> rigid by default so children keep their width","status":"passed","title":"Renders <FadeScroller /> rigid by default so children keep their width","duration":16.992541999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> with rigid off, leaving children their own flex","status":"passed","title":"Renders <FadeScroller /> with rigid off, leaving children their own flex","duration":40.075620999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> fluid by default","status":"passed","title":"Renders <FadeScroller /> fluid by default","duration":19.261199000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> sized to its content when not fluid","status":"passed","title":"Renders <FadeScroller /> sized to its content when not fluid","duration":117.92478500000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> with an intent","status":"passed","title":"Renders <FadeScroller /> with an intent","duration":58.00683799999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> with a customTheme","status":"passed","title":"Renders <FadeScroller /> with a customTheme","duration":51.329205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FadeScroller /> with a tooltip","status":"passed","title":"Renders <FadeScroller /> with a tooltip","duration":15.391230000000178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Fades only the right edge at the start of an overflowing row","status":"passed","title":"Fades only the right edge at the start of an overflowing row","duration":13.171354000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Fades both edges in the middle of an overflowing row","status":"passed","title":"Fades both edges in the middle of an overflowing row","duration":12.032153000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Fades only the left edge at the end of an overflowing row","status":"passed","title":"Fades only the left edge at the end of an overflowing row","duration":11.553196000000298,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Fades neither edge when the row fits","status":"passed","title":"Fades neither edge when the row fits","duration":11.137652999999773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Fades neither edge with fade={false}, even while overflowing","status":"passed","title":"Fades neither edge with fade={false}, even while overflowing","duration":12.787066999999752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Stops fading once a row that overflowed no longer does","status":"passed","title":"Stops fading once a row that overflowed no longer does","duration":19.6763719999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Marquee renders the row twice, hides the copy from assistive tech and fades both edges","status":"passed","title":"Marquee renders the row twice, hides the copy from assistive tech and fades both edges","duration":122.34664999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Marquee with fade={false} fades neither edge","status":"passed","title":"Marquee with fade={false} fades neither edge","duration":24.960599000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Marquee ignores dragToScroll: a self-driving row is not grabbable","status":"passed","title":"Marquee ignores dragToScroll: a self-driving row is not grabbable","duration":25.90950900000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Without marquee the row is rendered once","status":"passed","title":"Without marquee the row is rendered once","duration":16.210427999999865,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576003979,"endTime":1792576005323.2104,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/FadeScroller.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with label and description","status":"passed","title":"Renders <FeatureCard /> with label and description","duration":117.29593999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with a number marker","status":"passed","title":"Renders <FeatureCard /> with a number marker","duration":12.953563999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render <FeatureCard /> marker when marker is none","status":"passed","title":"Does not render <FeatureCard /> marker when marker is none","duration":13.944986999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls <FeatureCard /> onClick handler","status":"passed","title":"Calls <FeatureCard /> onClick handler","duration":20.118936999999733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with badge (string)","status":"passed","title":"Renders <FeatureCard /> with badge (string)","duration":110.422998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with badge array","status":"passed","title":"Renders <FeatureCard /> with badge array","duration":40.728207999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with intents","status":"passed","title":"Renders <FeatureCard /> with intents","duration":85.33481399999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with different sizes","status":"passed","title":"Renders <FeatureCard /> with different sizes","duration":128.45091000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> bordered with flat={false}","status":"passed","title":"Renders <FeatureCard /> bordered with flat={false}","duration":7.70265100000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with rounded={false}","status":"passed","title":"Renders <FeatureCard /> with rounded={false}","duration":23.347179999999753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with transparent background","status":"passed","title":"Renders <FeatureCard /> with transparent background","duration":27.951394000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> disabled","status":"passed","title":"Renders <FeatureCard /> disabled","duration":37.31175699999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with effect / labelEffect / descriptionEffect","status":"passed","title":"Renders <FeatureCard /> with effect / labelEffect / descriptionEffect","duration":183.08537799999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with wrap=false (single-line ellipsis)","status":"passed","title":"Renders <FeatureCard /> with wrap=false (single-line ellipsis)","duration":24.69527999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Auto-detects interactive when onClick is provided","status":"passed","title":"Auto-detects interactive when onClick is provided","duration":9.781914000000143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with raised effect","status":"passed","title":"Renders <FeatureCard /> with raised effect","duration":22.03890999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with padded=false","status":"passed","title":"Renders <FeatureCard /> with padded=false","duration":26.73549099999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with padded=\"horizontal\"","status":"passed","title":"Renders <FeatureCard /> with padded=\"horizontal\"","duration":20.624663000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with padded=\"vertical\"","status":"passed","title":"Renders <FeatureCard /> with padded=\"vertical\"","duration":75.7634250000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <FeatureCard /> with custom paddingSize","status":"passed","title":"Renders <FeatureCard /> with custom paddingSize","duration":25.87223700000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A card with neither actions nor footer renders no footer row","status":"passed","title":"A card with neither actions nor footer renders no footer row","duration":15.89942099999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"actions render as buttons in the footer, the last row of the card","status":"passed","title":"actions render as buttons in the footer, the last row of the card","duration":667.0690930000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A click on an action does not reach the card’s own onClick","status":"passed","title":"A click on an action does not reach the card’s own onClick","duration":26.283140000000458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Actions take the card size and intent unless they set their own","status":"passed","title":"Actions take the card size and intent unless they set their own","duration":499.0641590000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An action is fluid only when it says so","status":"passed","title":"An action is fluid only when it says so","duration":210.20938299999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"footer renders before the actions, untouched by the footer row","status":"passed","title":"footer renders before the actions, untouched by the footer row","duration":32.426854999999705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A footer without actions renders the footer row; text at the description size","status":"passed","title":"A footer without actions renders the footer row; text at the description size","duration":26.2648420000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"footerProps reach the footer row","status":"passed","title":"footerProps reach the footer row","duration":65.01349500000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Actions are disabled with the card, unless one says otherwise","status":"passed","title":"Actions are disabled with the card, unless one says otherwise","duration":50.12918200000058,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575964699,"endTime":1792575967307.1292,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/FeatureCard.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <IconPicker /> trigger button","status":"passed","title":"Renders <IconPicker /> trigger button","duration":241.25802599999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Opens the popover with the icon grid on click","status":"passed","title":"Opens the popover with the icon grid on click","duration":761.8482820000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the filter input by default","status":"passed","title":"Renders the filter input by default","duration":113.70634599999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hides the filter input when filterable={false}","status":"passed","title":"Hides the filter input when filterable={false}","duration":106.25299399999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Filters the icon grid by query","status":"passed","title":"Filters the icon grid by query","duration":176.59057100000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the no-results message when nothing matches","status":"passed","title":"Shows the no-results message when nothing matches","duration":196.62160200000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onPick with the chosen icon name","status":"passed","title":"Calls onPick with the chosen icon name","duration":138.25,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Closes the popover after an icon is picked","status":"passed","title":"Closes the popover after an icon is picked","duration":101.70293499999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Virtualizes the grid — only a subset of a large icon set is mounted","status":"passed","title":"Virtualizes the grid — only a subset of a large icon set is mounted","duration":355.80931899999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Scrolling the virtualized grid reveals later icons (no paging dead-end)","status":"passed","title":"Scrolling the virtualized grid reveals later icons (no paging dead-end)","duration":609.7482810000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Marks the selected value in the grid","status":"passed","title":"Marks the selected value in the grid","duration":162.46081799999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clamps the column count to the viewport width on narrow screens","status":"passed","title":"Clamps the column count to the viewport width on narrow screens","duration":74.6122379999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Uses the requested column count when the viewport is wide enough","status":"passed","title":"Uses the requested column count when the viewport is wide enough","duration":74.58594999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <IconPicker /> disabled","status":"passed","title":"Renders <IconPicker /> disabled","duration":15.003587000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <IconPicker inline /> grid without a trigger button","status":"passed","title":"Renders <IconPicker inline /> grid without a trigger button","duration":134.44218699999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the filter input in inline mode","status":"passed","title":"Renders the filter input in inline mode","duration":50.974301999999625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Filters the grid in inline mode","status":"passed","title":"Filters the grid in inline mode","duration":55.16564500000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onPick in inline mode","status":"passed","title":"Calls onPick in inline mode","duration":55.995089999999436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Marks the selected value in inline mode","status":"passed","title":"Marks the selected value in inline mode","duration":64.82190300000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the selected-icon preview above the grid when value is set","status":"passed","title":"Shows the selected-icon preview above the grid when value is set","duration":59.24655200000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not show the selected preview when no value is set","status":"passed","title":"Does not show the selected preview when no value is set","duration":60.98241300000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the selected preview alongside the filter input","status":"passed","title":"Shows the selected preview alongside the filter input","duration":80.73794699999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the selected preview on its own row when not filterable","status":"passed","title":"Shows the selected preview on its own row when not filterable","duration":49.15121199999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <IconPicker inline fluid /> grid","status":"passed","title":"Renders <IconPicker inline fluid /> grid","duration":66.58574599999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <IconPicker /> with intents","status":"passed","title":"Renders <IconPicker /> with intents","duration":460.1994700000005,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575997120,"endTime":1792576001387.1995,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/IconPicker.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Message /> properly","status":"passed","title":"Renders <Message /> properly","duration":135.7486789999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Message /> with raised effect","status":"passed","title":"Renders <Message /> with raised effect","duration":24.48703800000021,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576138018,"endTime":1792576138178.487,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Message.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <NavRail /> with the primary marks","status":"passed","title":"Renders <NavRail /> with the primary marks","duration":695.153601,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Nests the active item’s sections in a distinct sub-capsule","status":"passed","title":"Nests the active item’s sections in a distinct sub-capsule","duration":138.9152299999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Navigating a primary item swaps the sub-capsule and fires onItemClick","status":"passed","title":"Navigating a primary item swaps the sub-capsule and fires onItemClick","duration":216.97565000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Selecting a sub-item fires onSubClick","status":"passed","title":"Selecting a sub-item fires onSubClick","duration":78.33581700000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Honours a controlled activeId","status":"passed","title":"Honours a controlled activeId","duration":49.847817999999734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with the standard prop contract (size/intent/effect/flat/raised/radiusSize)","status":"passed","title":"Renders with the standard prop contract (size/intent/effect/flat/raised/radiusSize)","duration":503.2540650000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"maxItems caps the visible primary marks and folds the rest into the ⋮ menu","status":"passed","title":"maxItems caps the visible primary marks and folds the rest into the ⋮ menu","duration":133.22705599999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"maxItems keeps the active mark visible by windowing around it","status":"passed","title":"maxItems keeps the active mark visible by windowing around it","duration":82.00607200000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A per-item effect paints the mark regardless of active state","status":"passed","title":"A per-item effect paints the mark regardless of active state","duration":203.40056699999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"dividerAfter draws a separator after the marked item (and none without it)","status":"passed","title":"dividerAfter draws a separator after the marked item (and none without it)","duration":71.90155099999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"dividerAfter='space' still reserves breathing room (a line-less separator)","status":"passed","title":"dividerAfter='space' still reserves breathing room (a line-less separator)","duration":44.73436200000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking a sub-item with a scrollTargetId scrolls to that element","status":"passed","title":"Clicking a sub-item with a scrollTargetId scrolls to that element","duration":57.58180999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"expandable folds the capped-out marks behind an expand toggle instead of the ⋮ menu","status":"passed","title":"expandable folds the capped-out marks behind an expand toggle instead of the ⋮ menu","duration":103.86838400000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Expanding shows every mark; collapsing folds them again","status":"passed","title":"Expanding shows every mark; collapsing folds them again","duration":280.76068399999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hidden sections of the active page fold behind the toggle too — never a ⋮ sections menu","status":"passed","title":"Hidden sections of the active page fold behind the toggle too — never a ⋮ sections menu","duration":243.48792200000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"No toggle is offered when collapsing would fold nothing","status":"passed","title":"No toggle is offered when collapsing would fold nothing","duration":82.30727699999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"defaultExpanded starts the rail open","status":"passed","title":"defaultExpanded starts the rail open","duration":72.58249599999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A controlled `expanded` is reported through onExpandedChange, never flipped internally","status":"passed","title":"A controlled `expanded` is reported through onExpandedChange, never flipped internally","duration":69.08973199999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The toggle labels are overridable","status":"passed","title":"The toggle labels are overridable","duration":114.21641799999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Expanded, the rail fades whichever edge still has marks out of view","status":"passed","title":"Expanded, the rail fades whichever edge still has marks out of view","duration":55.93477400000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Collapsed, the vignette stays off even when the box reports overflow","status":"passed","title":"Collapsed, the vignette stays off even when the box reports overflow","duration":23.234034999999494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Icon-only marks carry no text; showLabels puts the label in every mark","status":"passed","title":"Icon-only marks carry no text; showLabels puts the label in every mark","duration":704.6393710000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A labelled expandable rail spells out its toggle","status":"passed","title":"A labelled expandable rail spells out its toggle","duration":209.7534340000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["showLabels='hover'"],"fullName":"showLabels='hover' Reveals the labels once the pointer has rested on the rail for 1.5s, and hides them when it leaves","status":"passed","title":"Reveals the labels once the pointer has rested on the rail for 1.5s, and hides them when it leaves","duration":164.96399399999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["showLabels='hover'"],"fullName":"showLabels='hover' a finger's tap dwells no labels open: the mouseenter emulated after it is no hover","status":"passed","title":"a finger's tap dwells no labels open: the mouseenter emulated after it is no hover","duration":60.5958329999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["showLabels='hover'"],"fullName":"showLabels='hover' a mouse dwells them open, its pointer event before its mouseenter","status":"passed","title":"a mouse dwells them open, its pointer event before its mouseenter","duration":107.5358899999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["showLabels='hover'"],"fullName":"showLabels='hover' showLabelsDelay sets the dwell","status":"passed","title":"showLabelsDelay sets the dwell","duration":98.5078139999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["showLabels='hover'"],"fullName":"showLabels='hover' Leaving before the dwell elapses never shows the labels","status":"passed","title":"Leaving before the dwell elapses never shows the labels","duration":65.54280300000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The ⋮ trigger is a direct child of its column, not boxed in a popover wrapper","status":"passed","title":"The ⋮ trigger is a direct child of its column, not boxed in a popover wrapper","duration":148.28150800000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"header and footer render props receive the labelled / expanded state and the mark size","status":"passed","title":"header and footer render props receive the labelled / expanded state and the mark size","duration":989.5564430000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A plain node header / footer still renders as-is","status":"passed","title":"A plain node header / footer still renders as-is","duration":35.818952999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The nav carries class hooks for the labelled and expanded states","status":"passed","title":"The nav carries class hooks for the labelled and expanded states","duration":144.76742299999933,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575922189,"endTime":1792575928241.7673,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/NavRail.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Rating /> with 5 stars by default","status":"passed","title":"Renders <Rating /> with 5 stars by default","duration":142.94343900000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Rating /> with custom max","status":"passed","title":"Renders <Rating /> with custom max","duration":30.123986999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onChange when clicking a star","status":"passed","title":"Calls onChange when clicking a star","duration":35.90923299999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not call onChange when disabled","status":"passed","title":"Does not call onChange when disabled","duration":35.59739899999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not call onChange when readOnly","status":"passed","title":"Does not call onChange when readOnly","duration":31.84483599999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard ArrowRight increments value","status":"passed","title":"Keyboard ArrowRight increments value","duration":25.5061639999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard ArrowLeft decrements value","status":"passed","title":"Keyboard ArrowLeft decrements value","duration":24.107339000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard does not go below 0","status":"passed","title":"Keyboard does not go below 0","duration":34.05082100000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard does not go above max","status":"passed","title":"Keyboard does not go above max","duration":18.26001700000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"allowClear resets value to 0 when clicking current value","status":"passed","title":"allowClear resets value to 0 when clicking current value","duration":20.392499000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with different sizes","status":"passed","title":"Renders with different sizes","duration":45.007468000000245,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with intent","status":"passed","title":"Renders with intent","duration":23.930828999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Has correct ARIA attributes","status":"passed","title":"Has correct ARIA attributes","duration":10.699337000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with custom icons","status":"passed","title":"Renders with custom icons","duration":14.594014000000243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A finger's tap previews nothing: a value the tap cleared reads as cleared","status":"passed","title":"A finger's tap previews nothing: a value the tap cleared reads as cleared","duration":50.70731300000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A mouse resting on a star previews it","status":"passed","title":"A mouse resting on a star previews it","duration":21.869188000000122,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576034943,"endTime":1792576035508.8691,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Rating.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with label","status":"passed","title":"Renders <SeverityRow /> with label","duration":186.80773299999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with description","status":"passed","title":"Renders <SeverityRow /> with description","duration":32.794034999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with strip by default","status":"passed","title":"Renders <SeverityRow /> with strip by default","duration":41.59965800000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hides strip when showStrip is false","status":"passed","title":"Hides strip when showStrip is false","duration":10.772083000000293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with leading content","status":"passed","title":"Renders <SeverityRow /> with leading content","duration":66.60323900000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with badge (string)","status":"passed","title":"Renders <SeverityRow /> with badge (string)","duration":39.65979500000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with badge array","status":"passed","title":"Renders <SeverityRow /> with badge array","duration":35.73755800000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with actions","status":"passed","title":"Renders <SeverityRow /> with actions","duration":344.46210999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onClick when row is clicked","status":"passed","title":"Calls onClick when row is clicked","duration":74.50908400000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking an action does not also fire the row onClick","status":"passed","title":"Clicking an action does not also fire the row onClick","duration":33.44587700000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking an action with no handler of its own does not fire the row onClick","status":"passed","title":"Clicking an action with no handler of its own does not fire the row onClick","duration":29.428969999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking the row body still fires onClick when actions are present","status":"passed","title":"Clicking the row body still fires onClick when actions are present","duration":27.729703999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with intents","status":"passed","title":"Renders <SeverityRow /> with intents","duration":188.11971900000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with different sizes","status":"passed","title":"Renders <SeverityRow /> with different sizes","duration":185.45362399999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> bordered with flat={false}","status":"passed","title":"Renders <SeverityRow /> bordered with flat={false}","duration":43.48390699999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with rounded={false}","status":"passed","title":"Renders <SeverityRow /> with rounded={false}","duration":47.54196499999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with transparent background","status":"passed","title":"Renders <SeverityRow /> with transparent background","duration":45.46551100000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with effect/labelEffect/descriptionEffect","status":"passed","title":"Renders <SeverityRow /> with effect/labelEffect/descriptionEffect","duration":106.54679299999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> disabled","status":"passed","title":"Renders <SeverityRow /> disabled","duration":68.86128999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render description when not provided","status":"passed","title":"Does not render description when not provided","duration":6.450316999999814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render actions when not provided","status":"passed","title":"Does not render actions when not provided","duration":7.370764999999665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with wrap=false (single-line ellipsis)","status":"passed","title":"Renders <SeverityRow /> with wrap=false (single-line ellipsis)","duration":31.72084199999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with wrap=true by default","status":"passed","title":"Renders <SeverityRow /> with wrap=true by default","duration":7.676715999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with raised effect","status":"passed","title":"Renders <SeverityRow /> with raised effect","duration":60.5577489999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with padded=false","status":"passed","title":"Renders <SeverityRow /> with padded=false","duration":49.51997399999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with padded=\"horizontal\"","status":"passed","title":"Renders <SeverityRow /> with padded=\"horizontal\"","duration":53.648755000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with padded=\"vertical\"","status":"passed","title":"Renders <SeverityRow /> with padded=\"vertical\"","duration":56.35402200000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <SeverityRow /> with custom paddingSize","status":"passed","title":"Renders <SeverityRow /> with custom paddingSize","duration":76.86641599999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Folds two or more actions into one menu button below 640px of its container, with narrowActions=\"menu\"","status":"passed","title":"Folds two or more actions into one menu button below 640px of its container, with narrowActions=\"menu\"","duration":365.9402909999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps a callout's actions in sight, stacked, by default and with narrowActions=\"stack\"","status":"passed","title":"Keeps a callout's actions in sight, stacked, by default and with narrowActions=\"stack\"","duration":324.93418199999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps every action inline in a wide container, and a single one a button when narrow","status":"passed","title":"Keeps every action inline in a wide container, and a single one a button when narrow","duration":69.55765000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Stacked, labels an action whose label is empty with its tooltip","status":"passed","title":"Stacked, labels an action whose label is empty with its tooltip","duration":41.110388999999486,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575947839,"endTime":1792575950600.1104,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/SeverityRow.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Statistic /> with value","status":"passed","title":"Renders <Statistic /> with value","duration":138.77678500000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with string value","status":"passed","title":"Renders <Statistic /> with string value","duration":11.32531999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with label","status":"passed","title":"Renders <Statistic /> with label","duration":34.896209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render label when not provided","status":"passed","title":"Does not render label when not provided","duration":27.09314600000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with icon","status":"passed","title":"Renders <Statistic /> with icon","duration":59.6025639999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with prefix and suffix","status":"passed","title":"Renders <Statistic /> with prefix and suffix","duration":28.841149999999743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render prefix/suffix when not provided","status":"passed","title":"Does not render prefix/suffix when not provided","duration":11.192974999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with trend up","status":"passed","title":"Renders <Statistic /> with trend up","duration":34.34268199999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with trend down","status":"passed","title":"Renders <Statistic /> with trend down","duration":17.79464599999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with trend neutral","status":"passed","title":"Renders <Statistic /> with trend neutral","duration":11.878566999999748,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render trend when not provided","status":"passed","title":"Does not render trend when not provided","duration":8.547602000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with different sizes","status":"passed","title":"Renders <Statistic /> with different sizes","duration":38.225261000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with intents","status":"passed","title":"Renders <Statistic /> with intents","duration":12.544338999999582,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> disabled","status":"passed","title":"Renders <Statistic /> disabled","duration":32.13153999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with vertical layout","status":"passed","title":"Renders <Statistic /> with vertical layout","duration":9.47589199999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with fluid width","status":"passed","title":"Renders <Statistic /> with fluid width","duration":31.659770000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with rounded background","status":"passed","title":"Renders <Statistic /> with rounded background","duration":80.73420299999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with background effect","status":"passed","title":"Renders <Statistic /> with background effect","duration":114.81642599999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with flat background","status":"passed","title":"Renders <Statistic /> with flat background","duration":48.77121099999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> as interactive when onClick is provided","status":"passed","title":"Renders <Statistic /> as interactive when onClick is provided","duration":41.97403200000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with raised effect","status":"passed","title":"Renders <Statistic /> with raised effect","duration":61.61772599999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with padded=false","status":"passed","title":"Renders <Statistic /> with padded=false","duration":46.676902000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with padded=\"horizontal\"","status":"passed","title":"Renders <Statistic /> with padded=\"horizontal\"","duration":37.20278199999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with padded=\"vertical\"","status":"passed","title":"Renders <Statistic /> with padded=\"vertical\"","duration":30.964372999999796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Statistic /> with custom paddingSize","status":"passed","title":"Renders <Statistic /> with custom paddingSize","duration":58.974827000000005,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575994178,"endTime":1792575995208.9749,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Statistic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with quote","status":"passed","title":"Renders <Testimonial /> with quote","duration":143.25372199999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with children when no quote prop","status":"passed","title":"Renders <Testimonial /> with children when no quote prop","duration":14.920004000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with author and role","status":"passed","title":"Renders <Testimonial /> with author and role","duration":106.61460299999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with avatar icon","status":"passed","title":"Renders <Testimonial /> with avatar icon","duration":41.929405000000315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with avatar image","status":"passed","title":"Renders <Testimonial /> with avatar image","duration":19.41769000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render avatar when neither avatar nor avatarIcon is provided","status":"passed","title":"Does not render avatar when neither avatar nor avatarIcon is provided","duration":20.37542200000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with quote icon by default","status":"passed","title":"Renders <Testimonial /> with quote icon by default","duration":12.20103700000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hides the quote icon when showQuoteIcon is false","status":"passed","title":"Hides the quote icon when showQuoteIcon is false","duration":10.882746999999654,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with rating","status":"passed","title":"Renders <Testimonial /> with rating","duration":40.84120899999971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render rating when not provided","status":"passed","title":"Does not render rating when not provided","duration":6.758010999999897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with badge (string)","status":"passed","title":"Renders <Testimonial /> with badge (string)","duration":71.12374399999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with badge object","status":"passed","title":"Renders <Testimonial /> with badge object","duration":34.7048649999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with badge array","status":"passed","title":"Renders <Testimonial /> with badge array","duration":52.34020499999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with actions","status":"passed","title":"Renders <Testimonial /> with actions","duration":252.931063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render actions when not provided","status":"passed","title":"Does not render actions when not provided","duration":8.681399000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onClick when card is clicked","status":"passed","title":"Calls onClick when card is clicked","duration":36.2759530000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with each intent","status":"passed","title":"Renders <Testimonial /> with each intent","duration":85.33604800000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with different sizes","status":"passed","title":"Renders <Testimonial /> with different sizes","duration":103.75101799999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> bordered with flat={false}","status":"passed","title":"Renders <Testimonial /> bordered with flat={false}","duration":25.966841999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with rounded={false}","status":"passed","title":"Renders <Testimonial /> with rounded={false}","duration":23.48262700000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with transparent background","status":"passed","title":"Renders <Testimonial /> with transparent background","duration":21.46864500000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with effect / quoteEffect / authorEffect / roleEffect","status":"passed","title":"Renders <Testimonial /> with effect / quoteEffect / authorEffect / roleEffect","duration":206.93660199999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> disabled","status":"passed","title":"Renders <Testimonial /> disabled","duration":25.739636999999675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with raised effect","status":"passed","title":"Renders <Testimonial /> with raised effect","duration":19.014124000000265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with wrap=false (single-line ellipsis)","status":"passed","title":"Renders <Testimonial /> with wrap=false (single-line ellipsis)","duration":35.231742000000395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render footer when no attribution provided","status":"passed","title":"Does not render footer when no attribution provided","duration":6.873091000000386,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with padded=false","status":"passed","title":"Renders <Testimonial /> with padded=false","duration":18.300422000000253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with padded=\"horizontal\"","status":"passed","title":"Renders <Testimonial /> with padded=\"horizontal\"","duration":33.451184999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with padded=\"vertical\"","status":"passed","title":"Renders <Testimonial /> with padded=\"vertical\"","duration":28.30680600000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with custom paddingSize","status":"passed","title":"Renders <Testimonial /> with custom paddingSize","duration":13.85738500000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Testimonial /> with custom theme","status":"passed","title":"Renders <Testimonial /> with custom theme","duration":26.46415100000013,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576018570,"endTime":1792576020118.464,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Testimonial.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Timeline /> with items properly","status":"passed","title":"Renders <Timeline /> with items properly","duration":256.74169699999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with icons properly","status":"passed","title":"Renders <Timeline /> with icons properly","duration":44.70473899999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with title and content using ReqoreSpan and ReqoreP","status":"passed","title":"Renders <Timeline /> with title and content using ReqoreSpan and ReqoreP","duration":33.838134999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with timestamp","status":"passed","title":"Renders <Timeline /> with timestamp","duration":20.276558000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with relative time via TimeAgo","status":"passed","title":"Renders <Timeline /> with relative time via TimeAgo","duration":17.591856000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with different sizes","status":"passed","title":"Renders <Timeline /> with different sizes","duration":115.75086899999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with intent","status":"passed","title":"Renders <Timeline /> with intent","duration":30.022843999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with item-level intents","status":"passed","title":"Renders <Timeline /> with item-level intents","duration":88.04778800000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Handles onClick on timeline items","status":"passed","title":"Handles onClick on timeline items","duration":68.758648,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not call onClick when item is disabled","status":"passed","title":"Does not call onClick when item is disabled","duration":35.03906800000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Handles keyboard interaction on clickable items","status":"passed","title":"Handles keyboard interaction on clickable items","duration":24.614530999999715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with fluid prop","status":"passed","title":"Renders <Timeline /> with fluid prop","duration":29.75083199999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with single item (no trailing line)","status":"passed","title":"Renders <Timeline /> with single item (no trailing line)","duration":18.214414000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> without icons (uses dots)","status":"passed","title":"Renders <Timeline /> without icons (uses dots)","duration":33.23598700000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with badges on items","status":"passed","title":"Renders <Timeline /> with badges on items","duration":158.9133770000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> with collapsible items","status":"passed","title":"Renders <Timeline /> with collapsible items","duration":61.43975499999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Toggling collapse on a collapsible item","status":"passed","title":"Toggling collapse on a collapsible item","duration":23.216996999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Controlled collapse: reads collapsed state from collapsedState prop","status":"passed","title":"Controlled collapse: reads collapsed state from collapsedState prop","duration":29.592952999999852,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Controlled collapse: onCollapseChange fires with correct args when toggled","status":"passed","title":"Controlled collapse: onCollapseChange fires with correct args when toggled","duration":17.47172899999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Controlled collapse: onCollapseChange fires with false when already collapsed","status":"passed","title":"Controlled collapse: onCollapseChange fires with false when already collapsed","duration":18.8297120000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Controlled collapse: items not in collapsedState map fall back to isCollapsed prop","status":"passed","title":"Controlled collapse: items not in collapsedState map fall back to isCollapsed prop","duration":21.27455000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Uncontrolled collapse: onCollapseChange fires when internal state changes","status":"passed","title":"Uncontrolled collapse: onCollapseChange fires when internal state changes","duration":35.459237999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Timeline /> title-only items with connecting lines","status":"passed","title":"Renders <Timeline /> title-only items with connecting lines","duration":20.823403999999755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Collapsed range: folds items behind an \"N hidden\" marker until expanded","status":"passed","title":"Collapsed range: folds items behind an \"N hidden\" marker until expanded","duration":113.35846400000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Collapsed range: custom label, defaultExpanded and onRangeToggle","status":"passed","title":"Collapsed range: custom label, defaultExpanded and onRangeToggle","duration":34.75545899999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A highlighted item is the current step: a haloed marker and a bolder title","status":"passed","title":"A highlighted item is the current step: a haloed marker and a bolder title","duration":219.22257500000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A highlighted item without an intent takes a neutral halo, sized by the timeline","status":"passed","title":"A highlighted item without an intent takes a neutral halo, sized by the timeline","duration":90.50100300000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A pending item shows a spinning loader in place of its icon or dot","status":"passed","title":"A pending item shows a spinning loader in place of its icon or dot","duration":43.87728899999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A pending item replaces its own icon, in its colour","status":"passed","title":"A pending item replaces its own icon, in its colour","duration":13.546096000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Highlighted and pending work on a horizontal timeline","status":"passed","title":"Highlighted and pending work on a horizontal timeline","duration":185.8913419999999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575938366,"endTime":1792575940271.8914,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/Timeline.test.tsx"},{"assertionResults":[{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreEntityRow draws it in a block, not a paragraph","status":"passed","title":"ReqoreEntityRow draws it in a block, not a paragraph","duration":319.5136050000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreSeverityRow draws it in a block, not a paragraph","status":"passed","title":"ReqoreSeverityRow draws it in a block, not a paragraph","duration":97.32245999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreCallout with a label draws it in a block, not a paragraph","status":"passed","title":"ReqoreCallout with a label draws it in a block, not a paragraph","duration":62.048515999999836,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreCallout with a label and children draws it in a block, not a paragraph","status":"passed","title":"ReqoreCallout with a label and children draws it in a block, not a paragraph","duration":26.329023999999663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreFeatureCard draws it in a block, not a paragraph","status":"passed","title":"ReqoreFeatureCard draws it in a block, not a paragraph","duration":98.75382300000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreTier draws it in a block, not a paragraph","status":"passed","title":"ReqoreTier draws it in a block, not a paragraph","duration":498.5256209999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreTier, modern draws it in a block, not a paragraph","status":"passed","title":"ReqoreTier, modern draws it in a block, not a paragraph","duration":308.0675289999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a description given block content"],"fullName":"a description given block content ReqoreTestimonial draws it in a block, not a paragraph","status":"passed","title":"ReqoreTestimonial draws it in a block, not a paragraph","duration":57.31077400000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreEntityRow draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreEntityRow draws the text alone in a paragraph, as before","duration":11.453531999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreSeverityRow draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreSeverityRow draws the text alone in a paragraph, as before","duration":6.9534419999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreCallout with a label draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreCallout with a label draws the text alone in a paragraph, as before","duration":6.837399999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreCallout with a label and children draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreCallout with a label and children draws the text alone in a paragraph, as before","duration":8.492742999999791,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreFeatureCard draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreFeatureCard draws the text alone in a paragraph, as before","duration":13.022158000000218,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreTier draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreTier draws the text alone in a paragraph, as before","duration":37.72998899999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreTier, modern draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreTier, modern draws the text alone in a paragraph, as before","duration":36.02467700000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description ReqoreTestimonial draws the text alone in a paragraph, as before","status":"passed","title":"ReqoreTestimonial draws the text alone in a paragraph, as before","duration":13.967577000000347,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain-text description"],"fullName":"a plain-text description is drawn with the same styles as a paragraph","status":"passed","title":"is drawn with the same styles as a paragraph","duration":6.448636999999508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a callout's children"],"fullName":"a callout's children take block content under a label","status":"passed","title":"take block content under a label","duration":24.4346230000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a callout's children"],"fullName":"a callout's children take block content on their own","status":"passed","title":"take block content on their own","duration":38.4615589999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the nesting detector"],"fullName":"the nesting detector finds a block in a paragraph and in a span","status":"passed","title":"finds a block in a paragraph and in a span","duration":7.101999999999862,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576039270,"endTime":1792576040950.102,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/blockDescriptions.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Draws every crumb when the trail has room for them","status":"passed","title":"Draws every crumb when the trail has room for them","duration":410.4186099999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Folds crumbs from the start into a \"…\" menu until the rest fits","status":"passed","title":"Folds crumbs from the start into a \"…\" menu until the rest fits","duration":256.14681199999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Folds the current page too, into one dropdown labelled with it, when even it does not fit","status":"passed","title":"Folds the current page too, into one dropdown labelled with it, when even it does not fit","duration":245.42962399999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Never drops the current page, however much has to collapse","status":"passed","title":"Never drops the current page, however much has to collapse","duration":63.27754199999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Names the folded current page in full: the leaf's own name, its label or menu label","status":"passed","title":"Names the folded current page in full: the leaf's own name, its label or menu label","duration":442.43509399999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A new trail is folded as it is rendered, from the crumbs folded before, unfolding while they fit","status":"passed","title":"A new trail is folded as it is rendered, from the crumbs folded before, unfolding while they fit","duration":152.81056200000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A trail drawn alike, with new handlers, is not measured again","status":"passed","title":"A trail drawn alike, with new handlers, is not measured again","duration":137.02083500000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the right element in its own region, separate from the trail","status":"passed","title":"Renders the right element in its own region, separate from the trail","duration":82.19063600000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Static (non-responsive) trail renders every crumb, with working tooltips","status":"passed","title":"Static (non-responsive) trail renders every crumb, with working tooltips","duration":519.566124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Folds another crumb rather than squeeze the crumb holding tabs, until that crumb is the first shown","status":"passed","title":"Folds another crumb rather than squeeze the crumb holding tabs, until that crumb is the first shown","duration":353.077319,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Observes the row and every part it draws, by its border box, and lets go of a part it folds","status":"passed","title":"Observes the row and every part it draws, by its border box, and lets go of a part it folds","duration":99.77982000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A static trail observes nothing","status":"passed","title":"A static trail observes nothing","duration":55.593957000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A part that grows past the trail has another crumb folded before the frame is painted","status":"passed","title":"A part that grows past the trail has another crumb folded before the frame is painted","duration":100.37233399999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A trail that gets wider unfolds the crumbs that fit again","status":"passed","title":"A trail that gets wider unfolds the crumbs that fit again","duration":273.0872300000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A width that changed by less than half a pixel, or a part that grew and still fits, changes nothing","status":"passed","title":"A width that changed by less than half a pixel, or a part that grew and still fits, changes nothing","duration":128.68105399999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A trail its own props make wider unfolds the crumbs that fit again","status":"passed","title":"A trail its own props make wider unfolds the crumbs that fit again","duration":174.15450499999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Under a scaled ancestor, a report of the size the trail was drawn at changes nothing","status":"passed","title":"Under a scaled ancestor, a report of the size the trail was drawn at changes nothing","duration":72.47642499999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A trail narrower than the current page's dropdown is not rendered on every frame","status":"passed","title":"A trail narrower than the current page's dropdown is not rendered on every frame","duration":94.81199399999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A trail made wider unfolds a crumb only while its tabs keep the room they all need","status":"passed","title":"A trail made wider unfolds a crumb only while its tabs keep the room they all need","duration":177.6708439999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A fold made inside the observer keeps the trail's height until the next frame","status":"passed","title":"A fold made inside the observer keeps the trail's height until the next frame","duration":88.49761199999921,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575915315,"endTime":1792575919243.4976,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/breadcrumbs.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Bubble /> properly","status":"passed","title":"Renders <Bubble /> properly","duration":100.6924610000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Bubble /> label","status":"passed","title":"Renders <Bubble /> label","duration":25.852322000000186,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders no <Bubble /> header when no label is given","status":"passed","title":"Renders no <Bubble /> header when no label is given","duration":12.580811999999696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the <Bubble /> timestamp below the bubble, not within it","status":"passed","title":"Renders the <Bubble /> timestamp below the bubble, not within it","duration":32.43472399999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Bubble /> without an avatar row when no avatar is given","status":"passed","title":"Renders <Bubble /> without an avatar row when no avatar is given","duration":8.736038999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Caps the timestamp stack, not the bubble, so a capped bubble can still wrap","status":"passed","title":"Caps the timestamp stack, not the bubble, so a capped bubble can still wrap","duration":122.62896499999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the <Bubble /> avatar on the side the bubble hugs","status":"passed","title":"Renders the <Bubble /> avatar on the side the bubble hugs","duration":67.38437400000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Bubble /> corners from radiusSize when given, from size otherwise","status":"passed","title":"Renders <Bubble /> corners from radiusSize when given, from size otherwise","duration":67.82765299999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders one timestamp per same-side run inside a <BubbleGroup />","status":"passed","title":"Renders one timestamp per same-side run inside a <BubbleGroup />","duration":34.87456299999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Aligns a stacked (timestamped) bubble to its own side inside a group","status":"passed","title":"Aligns a stacked (timestamped) bubble to its own side inside a group","duration":22.132794999999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders an image <Bubble /> avatar","status":"passed","title":"Renders an image <Bubble /> avatar","duration":11.425818000000163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders a circular <Bubble /> avatar when `avatar.circle` is set","status":"passed","title":"Renders a circular <Bubble /> avatar when `avatar.circle` is set","duration":43.21504899999991,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576028950,"endTime":1792576029501.215,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/bubble.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Button /> properly","status":"passed","title":"Renders <Button /> properly","duration":372.26433700000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> using `label`","status":"passed","title":"Renders <Button /> using `label`","duration":80.84211800000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Animated <Button /> exposes one accessible label","status":"passed","title":"Animated <Button /> exposes one accessible label","duration":219.94299200000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> indicator when enabled","status":"passed","title":"Renders <Button /> indicator when enabled","duration":42.390523999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> indicator with a custom intent","status":"passed","title":"Renders <Button /> indicator with a custom intent","duration":62.67057699999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render <Button /> indicator by default","status":"passed","title":"Does not render <Button /> indicator by default","duration":27.123743999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with size properly","status":"passed","title":"Renders <Button /> with size properly","duration":366.7731950000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with icon properly","status":"passed","title":"Renders <Button /> with icon properly","duration":32.360615999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with intent properly","status":"passed","title":"Renders <Button /> with intent properly","duration":582.3904099999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with right icon properly","status":"passed","title":"Renders <Button /> with right icon properly","duration":62.88183800000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with icon and right icon properly","status":"passed","title":"Renders <Button /> with icon and right icon properly","duration":59.039858999999524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with onClick function","status":"passed","title":"Renders <Button /> with onClick function","duration":22.957131000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with a 0 badge","status":"passed","title":"Renders <Button /> with a 0 badge","duration":97.85132900000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with a string badge","status":"passed","title":"Renders <Button /> with a string badge","duration":21.48810400000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with a Tag props badge","status":"passed","title":"Renders <Button /> with a Tag props badge","duration":27.71428999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with multiple badges","status":"passed","title":"Renders <Button /> with multiple badges","duration":27.624393000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tooltip on <Button /> works","status":"passed","title":"Tooltip on <Button /> works","duration":380.07245299999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Button /> with raised effect","status":"passed","title":"Renders <Button /> with raised effect","duration":148.03639300000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Button /> keeps the tabIndex it is given","status":"passed","title":"<Button /> keeps the tabIndex it is given","duration":29.155706999999893,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576013417,"endTime":1792576016081.1558,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/button.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a badge without a size spaces itself like a normal-size one","status":"passed","title":"a badge without a size spaces itself like a normal-size one","duration":328.8764900000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a Tier with a badge computes no NaN size","status":"passed","title":"a Tier with a badge computes no NaN size","duration":425.1435809999998,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576117046,"endTime":1792576117800.1436,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/buttonBadgeSize.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"an animated button exposes its label once to assistive technology","status":"passed","title":"an animated button exposes its label once to assistive technology","duration":386.8579199999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"text a button is composed of is one accessible name","status":"passed","title":"text a button is composed of is one accessible name","duration":142.92264000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a button that does not animate draws its label once","status":"passed","title":"a button that does not animate draws its label once","duration":76.02701399999978,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576119790,"endTime":1792576120396.027,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/buttonLabelText.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a data view's section tells the host once per click","status":"passed","title":"a data view's section tells the host once per click","duration":699.3072179999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a timeline's collapsible item tells the host once per click","status":"passed","title":"a timeline's collapsible item tells the host once per click","duration":228.44088999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a timeline's item that starts collapsed opens on the first click","status":"passed","title":"a timeline's item that starts collapsed opens on the first click","duration":47.18547099999978,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576098672,"endTime":1792576099647.1855,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/callbackOncePerChange.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Checkbox /> properly","status":"passed","title":"Renders <Checkbox /> properly","duration":583.858275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tooltip on <Checkbox /> works","status":"passed","title":"Tooltip on <Checkbox /> works","duration":304.71511999999984,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576128830,"endTime":1792576129718.715,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/checkbox.test.tsx"},{"assertionResults":[{"ancestorTitles":["children keyed by what they say"],"fullName":"children keyed by what they say are told apart in a control group, drawn and redrawn once each","status":"passed","title":"are told apart in a control group, drawn and redrawn once each","duration":317.3871989999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["children keyed by what they say"],"fullName":"children keyed by what they say are told apart in a menu","status":"passed","title":"are told apart in a menu","duration":216.142026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["children keyed by what they say"],"fullName":"children keyed by what they say leave a child with a key of its own its state when one is added before it","status":"passed","title":"leave a child with a key of its own its state when one is added before it","duration":74.88425199999983,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576095306,"endTime":1792576095914.8843,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/cloneThroughFragmentsDuplicateKeys.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders basic <Collection /> properly","status":"passed","title":"Renders basic <Collection /> properly","duration":2289.4727749999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> items can be filtered","status":"passed","title":"<Collection /> items can be filtered","duration":1188.2881360000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> filter is properly removed by the clear button","status":"passed","title":"<Collection /> filter is properly removed by the clear button","duration":643.1591900000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> filter is focused when a shortcut is pressed","status":"passed","title":"<Collection /> filter is focused when a shortcut is pressed","duration":528.0587249999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> shows no data message when empty","status":"passed","title":"<Collection /> shows no data message when empty","duration":28.39861100000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> has default paging","status":"passed","title":"<Collection /> has default paging","duration":905.9737299999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> has list paging","status":"passed","title":"<Collection /> has list paging","duration":434.72441999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> has infinite paging","status":"passed","title":"<Collection /> has infinite paging","duration":762.6386210000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> has custom paging","status":"passed","title":"<Collection /> has custom paging","duration":2417.4600840000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> has 2 paging controls","status":"passed","title":"<Collection /> has 2 paging controls","duration":282.0212040000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> renders every non-Ungrouped group inside a panel","status":"passed","title":"<Collection /> renders every non-Ungrouped group inside a panel","duration":181.33202099999835,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> applies group config (label, description, icon, collapsible)","status":"passed","title":"<Collection /> applies group config (label, description, icon, collapsible)","duration":686.5441769999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> sortByGroupFirst=false sorts by custom field before group","status":"passed","title":"<Collection /> sortByGroupFirst=false sorts by custom field before group","duration":172.7768079999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> keeps its own order of search matches by default","status":"passed","title":"<Collection /> keeps its own order of search matches by default","duration":224.0173870000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Collection /> ranks search matches by relevance when opted in","status":"passed","title":"<Collection /> ranks search matches by relevance when opted in","duration":198.23396599999978,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575963067,"endTime":1792575974010.234,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/collection.test.tsx"},{"assertionResults":[{"ancestorTitles":["the confirmation dialog at a narrow width"],"fullName":"the confirmation dialog at a narrow width names both of its buttons on a phone, where an icon alone would not","status":"passed","title":"names both of its buttons on a phone, where an icon alone would not","duration":818.2399169999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the confirmation dialog at a narrow width"],"fullName":"the confirmation dialog at a narrow width names both of its buttons on a desktop, as it always did","status":"passed","title":"names both of its buttons on a desktop, as it always did","duration":149.75180899999987,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576095018,"endTime":1792576095986.7517,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/confirmationModalLabels.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <ControlGroupItem /> as a single child of the group","status":"passed","title":"Renders <ControlGroupItem /> as a single child of the group","duration":294.54758300000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<ControlGroupItem /> stacks its children by default and can go horizontal","status":"passed","title":"<ControlGroupItem /> stacks its children by default and can go horizontal","duration":148.3203870000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<ControlGroupItem /> mirrors the group’s own child sizing","status":"passed","title":"<ControlGroupItem /> mirrors the group’s own child sizing","duration":60.59934800000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<ControlGroupItem /> keeps group-injected props off the DOM","status":"passed","title":"<ControlGroupItem /> keeps group-injected props off the DOM","duration":26.009637999999995,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576091716,"endTime":1792576092245.0095,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/controlGroup-item.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"stacked ControlGroup squares the inner corners of pill children","status":"passed","title":"stacked ControlGroup squares the inner corners of pill children","duration":303.697138,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576119972,"endTime":1792576120275.697,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/controlGroup-stack.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a group that sets no `minimal` does not clear a child wrapper’s own default","status":"passed","title":"a group that sets no `minimal` does not clear a child wrapper’s own default","duration":300.6789210000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a wrapper that defends its default renders the same either way","status":"passed","title":"a wrapper that defends its default renders the same either way","duration":26.12430200000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"the group still overrides a child that set nothing, when the group DID set it","status":"passed","title":"the group still overrides a child that set nothing, when the group DID set it","duration":31.12082700000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a child’s own value still beats the group’s","status":"passed","title":"a child’s own value still beats the group’s","duration":82.29850899999974,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576080443,"endTime":1792576080883.2986,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/controlGroupChildProps.test.tsx"},{"assertionResults":[{"ancestorTitles":["a responsive control group that has to fold"],"fullName":"a responsive control group that has to fold stops answering its observer once it has folded","status":"passed","title":"stops answering its observer once it has folded","duration":243.6724019999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a responsive control group that has to fold"],"fullName":"a responsive control group that has to fold leaves a group that fits alone, and never folds it","status":"passed","title":"leaves a group that fits alone, and never folds it","duration":12.824901999999838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a responsive control group that has to fold"],"fullName":"a responsive control group that has to fold unfolds again when the container gives the room back","status":"passed","title":"unfolds again when the container gives the room back","duration":24.54952000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a responsive control group that has to fold"],"fullName":"a responsive control group that has to fold folds again when the container takes the room back","status":"passed","title":"folds again when the container takes the room back","duration":35.1545159999996,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576026206,"endTime":1792576026522.1545,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/controlGroupResponsiveSettles.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <ControlGroup /> properly","status":"passed","title":"Renders <ControlGroup /> properly","duration":557.425679,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not forward ControlGroup styling props to the DOM","status":"passed","title":"Does not forward ControlGroup styling props to the DOM","duration":170.91201900000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not forward inherited ControlGroup props through polymorphic components","status":"passed","title":"Does not forward inherited ControlGroup props through polymorphic components","duration":63.03124000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not clone Reqore styling props onto intrinsic children","status":"passed","title":"Does not clone Reqore styling props onto intrinsic children","duration":10.922298999999839,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not forward a propagated fill flag through a dropdown button","status":"passed","title":"Does not forward a propagated fill flag through a dropdown button","duration":231.76893699999982,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576091427,"endTime":1792576092461.769,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/control_group.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <ReqoreDataView /> with a record payload","status":"passed","title":"Renders <ReqoreDataView /> with a record payload","duration":698.0536380000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the empty state when data is null / empty","status":"passed","title":"Renders the empty state when data is null / empty","duration":98.64111799999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onItemClick when a leaf value is clicked","status":"passed","title":"Calls onItemClick when a leaf value is clicked","duration":312.3654379999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Toggles a nested section when its summary is clicked","status":"passed","title":"Toggles a nested section when its summary is clicked","duration":188.50562499999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Recognises and unwraps the default {type, value} envelope","status":"passed","title":"Recognises and unwraps the default {type, value} envelope","duration":137.1920369999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hides the type chip by default (showTypes defaults to false)","status":"passed","title":"Hides the type chip by default (showTypes defaults to false)","duration":10.959284999999909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Accepts the `flat` prop and renders without errors in both states","status":"passed","title":"Accepts the `flat` prop and renders without errors in both states","duration":124.02174599999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Accepts a custom `keyColor` + `keyIntent` without crashing","status":"passed","title":"Accepts a custom `keyColor` + `keyIntent` without crashing","duration":124.13818700000047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Honours a custom `keyIntent` and `null` (drops intent)","status":"passed","title":"Honours a custom `keyIntent` and `null` (drops intent)","duration":115.8639060000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders a long string value without truncating its content","status":"passed","title":"Renders a long string value without truncating its content","duration":17.54171799999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders multiline strings as bounded monospace data blocks","status":"passed","title":"Renders multiline strings as bounded monospace data blocks","duration":102.63733700000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Normalizes lone-CR line endings (HL7 segment separators) to real line breaks","status":"passed","title":"Normalizes lone-CR line endings (HL7 segment separators) to real line breaks","duration":42.746806000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Applies monospace data styling directly to scalar tag content","status":"passed","title":"Applies monospace data styling directly to scalar tag content","duration":75.94192599999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders a long key without dropping the row or the value next to it","status":"passed","title":"Renders a long key without dropping the row or the value next to it","duration":18.67044200000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders at every size prop value","status":"passed","title":"Renders at every size prop value","duration":3862.188097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Supports a custom envelope shape via the `envelope` prop","status":"passed","title":"Supports a custom envelope shape via the `envelope` prop","duration":22.001124000000345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Inlines scalar arrays as a chip row instead of an expanded list","status":"passed","title":"Inlines scalar arrays as a chip row instead of an expanded list","duration":19.98628599999938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls parseEmbedded for strings and renders the parsed shape","status":"passed","title":"Calls parseEmbedded for strings and renders the parsed shape","duration":19.70861700000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreIsEnvelope / reqoreUnwrapEnvelope"],"fullName":"reqoreIsEnvelope / reqoreUnwrapEnvelope recognises and unwraps the default envelope","status":"passed","title":"recognises and unwraps the default envelope","duration":0.5090209999998478,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreIsEnvelope / reqoreUnwrapEnvelope"],"fullName":"reqoreIsEnvelope / reqoreUnwrapEnvelope does not recognise envelopes with the wrong shape","status":"passed","title":"does not recognise envelopes with the wrong shape","duration":0.457445000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreIsEnvelope / reqoreUnwrapEnvelope"],"fullName":"reqoreIsEnvelope / reqoreUnwrapEnvelope supports allowed-keys strict matching","status":"passed","title":"supports allowed-keys strict matching","duration":0.37946000000010827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreIsEnvelope / reqoreUnwrapEnvelope"],"fullName":"reqoreIsEnvelope / reqoreUnwrapEnvelope passes non-envelopes through unchanged when unwrapping","status":"passed","title":"passes non-envelopes through unchanged when unwrapping","duration":0.27812100000119244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreFormatScalar"],"fullName":"reqoreFormatScalar returns an em-dash for empty values","status":"passed","title":"returns an em-dash for empty values","duration":0.40477699999973993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreFormatScalar"],"fullName":"reqoreFormatScalar renders numbers + booleans as their string form","status":"passed","title":"renders numbers + booleans as their string form","duration":0.3109889999996085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreFormatScalar"],"fullName":"reqoreFormatScalar passes plain strings through unchanged","status":"passed","title":"passes plain strings through unchanged","duration":0.2885150000001886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreFormatScalar"],"fullName":"reqoreFormatScalar formats ISO date strings as locale strings when the type label says so","status":"passed","title":"formats ISO date strings as locale strings when the type label says so","duration":0.36841399999866553,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreFormatScalar"],"fullName":"reqoreFormatScalar supports a custom formatDate hook","status":"passed","title":"supports a custom formatDate hook","duration":0.29395300000032876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreFormatScalar"],"fullName":"reqoreFormatScalar does NOT accidentally parse an integer string as a date","status":"passed","title":"does NOT accidentally parse an integer string as a date","duration":0.2504589999989548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreHasStructuredValue"],"fullName":"reqoreHasStructuredValue returns false for null / undefined / empty","status":"passed","title":"returns false for null / undefined / empty","duration":0.4263089999985823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreHasStructuredValue"],"fullName":"reqoreHasStructuredValue returns true for populated records, arrays and scalars","status":"passed","title":"returns true for populated records, arrays and scalars","duration":0.37951000000066415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreHasStructuredValue"],"fullName":"reqoreHasStructuredValue unwraps envelopes before checking","status":"passed","title":"unwraps envelopes before checking","duration":0.3086750000002212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreSetAtPath"],"fullName":"reqoreSetAtPath replaces the entire tree when the path is empty","status":"passed","title":"replaces the entire tree when the path is empty","duration":0.3864899999989575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreSetAtPath"],"fullName":"reqoreSetAtPath sets a top-level record key","status":"passed","title":"sets a top-level record key","duration":0.7649080000010144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreSetAtPath"],"fullName":"reqoreSetAtPath sets a nested record key","status":"passed","title":"sets a nested record key","duration":0.5651040000011562,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreSetAtPath"],"fullName":"reqoreSetAtPath sets an array index by string path","status":"passed","title":"sets an array index by string path","duration":0.46355399999993097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreSetAtPath"],"fullName":"reqoreSetAtPath extends an array when the index is past the end","status":"passed","title":"extends an array when the index is past the end","duration":0.2967480000006617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreSetAtPath"],"fullName":"reqoreSetAtPath creates intermediate containers when walking through a scalar","status":"passed","title":"creates intermediate containers when walking through a scalar","duration":0.4691419999999198,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreSetAtPath"],"fullName":"reqoreSetAtPath creates an intermediate array when the next segment is numeric","status":"passed","title":"creates an intermediate array when the next segment is numeric","duration":0.35898900000029244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreDeleteAtPath"],"fullName":"reqoreDeleteAtPath drops a top-level record key","status":"passed","title":"drops a top-level record key","duration":0.45805599999948754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreDeleteAtPath"],"fullName":"reqoreDeleteAtPath splices an array index","status":"passed","title":"splices an array index","duration":0.31425299999864365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreDeleteAtPath"],"fullName":"reqoreDeleteAtPath returns input unchanged when the path is not resolvable","status":"passed","title":"returns input unchanged when the path is not resolvable","duration":0.24969899999996414,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreDeleteAtPath"],"fullName":"reqoreDeleteAtPath returns undefined when the path is empty","status":"passed","title":"returns undefined when the path is empty","duration":0.27051899999969464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind keeps a string unchanged when coerced to string","status":"passed","title":"keeps a string unchanged when coerced to string","duration":0.3080850000005739,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind stringifies a number when coerced to string","status":"passed","title":"stringifies a number when coerced to string","duration":0.19724200000018755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind parses a numeric string to a number","status":"passed","title":"parses a numeric string to a number","duration":0.18132800000057614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind falls back to 0 when the source string is not numeric","status":"passed","title":"falls back to 0 when the source string is not numeric","duration":0.18032600000151433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind maps true/1/yes string to a true boolean","status":"passed","title":"maps true/1/yes string to a true boolean","duration":0.2655209999993531,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind maps non-zero numbers to true","status":"passed","title":"maps non-zero numbers to true","duration":0.1957089999996242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind keeps an existing record when coerced to object","status":"passed","title":"keeps an existing record when coerced to object","duration":0.18079699999907461,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind returns an empty object when scalar coerced to object","status":"passed","title":"returns an empty object when scalar coerced to object","duration":0.20138699999915843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind keeps an existing array when coerced to array","status":"passed","title":"keeps an existing array when coerced to array","duration":0.3134620000000723,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind returns an empty array when scalar coerced to array","status":"passed","title":"returns an empty array when scalar coerced to array","duration":0.2303089999986696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreCoerceValueToKind"],"fullName":"reqoreCoerceValueToKind always returns null for null kind","status":"passed","title":"always returns null for null kind","duration":0.1860739999992802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreRenameKeyAtPath"],"fullName":"reqoreRenameKeyAtPath renames a top-level key preserving insertion order","status":"passed","title":"renames a top-level key preserving insertion order","duration":0.4526079999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreRenameKeyAtPath"],"fullName":"reqoreRenameKeyAtPath refuses to overwrite an existing key","status":"passed","title":"refuses to overwrite an existing key","duration":0.22353000000111933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreRenameKeyAtPath"],"fullName":"reqoreRenameKeyAtPath renames a nested key under an array path","status":"passed","title":"renames a nested key under an array path","duration":0.3557249999994383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["reqoreRenameKeyAtPath"],"fullName":"reqoreRenameKeyAtPath returns input unchanged when oldKey is missing","status":"passed","title":"returns input unchanged when oldKey is missing","duration":0.2048320000012609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView renders chips by default (no inputs until clicked)","status":"passed","title":"renders chips by default (no inputs until clicked)","duration":1485.7995200000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView swaps chip → input on click and commits the edit on Enter","status":"passed","title":"swaps chip → input on click and commits the edit on Enter","duration":1228.7794209999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView commits via the visible Save button","status":"passed","title":"commits via the visible Save button","duration":99.91077100000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView reverts via the visible Cancel button without firing onCommit","status":"passed","title":"reverts via the visible Cancel button without firing onCommit","duration":89.65065799999866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView reverts on Escape without firing onCommit","status":"passed","title":"reverts on Escape without firing onCommit","duration":90.04672299999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView commits a numeric edit as a Number, not a string","status":"passed","title":"commits a numeric edit as a Number, not a string","duration":115.82013499999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView renders a boolean as a chip in display mode (no inline checkbox)","status":"passed","title":"renders a boolean as a chip in display mode (no inline checkbox)","duration":58.592429999998785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView edits a boolean via chip → checkbox toggle → save","status":"passed","title":"edits a boolean via chip → checkbox toggle → save","duration":463.14994600000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView discards a boolean toggle when Cancel is clicked","status":"passed","title":"discards a boolean toggle when Cancel is clicked","duration":101.00130999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView shows the type picker when editing a boolean","status":"passed","title":"shows the type picker when editing a boolean","duration":89.98904299999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView renames a key via the inline key cell","status":"passed","title":"renames a key via the inline key cell","duration":98.04647100000147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView refuses a duplicate key rename","status":"passed","title":"refuses a duplicate key rename","duration":66.93075200000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView removes a row when the delete action fires","status":"passed","title":"removes a row when the delete action fires","duration":58.31344799999897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView adds a new string property via the Add property affordance","status":"passed","title":"adds a new string property via the Add property affordance","duration":523.7210749999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView refuses an empty key from the Add property affordance","status":"passed","title":"refuses an empty key from the Add property affordance","duration":35.2576199999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView appends an item to an array via the Add item affordance","status":"passed","title":"appends an item to an array via the Add item affordance","duration":245.4361140000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView exposes no type picker outside edit mode","status":"passed","title":"exposes no type picker outside edit mode","duration":28.953338999999687,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView shows the type picker only while editing the value","status":"passed","title":"shows the type picker only while editing the value","duration":36.361399000001256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView coerces a numeric-string draft to a Number when type-picking","status":"passed","title":"coerces a numeric-string draft to a Number when type-picking","duration":1676.4338740000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView falls back to 0 when type-picking Number from a non-numeric string","status":"passed","title":"falls back to 0 when type-picking Number from a non-numeric string","duration":176.16345699999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView converts a scalar to an empty object via the edit-mode type picker","status":"passed","title":"converts a scalar to an empty object via the edit-mode type picker","duration":381.51108399999794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["editable DataView"],"fullName":"editable DataView deletes an array item via the per-row action group","status":"passed","title":"deletes an array item via the per-row action group","duration":83.32576599999811,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the fonts of an editable DataView"],"fullName":"the fonts of an editable DataView sets the values in monospace and the controls in a value cell in the theme font","status":"passed","title":"sets the values in monospace and the controls in a value cell in the theme font","duration":674.1138430000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the fonts of an editable DataView"],"fullName":"the fonts of an editable DataView keeps the controls in a value cell out of the monospace without a theme font","status":"passed","title":"keeps the controls in a value cell out of the monospace without a theme font","duration":170.88596099999995,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575903033,"endTime":1792575917117.886,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/dataView.test.tsx"},{"assertionResults":[{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a bare DatePicker","status":"passed","title":"a bare DatePicker","duration":374.1568729999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a minimal pill DatePicker with time","status":"passed","title":"a minimal pill DatePicker with time","duration":216.6889369999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM filling Tabs","status":"passed","title":"filling Tabs","duration":306.0098320000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a filling Collection with a height","status":"passed","title":"a filling Collection with a height","duration":680.4215510000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Checkbox given `fill`","status":"passed","title":"a Checkbox given `fill`","duration":169.10029200000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a filling ControlGroup of Tag, Paragraph, Input, Checkbox and Button","status":"passed","title":"a filling ControlGroup of Tag, Paragraph, Input, Checkbox and Button","duration":576.1148320000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Slider in a filling ControlGroup","status":"passed","title":"a Slider in a filling ControlGroup","duration":336.9019079999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a resizable Menu with a width","status":"passed","title":"a resizable Menu with a width","duration":312.69426099999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Link rendered as a router link","status":"passed","title":"a Link rendered as a router link","duration":88.51164200000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Message with a tooltip","status":"passed","title":"a Message with a tooltip","duration":229.85627599999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM an open Popover whose content is a DOM element","status":"passed","title":"an open Popover whose content is a DOM element","duration":669.4107180000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM an open Popover whose content is a Message","status":"passed","title":"an open Popover whose content is a Message","duration":81.46061699999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Timeline with tooltips","status":"passed","title":"a Timeline with tooltips","duration":339.160261,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Navbar","status":"passed","title":"a Navbar","duration":83.76157300000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Tree given a `mode`","status":"passed","title":"a Tree given a `mode`","duration":390.4822029999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Panel with an opacity and bottom actions","status":"passed","title":"a Panel with an opacity and bottom actions","duration":248.22159800000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a resizable, rounded, interactive Panel","status":"passed","title":"a resizable, rounded, interactive Panel","duration":244.64845499999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a KeyValueTable","status":"passed","title":"a KeyValueTable","duration":1199.3668290000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Button rendered as a router link in a vertical stack group","status":"passed","title":"a Button rendered as a router link in a vertical stack group","duration":698.731479,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Breadcrumbs item rendered as a router link","status":"passed","title":"a Breadcrumbs item rendered as a router link","duration":231.6301939999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Menu item rendered as a router link","status":"passed","title":"a Menu item rendered as a router link","duration":34.634375000001455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Tag rendered as a router link in a control group","status":"passed","title":"a Tag rendered as a router link in a control group","duration":296.711045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Paragraph rendered as a router link in a control group","status":"passed","title":"a Paragraph rendered as a router link in a control group","duration":95.3744970000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a transparent Panel rendered as a router link","status":"passed","title":"a transparent Panel rendered as a router link","duration":220.55386499999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a resizable, transparent Panel","status":"passed","title":"a resizable, transparent Panel","duration":273.62297599999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a resizable Panel in a stack group","status":"passed","title":"a resizable Panel in a stack group","duration":374.870809,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Tabs list item rendered as a router link","status":"passed","title":"a Tabs list item rendered as a router link","duration":615.6936260000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Textarea rendered as an editor component","status":"passed","title":"a Textarea rendered as an editor component","duration":539.68066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM an animated Icon in a control group","status":"passed","title":"an animated Icon in a control group","duration":65.34930700000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a checked, read-only, disabled Checkbox and Switch","status":"passed","title":"a checked, read-only, disabled Checkbox and Switch","duration":924.6224340000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a read-only Rating","status":"passed","title":"a read-only Rating","duration":156.02021599999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM an Accordion with a disabled item","status":"passed","title":"an Accordion with a disabled item","duration":578.2758749999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Dropdown with a placeholder","status":"passed","title":"a Dropdown with a placeholder","duration":10.82036700000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Collection with a selected item","status":"passed","title":"a Collection with a selected item","duration":274.3316219999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Textarea in a filling stack group, and one rendered as an editor component","status":"passed","title":"a Textarea in a filling stack group, and one rendered as an editor component","duration":473.06004700000085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM the description components in a filling stack group","status":"passed","title":"the description components in a filling stack group","duration":1472.5304590000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM the description components rendered as a router link in a filling group","status":"passed","title":"the description components rendered as a router link in a filling group","duration":1422.7532580000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["no styling prop reaches the DOM"],"fullName":"no styling prop reaches the DOM a Spacer","status":"passed","title":"a Spacer","duration":96.35044299999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a component rendered as another DOM tag"],"fullName":"a component rendered as another DOM tag a Panel as a fieldset is a disabled fieldset","status":"passed","title":"a Panel as a fieldset is a disabled fieldset","duration":121.31131500000265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a component rendered as another DOM tag"],"fullName":"a component rendered as another DOM tag a Tag as a button is a disabled button","status":"passed","title":"a Tag as a button is a disabled button","duration":140.5981329999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a component rendered as another DOM tag"],"fullName":"a component rendered as another DOM tag a disabled Panel and Tag keep `disabled` off the div and span they render by default","status":"passed","title":"a disabled Panel and Tag keep `disabled` off the div and span they render by default","duration":152.02254600000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the leak detector"],"fullName":"the leak detector finds a styling flag a DOM element was given","status":"passed","title":"finds a styling flag a DOM element was given","duration":3.986684999999852,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the leak detector"],"fullName":"the leak detector finds a Reqore `size` a component target's element was given","status":"passed","title":"finds a Reqore `size` a component target's element was given","duration":3.0707929999989574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the leak detector"],"fullName":"the leak detector leaves real attributes, data and aria attributes, and SVG presentation alone","status":"passed","title":"leaves real attributes, data and aria attributes, and SVG presentation alone","duration":5.75667699999758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"REQORE_CONTROL_GROUP_CHILD_PROPS names every prop a control group hands its children","status":"passed","title":"REQORE_CONTROL_GROUP_CHILD_PROPS names every prop a control group hands its children","duration":4.264815000002272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqoreButton forwards what its element needs","status":"passed","title":"ReqoreButton forwards what its element needs","duration":1.0876749999988533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqoreTag forwards what its element needs","status":"passed","title":"ReqoreTag forwards what its element needs","duration":0.4430639999991399,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqoreTextarea forwards what its element needs","status":"passed","title":"ReqoreTextarea forwards what its element needs","duration":0.44575799999802257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqorePanel forwards what its element needs","status":"passed","title":"ReqorePanel forwards what its element needs","duration":0.36051299999962794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqoreButton keeps back its styling props","status":"passed","title":"ReqoreButton keeps back its styling props","duration":0.47372900000118534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqorePanel keeps back its styling props","status":"passed","title":"ReqorePanel keeps back its styling props","duration":0.4301850000010745,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqoreTag keeps back its styling props","status":"passed","title":"ReqoreTag keeps back its styling props","duration":0.3680129999993369,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the style prop lists"],"fullName":"the style prop lists ReqoreTextarea keeps back its styling props","status":"passed","title":"ReqoreTextarea keeps back its styling props","duration":0.36066199999913806,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575919880,"endTime":1792575935720.3606,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/domPropLeaks.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Does not render <Drawer /> if not open","status":"passed","title":"Does not render <Drawer /> if not open","duration":107.17368399999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders opened <Drawer /> properly","status":"passed","title":"Renders opened <Drawer /> properly","duration":181.1600440000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders hidable <Drawer /> properly","status":"passed","title":"Renders hidable <Drawer /> properly","duration":252.555793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders closable <Drawer /> properly","status":"passed","title":"Renders closable <Drawer /> properly","duration":74.47430600000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Drawer /> with interactive backdrop","status":"passed","title":"Renders <Drawer /> with interactive backdrop","duration":96.89277099999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not forward backdrop styling props to the DOM","status":"passed","title":"Does not forward backdrop styling props to the DOM","duration":41.63709400000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Drawer /> actions are changed properly","status":"passed","title":"<Drawer /> actions are changed properly","duration":312.2632600000002,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576084660,"endTime":1792576085727.2632,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawer.test.tsx"},{"assertionResults":[{"ancestorTitles":["the size a modal cannot be dragged below"],"fullName":"the size a modal cannot be dragged below keeps its own chrome on screen","status":"passed","title":"keeps its own chrome on screen","duration":590.094748,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size a modal cannot be dragged below"],"fullName":"the size a modal cannot be dragged below lets a modal that knows its content raise the floor on both axes","status":"passed","title":"lets a modal that knows its content raise the floor on both axes","duration":89.27829500000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size a modal cannot be dragged below"],"fullName":"the size a modal cannot be dragged below lets it raise each axis on its own","status":"passed","title":"lets it raise each axis on its own","duration":57.19447100000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size a modal cannot be dragged below"],"fullName":"the size a modal cannot be dragged below takes the per-axis floor over the shared one","status":"passed","title":"takes the per-axis floor over the shared one","duration":66.9787409999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size a modal cannot be dragged below"],"fullName":"the size a modal cannot be dragged below is still under every modal it is applied to, so nothing is resized by it","status":"passed","title":"is still under every modal it is applied to, so nothing is resized by it","duration":58.625332999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["an edge drawer keeps the floor it had"],"fullName":"an edge drawer keeps the floor it had resizes on one axis and floors that one","status":"passed","title":"resizes on one axis and floors that one","duration":105.43280400000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["an edge drawer keeps the floor it had"],"fullName":"an edge drawer keeps the floor it had still takes minSize on the axis it drags","status":"passed","title":"still takes minSize on the axis it drags","duration":58.46415500000012,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576083455,"endTime":1792576084481.464,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawerMinimumSize.test.tsx"},{"assertionResults":[{"ancestorTitles":["the handles a modal is resized by"],"fullName":"the handles a modal is resized by draws one for every edge and every corner","status":"passed","title":"draws one for every edge and every corner","duration":521.7360020000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the handles a modal is resized by"],"fullName":"the handles a modal is resized by hangs each corner across the corner it drags, not inside it","status":"passed","title":"hangs each corner across the corner it drags, not inside it","duration":102.25068800000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the handles a modal is resized by"],"fullName":"the handles a modal is resized by does not clip the box, so the half of a handle outside it survives","status":"passed","title":"does not clip the box, so the half of a handle outside it survives","duration":71.90232300000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the handles a modal is resized by"],"fullName":"the handles a modal is resized by does not clip an edge drawer either, hidable or not","status":"passed","title":"does not clip an edge drawer either, hidable or not","duration":198.4713380000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a drawer that says it cannot be resized"],"fullName":"a drawer that says it cannot be resized draws no handles on a modal","status":"passed","title":"draws no handles on a modal","duration":78.68640300000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a drawer that says it cannot be resized"],"fullName":"a drawer that says it cannot be resized draws no handles on an edge drawer","status":"passed","title":"draws no handles on an edge drawer","duration":56.51503899999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a drawer that says it cannot be resized"],"fullName":"a drawer that says it cannot be resized still draws them when resizing is left alone","status":"passed","title":"still draws them when resizing is left alone","duration":98.18102799999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576060332,"endTime":1792576061460.181,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawerResizeHandles.test.tsx"},{"assertionResults":[{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout is inactive when the prop is absent or false, on every viewport","status":"passed","title":"is inactive when the prop is absent or false, on every viewport","duration":4.215128999999706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout `true` is the IDE behaviour: a bottom sheet, full width, 90% high, at 900px","status":"passed","title":"`true` is the IDE behaviour: a bottom sheet, full width, 90% high, at 900px","duration":1.4859019999998964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout the default reads only the sheet-breakpoint flag, never the provider flags","status":"passed","title":"the default reads only the sheet-breakpoint flag, never the provider flags","duration":0.6914899999997033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout `below: 'mobile'` narrows the switch to the provider's phone breakpoint","status":"passed","title":"`below: 'mobile'` narrows the switch to the provider's phone breakpoint","duration":3.4145479999997406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout `below: 'tablet'` widens the switch to the provider's tablet breakpoint","status":"passed","title":"`below: 'tablet'` widens the switch to the provider's tablet breakpoint","duration":0.49047299999983807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout a numeric `below` is a px width, answered by the same flag as the default","status":"passed","title":"a numeric `below` is a px width, answered by the same flag as the default","duration":0.5401069999998072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout honours a caller-chosen edge, size and cap, filling in what it did not say","status":"passed","title":"honours a caller-chosen edge, size and cap, filling in what it did not say","duration":0.48962299999993775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["resolveDrawerResponsiveLayout"],"fullName":"resolveDrawerResponsiveLayout never turns a modal into a sheet","status":"passed","title":"never turns a modal into a sheet","duration":0.5352890000003754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["drawerSheetBreakpointPx"],"fullName":"drawerSheetBreakpointPx is the numeric `below`, and the default for everything else","status":"passed","title":"is the numeric `below`, and the default for everything else","duration":4.047453000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreDrawer responsiveLayout on a wide screen"],"fullName":"ReqoreDrawer responsiveLayout on a wide screen renders the caller’s edge panel unchanged and without the sheet class","status":"passed","title":"renders the caller’s edge panel unchanged and without the sheet class","duration":383.3512960000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreDrawer responsiveLayout on a wide screen"],"fullName":"ReqoreDrawer responsiveLayout on a wide screen a modal ignores the prop entirely","status":"passed","title":"a modal ignores the prop entirely","duration":87.86955900000021,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576053967,"endTime":1792576054455.8696,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawerResponsiveLayout.test.tsx"},{"assertionResults":[{"ancestorTitles":["a floating drawer with `responsiveLayout`"],"fullName":"a floating drawer with `responsiveLayout` is a floating side panel on a wide screen","status":"passed","title":"is a floating side panel on a wide screen","duration":467.5432860000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a floating drawer with `responsiveLayout`"],"fullName":"a floating drawer with `responsiveLayout` becomes a sheet flush with the screen when the screen narrows after it entered","status":"passed","title":"becomes a sheet flush with the screen when the screen narrows after it entered","duration":194.56661699999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a floating drawer with `responsiveLayout`"],"fullName":"a floating drawer with `responsiveLayout` is a sheet flush with the screen when it enters on a narrow one","status":"passed","title":"is a sheet flush with the screen when it enters on a narrow one","duration":55.572208000000046,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576110486,"endTime":1792576111203.5723,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawerSheetOffsets.test.tsx"},{"assertionResults":[{"ancestorTitles":["getSheetSwipe"],"fullName":"getSheetSwipe a bottom sheet follows the finger toward its edge and closes past 18% of its size","status":"passed","title":"a bottom sheet follows the finger toward its edge and closes past 18% of its size","duration":3.5328730000001087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSheetSwipe"],"fullName":"getSheetSwipe a top sheet follows the finger toward its edge and closes past 18% of its size","status":"passed","title":"a top sheet follows the finger toward its edge and closes past 18% of its size","duration":0.9874570000001768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSheetSwipe"],"fullName":"getSheetSwipe a right sheet follows the finger toward its edge and closes past 18% of its size","status":"passed","title":"a right sheet follows the finger toward its edge and closes past 18% of its size","duration":1.5626659999998083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSheetSwipe"],"fullName":"getSheetSwipe a left sheet follows the finger toward its edge and closes past 18% of its size","status":"passed","title":"a left sheet follows the finger toward its edge and closes past 18% of its size","duration":0.9162120000000868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSheetSwipe"],"fullName":"getSheetSwipe a flick toward the edge closes a sheet that barely moved; one away from it does not","status":"passed","title":"a flick toward the edge closes a sheet that barely moved; one away from it does not","duration":1.2839650000000802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSheetSwipe"],"fullName":"getSheetSwipe ignores movement across the axis","status":"passed","title":"ignores movement across the axis","duration":0.6497589999999036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isDrawerHeaderGrab"],"fullName":"isDrawerHeaderGrab is the drawer’s own title bar and what is written on it","status":"passed","title":"is the drawer’s own title bar and what is written on it","duration":6.365010999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isDrawerHeaderGrab"],"fullName":"isDrawerHeaderGrab is not a control in the bar, nor the group the actions sit in","status":"passed","title":"is not a control in the bar, nor the group the actions sit in","duration":3.0757990000001882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isDrawerHeaderGrab"],"fullName":"isDrawerHeaderGrab is not the content, nor the title bar of a panel in it","status":"passed","title":"is not the content, nor the title bar of a panel in it","duration":2.3678839999997763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isDrawerHeaderGrab"],"fullName":"isDrawerHeaderGrab is nothing outside the box, and nothing that is not an element","status":"passed","title":"is nothing outside the box, and nothing that is not an element","duration":3.4764099999997597,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreDrawer swipeToClose on a wide screen"],"fullName":"ReqoreDrawer swipeToClose on a wide screen is nothing outside the sheet layout: the box carries no swipe class","status":"passed","title":"is nothing outside the sheet layout: the box carries no swipe class","duration":596.316022,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576057027,"endTime":1792576057648.316,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawerSheetSwipe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Dropdown /> properly","status":"passed","title":"Renders <Dropdown /> properly","duration":804.9033219999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Forwards its ref to the rendered trigger","status":"passed","title":"Forwards its ref to the rendered trigger","duration":13.58728599999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders disabled <Dropdown /> when items are empty","status":"passed","title":"Renders disabled <Dropdown /> when items are empty","duration":27.333556999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders enabled <Dropdown /> when items are empty but customElements are provided","status":"passed","title":"Renders enabled <Dropdown /> when items are empty but customElements are provided","duration":22.049605000000156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders disabled <Dropdown /> when items are not empty & disabled prop is true","status":"passed","title":"Renders disabled <Dropdown /> when items are not empty & disabled prop is true","duration":202.29286600000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Dropdown /> with custom component and custom handler","status":"passed","title":"Renders <Dropdown /> with custom component and custom handler","duration":304.0356389999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Dropdown /> is opened by default","status":"passed","title":"Renders <Dropdown /> is opened by default","duration":93.28665300000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Dropdown /> and calls a function on item click, closes the dropdown","status":"passed","title":"Renders <Dropdown /> and calls a function on item click, closes the dropdown","duration":66.3110140000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders filterable <Dropdown /> and filters items correctly","status":"passed","title":"Renders filterable <Dropdown /> and filters items correctly","duration":458.71176899999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Dropdown /> and updates its items when state changes, does not close dropdown","status":"passed","title":"Renders <Dropdown /> and updates its items when state changes, does not close dropdown","duration":152.05751899999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Dropdown /> with nested items, closes only on leaf item click","status":"passed","title":"Renders <Dropdown /> with nested items, closes only on leaf item click","duration":317.63844699999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation with arrow keys works end-to-end","status":"passed","title":"Keyboard navigation with arrow keys works end-to-end","duration":230.95028599999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation with enter key selects the correct item based on navigation","status":"passed","title":"Keyboard navigation with enter key selects the correct item based on navigation","duration":109.1108379999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation skips disabled items correctly","status":"passed","title":"Keyboard navigation skips disabled items correctly","duration":133.60339499999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation resets focus when filtering changes","status":"passed","title":"Keyboard navigation resets focus when filtering changes","duration":159.3780340000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation with submenu - arrow right opens submenu","status":"passed","title":"Keyboard navigation with submenu - arrow right opens submenu","duration":257.4462659999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation with submenu - arrow left navigates back","status":"passed","title":"Keyboard navigation with submenu - arrow left navigates back","duration":138.7122989999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Auto-enter submenu resets after dropdown close","status":"passed","title":"Auto-enter submenu resets after dropdown close","duration":123.60538200000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation can be disabled completely","status":"passed","title":"Keyboard navigation can be disabled completely","duration":75.62626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Auto-selected parent item - clicking subitem selects subitem not parent","status":"passed","title":"Auto-selected parent item - clicking subitem selects subitem not parent","duration":63.3963760000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation skips disabled items and empty-items items","status":"passed","title":"Keyboard navigation skips disabled items and empty-items items","duration":106.12956700000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Dropdown /> keeps its order of filter matches by default, dividers included","status":"passed","title":"<Dropdown /> keeps its order of filter matches by default, dividers included","duration":107.77455699999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Dropdown /> ranks filter matches by relevance when opted in and drops dividers","status":"passed","title":"<Dropdown /> ranks filter matches by relevance when opted in and drops dividers","duration":74.60169900000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Dropdown /> keeps an item's own data off the button it renders","status":"passed","title":"<Dropdown /> keeps an item's own data off the button it renders","duration":36.19490299999961,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575903025,"endTime":1792575907104.1948,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/dropdown.test.tsx"},{"assertionResults":[{"ancestorTitles":["a dropdown's custom elements"],"fullName":"a dropdown's custom elements keep their state when an element is added before them","status":"passed","title":"keep their state when an element is added before them","duration":629.0954630000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a dropdown's custom elements"],"fullName":"a dropdown's custom elements draw no key warning when given without keys","status":"passed","title":"draw no key warning when given without keys","duration":70.60548100000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a dropdown's custom elements"],"fullName":"a dropdown's custom elements can be a single node","status":"passed","title":"can be a single node","duration":69.06920400000035,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576103508,"endTime":1792576104276.069,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/dropdownCustomElementsKeepState.test.tsx"},{"assertionResults":[{"ancestorTitles":["a dropdown list's rows"],"fullName":"a dropdown list's rows are told apart when two items say the same thing","status":"passed","title":"are told apart when two items say the same thing","duration":866.6613379999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a dropdown list's rows"],"fullName":"a dropdown list's rows are told apart when an item's value is a divider's place","status":"passed","title":"are told apart when an item's value is a divider's place","duration":90.13779199999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a dropdown list's rows"],"fullName":"a dropdown list's rows keep the row an item had when an item is added before it","status":"passed","title":"keep the row an item had when an item is added before it","duration":183.14107799999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a dropdown list's rows"],"fullName":"a dropdown list's rows keep the rows of repeated items when a different item is added before them","status":"passed","title":"keep the rows of repeated items when a different item is added before them","duration":171.98796700000048,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576087331,"endTime":1792576088642.988,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/dropdownItemKeysAreUnique.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <ReqoreEffect /> properly","status":"passed","title":"Renders <ReqoreEffect /> properly","duration":209.16016899999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreTextEffect /> properly","status":"passed","title":"Renders <ReqoreTextEffect /> properly","duration":41.74890400000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreTextEffect /> with frost effect","status":"passed","title":"Renders <ReqoreTextEffect /> with frost effect","duration":23.335728000000017,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576114211,"endTime":1792576114485.3357,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/effect.test.tsx"},{"assertionResults":[{"ancestorTitles":["the effect colour type"],"fullName":"the effect colour type accepts every spelling it always did","status":"passed","title":"accepts every spelling it always did","duration":2.3589540000000397,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the effect colour type"],"fullName":"the effect colour type still refuses what is not a colour","status":"passed","title":"still refuses what is not a colour","duration":0.7956450000001496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the effect colour type"],"fullName":"the effect colour type keeps the documented ranges available","status":"passed","title":"keeps the documented ranges available","duration":0.47109599999998863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the effect colour type"],"fullName":"the effect colour type is small enough to use in an expression","status":"passed","title":"is small enough to use in an expression","duration":0.7996510000000399,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576082299,"endTime":1792576082303.7996,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/effectColorType.test.ts"},{"assertionResults":[{"ancestorTitles":[],"fullName":"ReqoreErrorBoundary logs the caught error to the console","status":"passed","title":"ReqoreErrorBoundary logs the caught error to the console","duration":541.6928829999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ReqoreErrorBoundary still renders a visible fallback when a child throws","status":"passed","title":"ReqoreErrorBoundary still renders a visible fallback when a child throws","duration":102.13604299999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576131614,"endTime":1792576132258.136,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/errorBoundary.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"drags the row sideways with the mouse","status":"passed","title":"drags the row sideways with the mouse","duration":182.5685800000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"does not move below the drag threshold, so a click is still a click","status":"passed","title":"does not move below the drag threshold, so a click is still a click","duration":13.568018999999822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"swallows the click that follows a real drag","status":"passed","title":"swallows the click that follows a real drag","duration":19.612547999999606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"lets a plain click through","status":"passed","title":"lets a plain click through","duration":12.025002999999742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"shift+drag selects instead of scrolling","status":"passed","title":"shift+drag selects instead of scrolling","duration":11.067410000000109,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaves touch alone, so native panning and long-press selection survive","status":"passed","title":"leaves touch alone, so native panning and long-press selection survive","duration":9.358388000000105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"does not drag from a text input, where press-and-move already means select","status":"passed","title":"does not drag from a text input, where press-and-move already means select","duration":10.103648000000248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"does not drag from an element marked reqore-no-drag-scroll, a grab handle of its own","status":"passed","title":"does not drag from an element marked reqore-no-drag-scroll, a grab handle of its own","duration":9.61170200000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"does nothing when the row already fits","status":"passed","title":"does nothing when the row already fits","duration":10.298544999999649,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"stays inert without the prop","status":"passed","title":"stays inert without the prop","duration":10.348047999999835,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ends a drag whose release happened outside the window","status":"passed","title":"ends a drag whose release happened outside the window","duration":17.237734000000273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ends a drag when the window loses focus mid-pull","status":"passed","title":"ends a drag when the window loses focus mid-pull","duration":19.02225700000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a release it never saw does not swallow the next genuine click","status":"passed","title":"a release it never saw does not swallow the next genuine click","duration":10.343551999999818,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a release it never saw does not swallow a click the drag declined","status":"passed","title":"a release it never saw does not swallow a click the drag declined","duration":10.03491699999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaves no window listeners behind when it unmounts mid-drag","status":"passed","title":"leaves no window listeners behind when it unmounts mid-drag","duration":13.03409099999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"keeps following the pointer once it has left the row, and ends on a release elsewhere","status":"passed","title":"keeps following the pointer once it has left the row, and ends on a release elsewhere","duration":9.02654900000016,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575989953,"endTime":1792575990321.0266,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/fadeScroller-drag.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Buttons and inputs are in the font of the page; tags and textareas keep their own","status":"passed","title":"Buttons and inputs are in the font of the page; tags and textareas keep their own","duration":652.783496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Without a theme font, Reqore is in the font the page sets on its body","status":"passed","title":"Without a theme font, Reqore is in the font the page sets on its body","duration":119.86016600000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"theme.fontFamily sets the font of the layout, the portal, the buttons and the inputs","status":"passed","title":"theme.fontFamily sets the font of the layout, the portal, the buttons and the inputs","duration":191.3844210000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"theme.fontFamily takes the mono and system shorthands","status":"passed","title":"theme.fontFamily takes the mono and system shorthands","duration":221.7858299999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A text that sets its own font keeps it under a theme font","status":"passed","title":"A text that sets its own font keeps it under a theme font","duration":125.06661500000018,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576065856,"endTime":1792576067167.0667,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/fontFamily.test.tsx"},{"assertionResults":[{"ancestorTitles":["ReqoreButton form and link attributes"],"fullName":"ReqoreButton form and link attributes passes type, name, value and form to the button, and adds no type of its own","status":"passed","title":"passes type, name, value and form to the button, and adds no type of its own","duration":246.90289200000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton form and link attributes"],"fullName":"ReqoreButton form and link attributes posts the name and value of the submit button that was pressed","status":"passed","title":"posts the name and value of the submit button that was pressed","duration":44.01062400000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton form and link attributes"],"fullName":"ReqoreButton form and link attributes renders as a link when given an href","status":"passed","title":"renders as a link when given an href","duration":99.10480599999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton form and link attributes"],"fullName":"ReqoreButton form and link attributes a disabled link has nothing to follow and says it is disabled","status":"passed","title":"a disabled link has nothing to follow and says it is disabled","duration":19.159413000000313,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreTextarea form attributes"],"fullName":"ReqoreTextarea form attributes passes name, required and the length limits to the textarea, and posts it","status":"passed","title":"passes name, required and the length limits to the textarea, and posts it","duration":80.73924099999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreInput password toggle"],"fullName":"ReqoreInput password toggle is not there unless asked for, or for anything but a password","status":"passed","title":"is not there unless asked for, or for anything but a password","duration":74.50041899999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreInput password toggle"],"fullName":"ReqoreInput password toggle shows and hides the password without submitting the form or losing the value","status":"passed","title":"shows and hides the password without submitting the form or losing the value","duration":217.9982699999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreInput password toggle"],"fullName":"ReqoreInput password toggle takes translated labels and keeps a caller id","status":"passed","title":"takes translated labels and keeps a caller id","duration":37.78303800000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreInput password toggle"],"fullName":"ReqoreInput password toggle is disabled with a disabled field","status":"passed","title":"is disabled with a disabled field","duration":59.45538000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control renders a native checkbox, labelled by its label and described by its description","status":"passed","title":"renders a native checkbox, labelled by its label and described by its description","duration":129.25673000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control is a switch to a screen reader when drawn as one","status":"passed","title":"is a switch to a screen reader when drawn as one","duration":173.82292800000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control posts its value only when checked, and `on` without one","status":"passed","title":"posts its value only when checked, and `on` without one","duration":120.93711799999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control hears a press on the drawing, on the label and from the keyboard exactly once","status":"passed","title":"hears a press on the drawing, on the label and from the keyboard exactly once","duration":29.136333999999806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control a read-only checkbox still calls its handler but never toggles itself","status":"passed","title":"a read-only checkbox still calls its handler but never toggles itself","duration":77.76320000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control a disabled checkbox has a disabled native input","status":"passed","title":"a disabled checkbox has a disabled native input","duration":68.52291400000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control an uncontrolled checkbox follows its native input","status":"passed","title":"an uncontrolled checkbox follows its native input","duration":18.520518999999695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreCheckbox as a form control"],"fullName":"ReqoreCheckbox as a form control a switch toggled from the keyboard calls the half it moves to","status":"passed","title":"a switch toggled from the keyboard calls the half it moves to","duration":164.38587199999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreRadioGroup as a form control"],"fullName":"ReqoreRadioGroup as a form control is a radiogroup of native radios that posts the selected value","status":"passed","title":"is a radiogroup of native radios that posts the selected value","duration":199.5412839999999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575953200,"endTime":1792575955062.5413,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/formControls.test.tsx"},{"assertionResults":[{"ancestorTitles":["getSwipeStep"],"fullName":"getSwipeStep pins the thresholds","status":"passed","title":"pins the thresholds","duration":3.706068999999843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSwipeStep"],"fullName":"getSwipeStep is the sign of a drag that went far enough along the axis","status":"passed","title":"is the sign of a drag that went far enough along the axis","duration":1.338604999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSwipeStep"],"fullName":"getSwipeStep or of a flick, however short, in the direction it went","status":"passed","title":"or of a flick, however short, in the direction it went","duration":0.7389009999997143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSwipeStep"],"fullName":"getSwipeStep a press that moved less than the slop is a click, however fast","status":"passed","title":"a press that moved less than the slop is a click, however fast","duration":0.7809019999999691,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSwipeStep"],"fullName":"getSwipeStep with no size to measure against, only a flick counts","status":"passed","title":"with no size to measure against, only a flick counts","duration":0.42514699999992445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSwipeStep"],"fullName":"getSwipeStep judges by the thresholds it is given","status":"passed","title":"judges by the thresholds it is given","duration":0.5542079999995622,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getSwipeStep"],"fullName":"getSwipeStep is what the tier stack swipes by, read against the finger","status":"passed","title":"is what the tier stack swipes by, read against the finger","duration":0.6083570000000691,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576105827,"endTime":1792576105835.6084,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/gestures.test.ts"},{"assertionResults":[{"ancestorTitles":[],"fullName":"paints blur, spread and colour","status":"passed","title":"paints blur, spread and colour","duration":3.2975890000000163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"defaults to no blur and a 2px spread, inset when asked","status":"passed","title":"defaults to no blur and a 2px spread, inset when asked","duration":0.7828660000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"honours opacity, as the text glow already did","status":"passed","title":"honours opacity, as the text glow already did","duration":1.013866999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"offsets a glow when x / y are set","status":"passed","title":"offsets a glow when x / y are set","duration":0.38558000000011816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"paints a list of glows as one shadow, first on top","status":"passed","title":"paints a list of glows as one shadow, first on top","duration":0.3495259999999689,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576129396,"endTime":1792576129402.3496,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/glowBoxShadow.test.ts"},{"assertionResults":[{"ancestorTitles":[],"fullName":"<Heading /> renders properly","status":"passed","title":"<Heading /> renders properly","duration":125.552189,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tooltip on <Heading /> works","status":"passed","title":"Tooltip on <Heading /> works","duration":292.80161099999987,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576128415,"endTime":1792576128833.8015,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/heading.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"omitStyleProps blocks the named props and defers everything else to the default validator","status":"passed","title":"omitStyleProps blocks the named props and defers everything else to the default validator","duration":3.1663519999999608,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"omitStyleProps blocks nothing when given no props","status":"passed","title":"omitStyleProps blocks nothing when given no props","duration":0.9167830000001231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"omitStyleProps returns independent predicates per call","status":"passed","title":"omitStyleProps returns independent predicates per call","duration":0.8938590000000204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"omitStyleProps forwards a component target its own props, which are not HTML attributes","status":"passed","title":"omitStyleProps forwards a component target its own props, which are not HTML attributes","duration":0.5840410000000702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"omitStyleProps applies the DOM validator only to tag targets","status":"passed","title":"omitStyleProps applies the DOM validator only to tag targets","duration":0.5171629999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `size` on a `div` is forwarded: false","status":"passed","title":"`size` on a `div` is forwarded: false","duration":0.3973359999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `size` on a `span` is forwarded: false","status":"passed","title":"`size` on a `span` is forwarded: false","duration":0.3048599999999624,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `size` on a `input` is forwarded: true","status":"passed","title":"`size` on a `input` is forwarded: true","duration":0.4938790000001063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `size` on a `select` is forwarded: true","status":"passed","title":"`size` on a `select` is forwarded: true","duration":0.6697280000000774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `disabled` on a `div` is forwarded: false","status":"passed","title":"`disabled` on a `div` is forwarded: false","duration":0.3884129999999004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `disabled` on a `button` is forwarded: true","status":"passed","title":"`disabled` on a `button` is forwarded: true","duration":0.3745530000001054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `checked` on a `div` is forwarded: false","status":"passed","title":"`checked` on a `div` is forwarded: false","duration":0.2389020000000528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `checked` on a `input` is forwarded: true","status":"passed","title":"`checked` on a `input` is forwarded: true","duration":0.21693000000004758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `selected` on a `div` is forwarded: false","status":"passed","title":"`selected` on a `div` is forwarded: false","duration":0.21591899999998532,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `selected` on a `option` is forwarded: true","status":"passed","title":"`selected` on a `option` is forwarded: true","duration":0.25369499999987966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `readOnly` on a `div` is forwarded: false","status":"passed","title":"`readOnly` on a `div` is forwarded: false","duration":0.2884559999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `readOnly` on a `textarea` is forwarded: true","status":"passed","title":"`readOnly` on a `textarea` is forwarded: true","duration":0.23528699999997116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `placeholder` on a `button` is forwarded: false","status":"passed","title":"`placeholder` on a `button` is forwarded: false","duration":0.2006260000000566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `placeholder` on a `input` is forwarded: true","status":"passed","title":"`placeholder` on a `input` is forwarded: true","duration":0.23441600000001017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `width` on a `div` is forwarded: false","status":"passed","title":"`width` on a `div` is forwarded: false","duration":0.20783700000015415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `width` on a `img` is forwarded: true","status":"passed","title":"`width` on a `img` is forwarded: true","duration":0.20738600000004226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `wrap` on a `span` is forwarded: false","status":"passed","title":"`wrap` on a `span` is forwarded: false","duration":0.1981630000000223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `wrap` on a `textarea` is forwarded: true","status":"passed","title":"`wrap` on a `textarea` is forwarded: true","duration":0.20368100000018785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `color` on a `span` is forwarded: false","status":"passed","title":"`color` on a `span` is forwarded: false","duration":0.23213299999997616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `type` on a `div` is forwarded: false","status":"passed","title":"`type` on a `div` is forwarded: false","duration":0.1977520000000368,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `type` on a `button` is forwarded: true","status":"passed","title":"`type` on a `button` is forwarded: true","duration":0.1893689999999424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `value` on a `div` is forwarded: false","status":"passed","title":"`value` on a `div` is forwarded: false","duration":0.19866300000012416,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `value` on a `li` is forwarded: true","status":"passed","title":"`value` on a `li` is forwarded: true","duration":0.22627299999999195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `fill` on a `path` is forwarded: true","status":"passed","title":"`fill` on a `path` is forwarded: true","duration":0.214917000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `width` on a `svg` is forwarded: true","status":"passed","title":"`width` on a `svg` is forwarded: true","duration":0.2022989999998117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `title` on a `div` is forwarded: true","status":"passed","title":"`title` on a `div` is forwarded: true","duration":0.2402349999999842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only `href` on a `a` is forwarded: true","status":"passed","title":"`href` on a `a` is forwarded: true","duration":0.2042109999999866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a Reqore prop name that is an attribute of some elements only"],"fullName":"a Reqore prop name that is an attribute of some elements only every listed element is a real element name","status":"passed","title":"every listed element is a real element name","duration":13.214498000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["Reqore's `styled`"],"fullName":"Reqore's `styled` keeps a styling prop off an element it is not an attribute of","status":"passed","title":"keeps a styling prop off an element it is not an attribute of","duration":163.7173600000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["Reqore's `styled`"],"fullName":"Reqore's `styled` uses the element a styled component is rendered `as`","status":"passed","title":"uses the element a styled component is rendered `as`","duration":8.622974000000113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["Reqore's `styled`"],"fullName":"Reqore's `styled` forwards everything to a component, and a styled component's own filter wins","status":"passed","title":"forwards everything to a component, and a styled component's own filter wins","duration":6.869275000000016,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576037103,"endTime":1792576037309.8694,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/helpers-styled.test.tsx"},{"assertionResults":[{"ancestorTitles":["isHoveringPointer"],"fullName":"isHoveringPointer is a mouse, pressed or not","status":"passed","title":"is a mouse, pressed or not","duration":2.085356999999931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isHoveringPointer"],"fullName":"isHoveringPointer is a pen held above the screen, not one pressed to it","status":"passed","title":"is a pen held above the screen, not one pressed to it","duration":2.6704710000003615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isHoveringPointer"],"fullName":"isHoveringPointer is never a finger","status":"passed","title":"is never a finger","duration":0.42402599999968515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isHoveringPointer"],"fullName":"isHoveringPointer is a pointer the event does not name: one it cannot tell, or none at all","status":"passed","title":"is a pointer the event does not name: one it cannot tell, or none at all","duration":0.40758099999993647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["createHoverGate"],"fullName":"createHoverGate reads a mouse event as its pointer's: a mouse hovers, a finger does not","status":"passed","title":"reads a mouse event as its pointer's: a mouse hovers, a finger does not","duration":0.5327259999999114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["createHoverGate"],"fullName":"createHoverGate reads a mouse event no pointer event came before as a mouse","status":"passed","title":"reads a mouse event no pointer event came before as a mouse","duration":0.27947199999971417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["createHoverGate"],"fullName":"createHoverGate reads what was noted once: a mouse event after a finger's is not taken for the finger's","status":"passed","title":"reads what was noted once: a mouse event after a finger's is not taken for the finger's","duration":1.070788999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover opens for a mouse","status":"passed","title":"opens for a mouse","duration":368.25794399999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover opens for a pen held above the screen","status":"passed","title":"opens for a pen held above the screen","duration":45.74117600000045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover opens for nothing at a finger's tap, nor at the mouseenter emulated after it","status":"passed","title":"opens for nothing at a finger's tap, nor at the mouseenter emulated after it","duration":8.640867999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover opens for a mouse after a tap, as it did before it","status":"passed","title":"opens for a mouse after a tap, as it did before it","duration":48.39495199999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover opens at a mouseenter no pointer event came before (a test that fires it alone)","status":"passed","title":"opens at a mouseenter no pointer event came before (a test that fires it alone)","duration":33.845646000000215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover opens at user-event's hover","status":"passed","title":"opens at user-event's hover","duration":53.078191999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover opens for a pointer event that names no pointer type (user-event's under some jsdom setups)","status":"passed","title":"opens for a pointer event that names no pointer type (user-event's under some jsdom setups)","duration":39.399695000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover that stays (hoverStay) opens for nothing at a finger's tap","status":"passed","title":"that stays (hoverStay) opens for nothing at a finger's tap","duration":11.559203999999681,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a hover popover"],"fullName":"a hover popover kept open while hovered (keepOpenOnHover) opens for nothing at a finger's tap, and for a mouse","status":"passed","title":"kept open while hovered (keepOpenOnHover) opens for nothing at a finger's tap, and for a mouse","duration":88.61543699999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover opened by a tap or by focus"],"fullName":"a popover opened by a tap or by focus opens at a tap where it is opened by a click, as touch-first tooltips are","status":"passed","title":"opens at a tap where it is opened by a click, as touch-first tooltips are","duration":36.573681000000306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover opened by a tap or by focus"],"fullName":"a popover opened by a tap or by focus opens when the keyboard brings the focus to it","status":"passed","title":"opens when the keyboard brings the focus to it","duration":38.967707999999675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a panel's floating actions"],"fullName":"a panel's floating actions float for a mouse","status":"passed","title":"float for a mouse","duration":364.5957159999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a panel's floating actions"],"fullName":"a panel's floating actions float for nothing at a finger's tap","status":"passed","title":"float for nothing at a finger's tap","duration":31.612310999999863,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576022550,"endTime":1792576023727.6123,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hoverIsAPointerThatHovers.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Icon /> properly","status":"passed","title":"Renders <Icon /> properly","duration":111.95130400000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders empty <Icon /> if icon does not exist","status":"passed","title":"Renders empty <Icon /> if icon does not exist","duration":13.673095000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tooltip on <Icon /> works","status":"passed","title":"Tooltip on <Icon /> works","duration":394.41235400000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Icon /> with glow=true (drop-shadow filter)","status":"passed","title":"Renders <Icon /> with glow=true (drop-shadow filter)","duration":9.423878000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Icon /> with glow as a color string","status":"passed","title":"Renders <Icon /> with glow as a color string","duration":8.449811000000409,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Icon /> with glow object (custom blur and opacity)","status":"passed","title":"Renders <Icon /> with glow object (custom blur and opacity)","duration":8.304395999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not apply glow filter when glow is not set","status":"passed","title":"Does not apply glow filter when glow is not set","duration":6.942524999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Applies glow when global glowingIcons option is enabled","status":"passed","title":"Applies glow when global glowingIcons option is enabled","duration":7.285123000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Local glow=false overrides global glowingIcons","status":"passed","title":"Local glow=false overrides global glowingIcons","duration":7.831834000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not apply glow when glowingIcons option is disabled","status":"passed","title":"Does not apply glow when glowingIcons option is disabled","duration":7.211863999999878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Image icons are exempt from the global glowingIcons glow","status":"passed","title":"Image icons are exempt from the global glowingIcons glow","duration":11.790691000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An explicit glow still applies to an image icon","status":"passed","title":"An explicit glow still applies to an image icon","duration":4.7570849999997336,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576062550,"endTime":1792576063141.757,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/icon.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Input /> properly","status":"passed","title":"Renders <Input /> properly","duration":350.4278470000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Input /> with clear button properly","status":"passed","title":"Renders <Input /> with clear button properly","duration":113.96942899999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <Input /> cannot be cleared","status":"passed","title":"Disabled <Input /> cannot be cleared","duration":74.22630900000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Readonly <Input /> cannot be cleared","status":"passed","title":"Readonly <Input /> cannot be cleared","duration":64.11186499999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets automatically focused","status":"passed","title":"<Input /> gets automatically focused","duration":84.40139700000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Readonly <Input /> does not get automatically focused","status":"passed","title":"Readonly <Input /> does not get automatically focused","duration":78.70933400000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <Input /> does not get automatically focused","status":"passed","title":"Disabled <Input /> does not get automatically focused","duration":17.649455999999645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets automatically focused if it's out of viewport","status":"passed","title":"<Input /> gets automatically focused if it's out of viewport","duration":15.045970000000125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> does not get automatically focused if it's out of viewport","status":"passed","title":"<Input /> does not get automatically focused if it's out of viewport","duration":15.139036999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets automatically focused if its inside of viewport","status":"passed","title":"<Input /> gets automatically focused if its inside of viewport","duration":11.278040000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets focused after any letter is pressed","status":"passed","title":"<Input /> gets focused after any letter is pressed","duration":117.2918709999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets focused after any letter is pressed 2","status":"passed","title":"<Input /> gets focused after any letter is pressed 2","duration":24.535342000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets focused after any digit is pressed","status":"passed","title":"<Input /> gets focused after any digit is pressed","duration":15.16258199999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets focused after any digit is pressed 2","status":"passed","title":"<Input /> gets focused after any digit is pressed 2","duration":12.054055000000062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets focused after any digit or letter is pressed","status":"passed","title":"<Input /> gets focused after any digit or letter is pressed","duration":13.097584999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets focused after any digit or letter is pressed 2","status":"passed","title":"<Input /> gets focused after any digit or letter is pressed 2","duration":21.63028600000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> gets focused after a specified shortcut is pressed","status":"passed","title":"<Input /> gets focused after a specified shortcut is pressed","duration":24.112326999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport","status":"passed","title":"<Input /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport","duration":18.158421999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> does not get focused when typing in another input","status":"passed","title":"<Input /> does not get focused when typing in another input","duration":15.961330000000089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Readonly <Input /> does not get focused when shortcut is pressed","status":"passed","title":"Readonly <Input /> does not get focused when shortcut is pressed","duration":12.363933000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <Input /> does not get focused when shortcut is pressed","status":"passed","title":"Disabled <Input /> does not get focused when shortcut is pressed","duration":23.095296999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Input /> is cleared when focused","status":"passed","title":"<Input /> is cleared when focused","duration":18.11615000000029,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575983165,"endTime":1792575984306.1162,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/input.test.tsx"},{"assertionResults":[{"ancestorTitles":["formatShortcut helpers"],"fullName":"formatShortcut helpers formats a combo with the platform-appropriate glyphs","status":"passed","title":"formats a combo with the platform-appropriate glyphs","duration":3.3699759999999515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["formatShortcut helpers"],"fullName":"formatShortcut helpers handles input focusRules aliases","status":"passed","title":"handles input focusRules aliases","duration":0.9768429999999171,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["formatShortcut helpers"],"fullName":"formatShortcut helpers splits arrays and comma-separated alternatives","status":"passed","title":"splits arrays and comma-separated alternatives","duration":1.7224429999996573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["formatShortcut helpers"],"fullName":"formatShortcut helpers detects modifiers","status":"passed","title":"detects modifiers","duration":0.9014510000001792,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreKeyboardShortcut component"],"fullName":"ReqoreKeyboardShortcut component renders one badge per alternative combo","status":"passed","title":"renders one badge per alternative combo","duration":112.11402099999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton shortcut"],"fullName":"ReqoreButton shortcut renders a shortcut hint badge","status":"passed","title":"renders a shortcut hint badge","duration":207.744956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton shortcut"],"fullName":"ReqoreButton shortcut hides the hint when shortcutHint is false","status":"passed","title":"hides the hint when shortcutHint is false","duration":29.969100999999682,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton shortcut"],"fullName":"ReqoreButton shortcut hides the hint when shortcutHints is globally disabled","status":"passed","title":"hides the hint when shortcutHints is globally disabled","duration":21.364044999999805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton shortcut"],"fullName":"ReqoreButton shortcut triggers onClick when the shortcut is pressed","status":"passed","title":"triggers onClick when the shortcut is pressed","duration":32.74799400000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreButton shortcut"],"fullName":"ReqoreButton shortcut does not trigger onClick when disabled","status":"passed","title":"does not trigger onClick when disabled","duration":21.379287000000204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreInput shortcut hint"],"fullName":"ReqoreInput shortcut hint renders a hint from focusRules shortcut","status":"passed","title":"renders a hint from focusRules shortcut","duration":100.2789270000003,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576077326,"endTime":1792576077859.2788,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/keyboardShortcut.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders Layout properly","status":"passed","title":"Renders Layout properly","duration":162.26145399999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The layout wrapper paints the theme surface by default","status":"passed","title":"The layout wrapper paints the theme surface by default","duration":129.96722099999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"layoutWrapperProps.transparent lets the page colour through","status":"passed","title":"layoutWrapperProps.transparent lets the page colour through","duration":32.44214099999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"layoutWrapperProps reach the wrapper: class merged, style, data and aria attributes","status":"passed","title":"layoutWrapperProps reach the wrapper: class merged, style, data and aria attributes","duration":30.441597999999885,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576098806,"endTime":1792576099161.4417,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/layout.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Link /> as a button by default and fires onClick","status":"passed","title":"Renders <Link /> as a button by default and fires onClick","duration":132.45517399999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Link href> as an anchor with the URL + new-tab rel","status":"passed","title":"Renders <Link href> as an anchor with the URL + new-tab rel","duration":12.285052000000178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <Link> renders a disabled button that does not fire onClick","status":"passed","title":"Disabled <Link> renders a disabled button that does not fire onClick","duration":9.422191000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <Link href> drops the href so it cannot navigate","status":"passed","title":"Disabled <Link href> drops the href so it cannot navigate","duration":9.065239999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders a leading icon when `icon` is provided","status":"passed","title":"Renders a leading icon when `icon` is provided","duration":59.924500999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders a custom element via `as` and passes element props through","status":"passed","title":"Renders a custom element via `as` and passes element props through","duration":8.384138999999777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Truncates a capped link from the end by default","status":"passed","title":"Truncates a capped link from the end by default","duration":31.341218000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps both ends when a capped link truncates in the middle","status":"passed","title":"Keeps both ends when a capped link truncates in the middle","duration":17.320930000000317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Leaves an uncapped link whole","status":"passed","title":"Leaves an uncapped link whole","duration":16.999111000000084,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576069990,"endTime":1792576070286.999,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/link.test.tsx"},{"assertionResults":[{"ancestorTitles":["edgeMask"],"fullName":"edgeMask fades only the edges that hide something","status":"passed","title":"fades only the edges that hide something","duration":8.774001000000226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["marqueeProgress"],"fullName":"marqueeProgress runs at constant speed, then eases out over the last stretch","status":"passed","title":"runs at constant speed, then eases out over the last stretch","duration":4.257040999999845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findTruncatedElement"],"fullName":"findTruncatedElement finds the ellipsized box that is hiding something","status":"passed","title":"finds the ellipsized box that is hiding something","duration":128.14190499999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findTruncatedElement"],"fullName":"findTruncatedElement walks up from a node inside the box","status":"passed","title":"walks up from a node inside the box","duration":4.802765999999792,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findTruncatedElement"],"fullName":"findTruncatedElement ignores a box whose text fits","status":"passed","title":"ignores a box whose text fits","duration":3.875717999999779,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findTruncatedElement"],"fullName":"findTruncatedElement ignores an element that is not ellipsized","status":"passed","title":"ignores an element that is not ellipsized","duration":2.781594000000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findTruncatedElement"],"fullName":"findTruncatedElement honours the opt-out on the box or any ancestor","status":"passed","title":"honours the opt-out on the box or any ancestor","duration":1.2787170000001424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findTruncatedElement"],"fullName":"findTruncatedElement never scrolls editable text","status":"passed","title":"never scrolls editable text","duration":1.6977149999997891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findMarqueeTargets"],"fullName":"findMarqueeTargets inside a host, every clipped text copy scrolls — not the box under the pointer","status":"passed","title":"inside a host, every clipped text copy scrolls — not the box under the pointer","duration":49.78529200000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["findMarqueeTargets"],"fullName":"findMarqueeTargets outside a host, the single truncated box at or above the target","status":"passed","title":"outside a host, the single truncated box at or above the target","duration":8.898349000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["startMarquee"],"fullName":"startMarquee scrolls the tail in, holds, snaps back, goes again — and restores on stop","status":"passed","title":"scrolls the tail in, holds, snaps back, goes again — and restores on stop","duration":56.818984999999884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["startMarquee"],"fullName":"startMarquee a longer tail takes longer, not faster","status":"passed","title":"a longer tail takes longer, not faster","duration":7.410243000000264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["startMarquee"],"fullName":"startMarquee does nothing for a box whose text fits","status":"passed","title":"does nothing for a box whose text fits","duration":1.2990160000003925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["startMarquee"],"fullName":"startMarquee moves several copies of one label in step","status":"passed","title":"moves several copies of one label in step","duration":4.5242660000003525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the provider installs it on the document"],"fullName":"the provider installs it on the document hovering a truncated box scrolls it after the intent delay; leaving stops and restores it","status":"passed","title":"hovering a truncated box scrolls it after the intent delay; leaving stops and restores it","duration":76.54663699999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the provider installs it on the document"],"fullName":"the provider installs it on the document a finger's tap scrolls nothing: the mouseover emulated after it is no hover","status":"passed","title":"a finger's tap scrolls nothing: the mouseover emulated after it is no hover","duration":25.462418999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the provider installs it on the document"],"fullName":"the provider installs it on the document a pointer that leaves before the delay sets nothing in motion","status":"passed","title":"a pointer that leaves before the delay sets nothing in motion","duration":31.50597599999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the provider installs it on the document"],"fullName":"the provider installs it on the document moving within the box does not restart it","status":"passed","title":"moving within the box does not restart it","duration":25.348305999999866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the provider installs it on the document"],"fullName":"the provider installs it on the document animations.marquee: false turns it off","status":"passed","title":"animations.marquee: false turns it off","duration":8.649822000000313,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the provider installs it on the document"],"fullName":"the provider installs it on the document an object tunes it","status":"passed","title":"an object tunes it","duration":14.089068000000225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the provider installs it on the document"],"fullName":"the provider installs it on the document stays off under prefers-reduced-motion","status":"passed","title":"stays off under prefers-reduced-motion","duration":6.916134000000056,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575983499,"endTime":1792575983972.916,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/marqueeOnHover.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Menu /> properly","status":"passed","title":"Renders <Menu /> properly","duration":359.94953399999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Menu /> item can be clicked","status":"passed","title":"<Menu /> item can be clicked","duration":64.06756500000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Menu /> item has right clickable button","status":"passed","title":"<Menu /> item has right clickable button","duration":140.4783550000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Menu /> item action with `actions` opens a dropdown of grouped shortcuts","status":"passed","title":"<Menu /> item action with `actions` opens a dropdown of grouped shortcuts","duration":356.20014900000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<MenuItem /> scrollIntoView"],"fullName":"<MenuItem /> scrollIntoView centres the item in its menu, and does not scroll anything around the menu","status":"passed","title":"centres the item in its menu, and does not scroll anything around the menu","duration":136.39796699999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<MenuItem /> scrollIntoView"],"fullName":"<MenuItem /> scrollIntoView animates the scroll by default","status":"passed","title":"animates the scroll by default","duration":84.41263300000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<MenuItem /> scrollIntoView"],"fullName":"<MenuItem /> scrollIntoView jumps straight to the item when popover animations are disabled","status":"passed","title":"jumps straight to the item when popover animations are disabled","duration":39.72009399999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<MenuItem /> scrollIntoView"],"fullName":"<MenuItem /> scrollIntoView an item outside a menu is brought into view by itself, centred without dragging sideways","status":"passed","title":"an item outside a menu is brought into view by itself, centred without dragging sideways","duration":14.018523000000187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<MenuItem /> scrollIntoView"],"fullName":"<MenuItem /> scrollIntoView does not scroll items that are not marked for it","status":"passed","title":"does not scroll items that are not marked for it","duration":25.556586000000152,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576046808,"endTime":1792576048029.5566,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/menu.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a menu with a plain div child passes it none of its props","status":"passed","title":"a menu with a plain div child passes it none of its props","duration":287.43954600000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a plain div inside a fragment in a menu gets none of its props either","status":"passed","title":"a plain div inside a fragment in a menu gets none of its props either","duration":17.622658999999658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a menu section with a plain div child passes it none of its props","status":"passed","title":"a menu section with a plain div child passes it none of its props","duration":135.30061000000023,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576088839,"endTime":1792576089279.3005,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/menuHostChildren.test.tsx"},{"assertionResults":[{"ancestorTitles":["a menu item brought into view"],"fullName":"a menu item brought into view scrolls its menu, and not the page around it","status":"passed","title":"scrolls its menu, and not the page around it","duration":490.2767899999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a menu item brought into view"],"fullName":"a menu item brought into view scrolls a menu whose scroller overflows as an overlay","status":"passed","title":"scrolls a menu whose scroller overflows as an overlay","duration":75.54741100000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a menu item brought into view"],"fullName":"a menu item brought into view scrolls nothing where its menu shows it all","status":"passed","title":"scrolls nothing where its menu shows it all","duration":59.352754000000004,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576062606,"endTime":1792576063231.3528,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/menuItemScrollStaysInMenu.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Message /> properly","status":"passed","title":"Renders <Message /> properly","duration":211.85474299999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Runs onFinish on message after duration","status":"passed","title":"Runs onFinish on message after duration","duration":34.80749400000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Runs onClose when closed","status":"passed","title":"Runs onClose when closed","duration":66.26072399999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tooltip on <Message /> works","status":"passed","title":"Tooltip on <Message /> works","duration":345.2603260000001,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576120637,"endTime":1792576121295.2603,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/messages.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders basic <Modal /> properly","status":"passed","title":"Renders basic <Modal /> properly","duration":260.7417700000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not renders <Modal /> if its not open","status":"passed","title":"Does not renders <Modal /> if its not open","duration":7.300581999999849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders a visible <Modal /> immediately when dialog animations are disabled","status":"passed","title":"Renders a visible <Modal /> immediately when dialog animations are disabled","duration":66.02972799999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Modal /> with custom dimensions","status":"passed","title":"Renders <Modal /> with custom dimensions","duration":18.06287199999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders confirmation <Modal /> ","status":"passed","title":"Renders confirmation <Modal /> ","duration":1026.1916729999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Always renders confirmation <Modal /> properly above a normal modal","status":"passed","title":"Always renders confirmation <Modal /> properly above a normal modal","duration":153.085145,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576058383,"endTime":1792576059914.0852,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/modal.test.tsx"},{"assertionResults":[{"ancestorTitles":["clampModalDragOffset"],"fullName":"clampModalDragOffset leaves an offset that keeps the title bar on screen alone","status":"passed","title":"leaves an offset that keeps the title bar on screen alone","duration":2.4352450000001227,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["clampModalDragOffset"],"fullName":"clampModalDragOffset stops the box at the left and top edges","status":"passed","title":"stops the box at the left and top edges","duration":0.7454800000000432,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["clampModalDragOffset"],"fullName":"clampModalDragOffset stops the box at the right edge, and the title bar above the bottom one","status":"passed","title":"stops the box at the right edge, and the title bar above the bottom one","duration":0.4068310000002384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["clampModalDragOffset"],"fullName":"clampModalDragOffset a box wider than the viewport always spans it","status":"passed","title":"a box wider than the viewport always spans it","duration":0.5184250000002066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreModal draggable"],"fullName":"ReqoreModal draggable marks the box, and keeps the HTML attribute of that name off the DOM","status":"passed","title":"marks the box, and keeps the HTML attribute of that name off the DOM","duration":679.1646310000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreModal draggable"],"fullName":"ReqoreModal draggable is opt-in","status":"passed","title":"is opt-in","duration":109.33463200000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreModal draggable"],"fullName":"ReqoreModal draggable moves the box by the drag of its title bar, and leaves it where it was let go","status":"passed","title":"moves the box by the drag of its title bar, and leaves it where it was let go","duration":163.409494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreModal draggable"],"fullName":"ReqoreModal draggable does not start on the close button or on an action","status":"passed","title":"does not start on the close button or on an action","duration":133.7038910000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreModal draggable"],"fullName":"ReqoreModal draggable holds the title bar inside the viewport","status":"passed","title":"holds the title bar inside the viewport","duration":110.52567700000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreModal draggable"],"fullName":"ReqoreModal draggable opens centred again after it was dragged aside and closed","status":"passed","title":"opens centred again after it was dragged aside and closed","duration":155.44104400000015,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576050592,"endTime":1792576051948.4412,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/modalDraggable.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Escape closes a modal from the key, not while the provider renders","status":"passed","title":"Escape closes a modal from the key, not while the provider renders","duration":655.7243090000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Escape with a confirmation closes the modal from the confirmation, not while the provider renders","status":"passed","title":"Escape with a confirmation closes the modal from the confirmation, not while the provider renders","duration":622.2820590000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Escape closes only the top-most of two modals","status":"passed","title":"Escape closes only the top-most of two modals","duration":155.03020000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a modal that goes while another is above it leaves the Escape stack","status":"passed","title":"a modal that goes while another is above it leaves the Escape stack","duration":217.53744400000005,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576072783,"endTime":1792576074433.5374,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/modalEscapeClosesFromTheEvent.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders empty <ReqoreMultiSelect />","status":"passed","title":"Renders empty <ReqoreMultiSelect />","duration":327.9707320000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> with default value","status":"passed","title":"Renders <ReqoreMultiSelect /> with default value","duration":84.68374200000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> with a value that is not among the items","status":"passed","title":"Renders <ReqoreMultiSelect /> with a value that is not among the items","duration":95.00614399999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> with default value, items can be removed","status":"passed","title":"Renders <ReqoreMultiSelect /> with default value, items can be removed","duration":110.19670900000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders disabled <ReqoreMultiSelect /> when items are empty and items CANNOT be created","status":"passed","title":"Renders disabled <ReqoreMultiSelect /> when items are empty and items CANNOT be created","duration":79.26977799999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders empty <ReqoreMultiSelect /> when items are empty and items CAN be created","status":"passed","title":"Renders empty <ReqoreMultiSelect /> when items are empty and items CAN be created","duration":509.302776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and selects / deselects items from the list","status":"passed","title":"Renders <ReqoreMultiSelect /> and selects / deselects items from the list","duration":1273.698935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched, opens up the list","status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched, opens up the list","duration":180.45276100000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched and created, opens up the list","status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched and created, opens up the list","duration":585.5591670000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched and created using the ENTER key, opens up the list","status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched and created using the ENTER key, opens up the list","duration":389.1918420000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and does not create new item on ENTER when not focused","status":"passed","title":"Renders <ReqoreMultiSelect /> and does not create new item on ENTER when not focused","duration":202.15230100000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and deselects an item using the ENTER key","status":"passed","title":"Renders <ReqoreMultiSelect /> and deselects an item using the ENTER key","duration":289.76933199999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onValueChange when value changes","status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onValueChange when value changes","duration":351.11776699999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemClick when an item is clicked","status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemClick when an item is clicked","duration":169.25102400000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemAdded when an item is added","status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemAdded when an item is added","duration":405.6643519999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemRemoved when an item is removed","status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemRemoved when an item is removed","duration":28.94102500000008,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575953662,"endTime":1792575958744.941,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/multiselect.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders Navbar properly","status":"passed","title":"Renders Navbar properly","duration":117.10972099999981,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576136378,"endTime":1792576136495.1096,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/navbar.test.tsx"},{"assertionResults":[{"ancestorTitles":["ReqoreNotification swipeToDismiss"],"fullName":"ReqoreNotification swipeToDismiss is on for a toast with an onClose, and off without one or when turned off","status":"passed","title":"is on for a toast with an onClose, and off without one or when turned off","duration":374.8034969999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreNotification swipeToDismiss"],"fullName":"ReqoreNotification swipeToDismiss follows the finger sideways and holds the timer while held","status":"passed","title":"follows the finger sideways and holds the timer while held","duration":76.03445299999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreNotification swipeToDismiss"],"fullName":"ReqoreNotification swipeToDismiss closes past 18% of its width, through onClose","status":"passed","title":"closes past 18% of its width, through onClose","duration":59.97808099999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreNotification swipeToDismiss"],"fullName":"ReqoreNotification swipeToDismiss a shorter pull springs back and lets the timer run again","status":"passed","title":"a shorter pull springs back and lets the timer run again","duration":638.4139409999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreNotification swipeToDismiss"],"fullName":"ReqoreNotification swipeToDismiss does not start on the close button","status":"passed","title":"does not start on the close button","duration":53.09771099999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ReqoreNotification swipeToDismiss"],"fullName":"ReqoreNotification swipeToDismiss a swipe is not a click","status":"passed","title":"a swipe is not a click","duration":114.42264599999999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576070713,"endTime":1792576072030.4226,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/notificationSwipe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Adds notifications and dismisses them automatically","status":"passed","title":"Adds notifications and dismisses them automatically","duration":523.1036399999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Adds a notification and updates it","status":"passed","title":"Adds a notification and updates it","duration":49.27734600000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Notification has a click event","status":"passed","title":"Notification has a click event","duration":46.92147900000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Notification has a close event","status":"passed","title":"Notification has a close event","duration":28.904825999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Notification has a finish event","status":"passed","title":"Notification has a finish event","duration":16.655461000000287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Maximum of 5 notifications is shown at once","status":"passed","title":"Maximum of 5 notifications is shown at once","duration":243.99631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The compact form renders under its class, with a close and neither line nor actions","status":"passed","title":"The compact form renders under its class, with a close and neither line nor actions","duration":85.05004599999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An action runs and closes the notification","status":"passed","title":"An action runs and closes the notification","duration":139.79225099999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The timer line shows with a duration and holds while hovered","status":"passed","title":"The timer line shows with a duration and holds while hovered","duration":131.129778,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A finger's tap holds no timer: the mouseenter emulated after it is no hover","status":"passed","title":"A finger's tap holds no timer: the mouseenter emulated after it is no hover","duration":36.73466299999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A leave no hover came before restarts no timer","status":"passed","title":"A leave no hover came before restarts no timer","duration":20.903393999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"pauseOnHover false keeps the timer running while hovered","status":"passed","title":"pauseOnHover false keeps the timer running while hovered","duration":33.17317899999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Provider defaults apply under a notification’s own props","status":"passed","title":"Provider defaults apply under a notification’s own props","duration":34.90927599999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"an intent tints the shadow the toast throws, so it reads as lifted","status":"passed","title":"an intent tints the shadow the toast throws, so it reads as lifted","duration":219.73402400000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a notification with lift={false} keeps its surface and throws no shadow","status":"passed","title":"a notification with lift={false} keeps its surface and throws no shadow","duration":65.38230500000009,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575978960,"endTime":1792575980636.3823,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/notifications.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders default <Pagination />","status":"passed","title":"Renders default <Pagination />","duration":1753.0838340000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with only 5 page buttons","status":"passed","title":"Renders <Pagination /> with only 5 page buttons","duration":109.69365800000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders no <Pagination /> if only one page exists","status":"passed","title":"Renders no <Pagination /> if only one page exists","duration":18.715463999999884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders no <Pagination /> if no items exist","status":"passed","title":"Renders no <Pagination /> if no items exist","duration":13.270078999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> without control buttons","status":"passed","title":"Renders <Pagination /> without control buttons","duration":778.7789650000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> without page buttons","status":"passed","title":"Renders <Pagination /> without page buttons","duration":52.472241000000395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with labels","status":"passed","title":"Renders <Pagination /> with labels","duration":97.92640500000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with custom labels","status":"passed","title":"Renders <Pagination /> with custom labels","duration":82.37250200000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders list <Pagination /> with labels","status":"passed","title":"Renders list <Pagination /> with labels","duration":187.14494300000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with only 5 page buttons and start page 11","status":"passed","title":"Renders <Pagination /> with only 5 page buttons and start page 11","duration":107.8444099999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with custom number of items per page","status":"passed","title":"Renders <Pagination /> with custom number of items per page","duration":462.38896699999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> as a list","status":"passed","title":"Renders <Pagination /> as a list","duration":1420.323558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with load more button and no load all button","status":"passed","title":"Renders <Pagination /> with load more button and no load all button","duration":310.9242239999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with load all button","status":"passed","title":"Renders <Pagination /> with load all button","duration":1084.535261,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with load more button and auto load","status":"passed","title":"Renders <Pagination /> with load more button and auto load","duration":2195.8887479999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> and changes pages with vertical scroll","status":"passed","title":"Renders <Pagination /> and changes pages with vertical scroll","duration":1263.5980470000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> and changes pages with horizontal scroll","status":"passed","title":"Renders <Pagination /> and changes pages with horizontal scroll","duration":1208.820756000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Pagination /> with auto load more: one page per time the end comes into view","status":"passed","title":"Renders <Pagination /> with auto load more: one page per time the end comes into view","duration":2188.10779,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575969826,"endTime":1792575983163.108,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/pagination.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders basic <Panel /> properly","status":"passed","title":"Renders basic <Panel /> properly","duration":130.54874599999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not forward the Panel fill layout flag to the DOM","status":"passed","title":"Does not forward the Panel fill layout flag to the DOM","duration":40.14697399999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders basic <Panel /> with title properly","status":"passed","title":"Renders basic <Panel /> with title properly","duration":292.0324740000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders basic <Panel /> that is collapsed by default and can be expanded","status":"passed","title":"Renders basic <Panel /> that is collapsed by default and can be expanded","duration":302.1248649999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders closable <Panel /> properly","status":"passed","title":"Renders closable <Panel /> properly","duration":45.758894000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> with actions","status":"passed","title":"Renders <Panel /> with actions","duration":443.086499,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> without actions group if all actions are not shown","status":"passed","title":"Renders <Panel /> without actions group if all actions are not shown","duration":29.739783999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> without title & bottom actions if all actions are not shown, there is no icon, & title is not collapsible","status":"passed","title":"Renders <Panel /> without title & bottom actions if all actions are not shown, there is no icon, & title is not collapsible","duration":6.953269000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Custom control props on <Panel />","status":"passed","title":"Custom control props on <Panel />","duration":62.676796000000195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> with raised effect","status":"passed","title":"Renders <Panel /> with raised effect","duration":27.09481700000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> with iconWithLabel placing icon next to label","status":"passed","title":"Renders <Panel /> with iconWithLabel placing icon next to label","duration":27.093425000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> with iconVerticalAlign=top","status":"passed","title":"Renders <Panel /> with iconVerticalAlign=top","duration":73.18962599999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> with iconVerticalAlign=bottom","status":"passed","title":"Renders <Panel /> with iconVerticalAlign=bottom","duration":78.20080899999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Panel /> with default iconVerticalAlign=center","status":"passed","title":"Renders <Panel /> with default iconVerticalAlign=center","duration":94.63463700000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Panel content area carries min-height:0 so a tall body scrolls instead of stranding the footer","status":"passed","title":"Panel content area carries min-height:0 so a tall body scrolls instead of stranding the footer","duration":42.37329899999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Forwards re-resizable `enable` so a resizable <Panel /> honours it","status":"passed","title":"Forwards re-resizable `enable` so a resizable <Panel /> honours it","duration":45.89060400000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A non-resizable <Panel /> renders no resize handles","status":"passed","title":"A non-resizable <Panel /> renders no resize handles","duration":35.928705000000264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Panel accent strip reserves accentSize and accepts TSizes names","status":"passed","title":"Panel accent strip reserves accentSize and accepts TSizes names","duration":204.41815600000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Panel accentPosition keeps the intent off the border, at rest and on hover","status":"passed","title":"Panel accentPosition keeps the intent off the border, at rest and on hover","duration":271.6634209999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Panel accentPosition drops the border entirely when flat","status":"passed","title":"Panel accentPosition drops the border entirely when flat","duration":121.574165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Panel raised applies on accent panels, which draw no border to compete with","status":"passed","title":"Panel raised applies on accent panels, which draw no border to compete with","duration":93.30923699999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Panel renders the accent strip on either edge, neutral without an intent","status":"passed","title":"Panel renders the accent strip on either edge, neutral without an intent","duration":173.57010600000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Panel accent strip rounds itself only when a sticky header stops the wrapper clipping","status":"passed","title":"Panel accent strip rounds itself only when a sticky header stops the wrapper clipping","duration":191.0868959999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not forward the Panel accentPosition prop to the DOM","status":"passed","title":"Does not forward the Panel accentPosition prop to the DOM","duration":56.107232000000295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["compactTitle"],"fullName":"compactTitle Drops the title text and keeps the icon when narrow","status":"passed","title":"Drops the title text and keeps the icon when narrow","duration":11.314172999999755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["compactTitle"],"fullName":"compactTitle Keeps a narrow title bar on one row, with or without the opt-in","status":"passed","title":"Keeps a narrow title bar on one row, with or without the opt-in","duration":79.31469299999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["compactTitle"],"fullName":"compactTitle Keeps the title text when there is no icon to fall back to","status":"passed","title":"Keeps the title text when there is no icon to fall back to","duration":25.03532399999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["compactTitle"],"fullName":"compactTitle Leaves the title alone without the opt-in","status":"passed","title":"Leaves the title alone without the opt-in","duration":27.555927000000338,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["compactTitle"],"fullName":"compactTitle Stays wide while the panel has not been measured","status":"passed","title":"Stays wide while the panel has not been measured","duration":28.23796299999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["narrow action labels"],"fullName":"narrow action labels Drops an action label for its icon when the bar is narrow","status":"passed","title":"Drops an action label for its icon when the bar is narrow","duration":25.51568099999986,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575909800,"endTime":1792575912888.5156,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panel.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a panel given an element in `as` renders that element","status":"passed","title":"a panel given an element in `as` renders that element","duration":416.6198300000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a panel given a component in `as` renders that component","status":"passed","title":"a panel given a component in `as` renders that component","duration":45.37925600000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"`as` wins over `resizable`","status":"passed","title":"`as` wins over `resizable`","duration":49.46572000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a resizable panel without `as` renders a Resizable","status":"passed","title":"a resizable panel without `as` renders a Resizable","duration":38.043673000000126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a panel that is neither renders a div","status":"passed","title":"a panel that is neither renders a div","duration":39.06257699999969,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576107122,"endTime":1792576107711.0625,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panelAs.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"floating actions placed again after being hidden end at the panel's right edge","status":"passed","title":"floating actions placed again after being hidden end at the panel's right edge","duration":596.7035040000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a window that resizes after the actions are shown takes them with the panel's corner","status":"passed","title":"a window that resizes after the actions are shown takes them with the panel's corner","duration":56.889196000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a panel that resizes, with no scroll and no window resize, takes its actions with it","status":"passed","title":"a panel that resizes, with no scroll and no window resize, takes its actions with it","duration":46.983716000000186,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"actions whose content widens are placed again, their right edge still on the panel's","status":"passed","title":"actions whose content widens are placed again, their right edge still on the panel's","duration":54.99868199999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"they are placed once per frame, however many changes come in during it","status":"passed","title":"they are placed once per frame, however many changes come in during it","duration":67.19923900000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a panel whose actions are hidden again places them no more, and observes nothing","status":"passed","title":"a panel whose actions are hidden again places them no more, and observes nothing","duration":69.06020399999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a panel that is gone places nothing in a frame asked for before it went","status":"passed","title":"a panel that is gone places nothing in a frame asked for before it went","duration":54.096186000000216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"without ResizeObserver, a window that resizes still takes the actions with the panel","status":"passed","title":"without ResizeObserver, a window that resizes still takes the actions with the panel","duration":49.782600999999886,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576011376,"endTime":1792576012374.7827,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panelFloatingActionsPlacement.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"the actions stay while the pointer crosses from the panel to them","status":"passed","title":"the actions stay while the pointer crosses from the panel to them","duration":549.5117919999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"the actions go when the pointer leaves the strip for anything else","status":"passed","title":"the actions go when the pointer leaves the strip for anything else","duration":85.7492470000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaving the panel away from its actions ends the hover at once, as before","status":"passed","title":"leaving the panel away from its actions ends the hover at once, as before","duration":69.39817099999982,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576088332,"endTime":1792576089036.3982,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panelFloatingActionsReachable.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a floating panel's hover action is in its bar, and a tap reaches it","status":"passed","title":"a floating panel's hover action is in its bar, and a tap reaches it","duration":524.4259029999998,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576116871,"endTime":1792576117395.4258,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panelFloatingActionsTouch.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"A panel without media renders no frame","status":"passed","title":"A panel without media renders no frame","duration":594.2774020000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A media URL renders a decorative image in a frame above the title bar","status":"passed","title":"A media URL renders a decorative image in a frame above the title bar","duration":142.76612399999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"mediaAlt is the image text","status":"passed","title":"mediaAlt is the image text","duration":70.513688,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"mediaPosition=\"bottom\" puts the frame under everything","status":"passed","title":"mediaPosition=\"bottom\" puts the frame under everything","duration":63.861201000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The frame takes the panel’s inner curve on its outer corners","status":"passed","title":"The frame takes the panel’s inner curve on its outer corners","duration":185.0236149999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A square panel draws a square frame","status":"passed","title":"A square panel draws a square frame","duration":67.07147999999961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"mediaAspectRatio fixes the frame and makes the media cover it","status":"passed","title":"mediaAspectRatio fixes the frame and makes the media cover it","duration":80.01024300000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A node renders as given, and mediaProps reach the frame","status":"passed","title":"A node renders as given, and mediaProps reach the frame","duration":51.15979800000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The media hides while the panel is collapsed","status":"passed","title":"The media hides while the panel is collapsed","duration":317.40449300000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A media-only panel is just the frame","status":"passed","title":"A media-only panel is just the frame","duration":15.57984099999976,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576064231,"endTime":1792576065818.5798,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panelMedia.test.tsx"},{"assertionResults":[{"ancestorTitles":["panelIsSmall"],"fullName":"panelIsSmall is false before the panel has been measured","status":"passed","title":"is false before the panel has been measured","duration":2.801046000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["panelIsSmall"],"fullName":"panelIsSmall is true for a genuinely narrow measured panel","status":"passed","title":"is true for a genuinely narrow measured panel","duration":0.9494919999999638,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["panelIsSmall"],"fullName":"panelIsSmall is false at and above the breakpoint","status":"passed","title":"is false at and above the breakpoint","duration":0.7718600000000606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["panelIsSmall"],"fullName":"panelIsSmall is false whenever the panel opts out of a responsive title","status":"passed","title":"is false whenever the panel opts out of a responsive title","duration":0.448662000000013,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576130811,"endTime":1792576130815.4487,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panelResponsiveFirstPaint.test.ts"},{"assertionResults":[{"ancestorTitles":["a panel header at different measured widths"],"fullName":"a panel header at different measured widths lays out wide when it has been measured wide","status":"passed","title":"lays out wide when it has been measured wide","duration":651.7906619999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a panel header at different measured widths"],"fullName":"a panel header at different measured widths lays out narrow when it has been measured narrow","status":"passed","title":"lays out narrow when it has been measured narrow","duration":89.95063100000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a panel header at different measured widths"],"fullName":"a panel header at different measured widths renders unmeasured exactly as it renders wide","status":"passed","title":"renders unmeasured exactly as it renders wide","duration":179.20926199999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a panel header at different measured widths"],"fullName":"a panel header at different measured widths renders narrow differently from wide, so the test is not vacuous","status":"passed","title":"renders narrow differently from wide, so the test is not vacuous","duration":138.45676900000035,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576104373,"endTime":1792576105432.4568,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/panelResponsiveMeasured.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"<ReqoreP /> renders a paragraph by default","status":"passed","title":"<ReqoreP /> renders a paragraph by default","duration":127.02904500000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<ReqoreP /> renders as the element it is asked to","status":"passed","title":"<ReqoreP /> renders as the element it is asked to","duration":15.379526000000169,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576133467,"endTime":1792576133609.3796,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/paragraph.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a swipe that starts on something inside the element keeps going when that loses the capture","status":"passed","title":"a swipe that starts on something inside the element keeps going when that loses the capture","duration":33.573663000000124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a drag ends when the element that drags loses the capture it took","status":"passed","title":"a drag ends when the element that drags loses the capture it took","duration":7.51471800000013,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576100746,"endTime":1792576100787.5146,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/pointerDragImplicitCapture.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"repositions an open popover when asynchronous content changes size, at the next frame","status":"passed","title":"repositions an open popover when asynchronous content changes size, at the next frame","duration":180.36472000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"repositions an open popover when its target changes size, at the next frame","status":"passed","title":"repositions an open popover when its target changes size, at the next frame","duration":18.8315520000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a frame asked for by a popover that has since closed does not run","status":"passed","title":"a frame asked for by a popover that has since closed does not run","duration":11.003309999999601,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"honors the explicit updater prop while the popover is open","status":"passed","title":"honors the explicit updater prop while the popover is open","duration":17.319469000000026,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576081742,"endTime":1792576081970.3196,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popover-resize.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Does not forward customTheme to a native trigger","status":"passed","title":"Does not forward customTheme to a native trigger","duration":109.55714799999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows popover on hover, hides on leave","status":"passed","title":"Shows popover on hover, hides on leave","duration":332.0709660000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows popover on click, hides only on click away","status":"passed","title":"Shows popover on click, hides only on click away","duration":97.30128000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows custom content","status":"passed","title":"Shows custom content","duration":31.388512999999875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Runs callback function","status":"passed","title":"Runs callback function","duration":19.723555999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the popover after a local delay, ignoring global delay","status":"passed","title":"Shows the popover after a local delay, ignoring global delay","duration":22.158674000000246,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the popover after a global delay","status":"passed","title":"Shows the popover after a global delay","duration":27.58495099999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the popover with blur","status":"passed","title":"Shows the popover with blur","duration":32.31139399999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not show the popover with delay if time not reached","status":"passed","title":"Does not show the popover with delay if time not reached","duration":19.617040000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows the hoverStay popover after a delay and stays, ","status":"passed","title":"Shows the hoverStay popover after a delay and stays, ","duration":55.28324900000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Correctly passes popover data for non-opened popover","status":"passed","title":"Correctly passes popover data for non-opened popover","duration":13.776076000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Correctly passes popover data for opened popover","status":"passed","title":"Correctly passes popover data for opened popover","duration":50.27566999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not shows popover on click when onBeforeOpen returns false","status":"passed","title":"Does not shows popover on click when onBeforeOpen returns false","duration":7.008220000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not hide popover on click when onBeforeClose returns false","status":"passed","title":"Does not hide popover on click when onBeforeClose returns false","duration":33.174899000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps popover open when hovering over target or popover with keepOpenOnHover","status":"passed","title":"Keeps popover open when hovering over target or popover with keepOpenOnHover","duration":37.625830999999835,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking inside popover closes it when closeOnInsideClick is true","status":"passed","title":"Clicking inside popover closes it when closeOnInsideClick is true","duration":28.580991000000267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking inside popover does not close it when closeOnInsideClick is false","status":"passed","title":"Clicking inside popover does not close it when closeOnInsideClick is false","duration":20.659236999999848,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575986692,"endTime":1792575987631.6592,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popover.test.tsx"},{"assertionResults":[{"ancestorTitles":["a popover's controls"],"fullName":"a popover's controls say it is open once it opens, whichever copy is asked","status":"passed","title":"say it is open once it opens, whichever copy is asked","duration":668.849361,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover's controls"],"fullName":"a popover's controls open and close with the popover's callbacks as they are now, whichever copy is asked","status":"passed","title":"open and close with the popover's callbacks as they are now, whichever copy is asked","duration":107.80307700000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list is put away by text typed straight after the click that opened it","status":"passed","title":"is put away by text typed straight after the click that opened it","duration":173.5199349999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list is put away by text written without a key, as an on-screen keyboard writes it","status":"passed","title":"is put away by text written without a key, as an on-screen keyboard writes it","duration":174.06367799999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list is put away by composition text, as an Android keyboard writes ordinary letters","status":"passed","title":"is put away by composition text, as an Android keyboard writes ordinary letters","duration":57.65734599999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list stays open for composition text with nothing in it, which writes nothing","status":"passed","title":"stays open for composition text with nothing in it, which writes nothing","duration":82.12105299999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list stays open for keys that do not change the text","status":"passed","title":"stays open for keys that do not change the text","duration":51.84618999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["Escape with a list open"],"fullName":"Escape with a list open closes the list, and the editor around the field does not hear it","status":"passed","title":"closes the list, and the editor around the field does not hear it","duration":70.30375800000002,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576039746,"endTime":1792576041133.3037,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popoverControlsAnswerNow.test.tsx"},{"assertionResults":[{"ancestorTitles":["Escape"],"fullName":"Escape closes a modal that has a tooltip showing in it","status":"passed","title":"closes a modal that has a tooltip showing in it","duration":972.2078240000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["Escape"],"fullName":"Escape reaches an editor's own handler while a tooltip shows elsewhere","status":"passed","title":"reaches an editor's own handler while a tooltip shows elsewhere","duration":80.03957700000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["Escape"],"fullName":"Escape closes an open list in a field, and the editor around the field does not hear it","status":"passed","title":"closes an open list in a field, and the editor around the field does not hear it","duration":499.00413700000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["Escape"],"fullName":"Escape goes on to the editor when the list refuses to close","status":"passed","title":"goes on to the editor when the list refuses to close","duration":96.89333699999952,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576068685,"endTime":1792576070332.8933,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popoverEscapeGoesOn.test.tsx"},{"assertionResults":[{"ancestorTitles":["a list opened by focus"],"fullName":"a list opened by focus opens when the field is focused","status":"passed","title":"opens when the field is focused","duration":729.069097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a list opened by focus"],"fullName":"a list opened by focus opens for a field focused as it mounts","status":"passed","title":"opens for a field focused as it mounts","duration":73.65351499999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a list opened by focus"],"fullName":"a list opened by focus stays closed after Escape while the field keeps the focus","status":"passed","title":"stays closed after Escape while the field keeps the focus","duration":91.27833700000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a list opened by focus"],"fullName":"a list opened by focus stays closed for a field nobody is in","status":"passed","title":"stays closed for a field nobody is in","duration":25.812906999999996,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576097498,"endTime":1792576098417.813,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popoverFocusOpens.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"is exactly Popper’s own boundary when no clipping ancestor lacks a box","status":"passed","title":"is exactly Popper’s own boundary when no clipping ancestor lacks a box","duration":133.86275299999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaves out a display: contents ancestor, and keeps the ones that clip","status":"passed","title":"leaves out a display: contents ancestor, and keeps the ones that clip","duration":7.078923999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"an empty boundary when the only clipping ancestor has no box — the viewport alone decides","status":"passed","title":"an empty boundary when the only clipping ancestor has no box — the viewport alone decides","duration":4.013677000000143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"never counts the trigger itself, as Popper starts from its parent","status":"passed","title":"never counts the trigger itself, as Popper starts from its parent","duration":7.34909800000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaves a absolute-positioned trigger to Popper, whose offset-parent rules it does not reproduce","status":"passed","title":"leaves a absolute-positioned trigger to Popper, whose offset-parent rules it does not reproduce","duration":6.177903999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaves a fixed-positioned trigger to Popper, whose offset-parent rules it does not reproduce","status":"passed","title":"leaves a fixed-positioned trigger to Popper, whose offset-parent rules it does not reproduce","duration":2.91461500000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaves a virtual trigger to Popper","status":"passed","title":"leaves a virtual trigger to Popper","duration":0.6563089999999647,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576106825,"endTime":1792576106987.6562,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popoverHideModifier.test.ts"},{"assertionResults":[{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached that stays (hoverStay) opens at a tap, and a tap elsewhere closes it","status":"passed","title":"that stays (hoverStay) opens at a tap, and a tap elsewhere closes it","duration":409.0408739999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached that stays (hoverStay) opens at once at a tap, without the delay a hover waits","status":"passed","title":"that stays (hoverStay) opens at once at a tap, without the delay a hover waits","duration":65.89020900000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached that stays (hoverStay) opens for a mouse on its hover, and its click closes nothing","status":"passed","title":"that stays (hoverStay) opens for a mouse on its hover, and its click closes nothing","duration":33.31077000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached that stays (hoverStay) opens for nothing at a mouse click no hover came before","status":"passed","title":"that stays (hoverStay) opens for nothing at a mouse click no hover came before","duration":6.453582000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached kept open while hovered (keepOpenOnHover) opens at a tap","status":"passed","title":"kept open while hovered (keepOpenOnHover) opens at a tap","duration":31.144141999999647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached kept open while hovered, opened by a click, opens at a tap; a second tap closes it","status":"passed","title":"kept open while hovered, opened by a click, opens at a tap; a second tap closes it","duration":28.58016899999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached kept open while hovered, opened by a click, opens for a mouse; its click keeps it","status":"passed","title":"kept open while hovered, opened by a click, opens for a mouse; its click keeps it","duration":43.80914399999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a popover meant to be reached"],"fullName":"a popover meant to be reached kept open while hovered, opened by focus, opens when the keyboard brings the focus","status":"passed","title":"kept open while hovered, opened by focus, opens when the keyboard brings the focus","duration":30.903407000000243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain hover tooltip"],"fullName":"a plain hover tooltip that stays (hoverStay) but is no way in opens for nothing at a tap","status":"passed","title":"that stays (hoverStay) but is no way in opens for nothing at a tap","duration":10.15373099999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a plain hover tooltip"],"fullName":"a plain hover tooltip opens for nothing at a tap, its click included","status":"passed","title":"opens for nothing at a tap, its click included","duration":11.729375999999775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a tab bar's More menu"],"fullName":"a tab bar's More menu opens at a tap and lists the tabs it hides","status":"passed","title":"opens at a tap and lists the tabs it hides","duration":480.65256,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576031988,"endTime":1792576033140.6526,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popoverOpensAtATap.test.tsx"},{"assertionResults":[{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface falls through a hover tooltip","status":"passed","title":"falls through a hover tooltip","duration":555.6984859999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface is taken by a popover held open on hover, which exists to be reached","status":"passed","title":"is taken by a popover held open on hover, which exists to be reached","duration":111.18287899999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface is taken by a popover opened by click","status":"passed","title":"is taken by a popover opened by click","duration":60.62101800000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface is taken by a popover that stays open after a hover","status":"passed","title":"is taken by a popover that stays open after a hover","duration":44.6224400000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface is taken by a popover opened by focus","status":"passed","title":"is taken by a popover opened by focus","duration":45.779599999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface is given back to a hover popover that asks for it","status":"passed","title":"is given back to a hover popover that asks for it","duration":39.35049400000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface is taken from any popover that asks to be transparent","status":"passed","title":"is taken from any popover that asks to be transparent","duration":43.87686900000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the pointer and a popover surface"],"fullName":"the pointer and a popover surface reaches a tooltip declared the short way, through the tooltip prop","status":"passed","title":"reaches a tooltip declared the short way, through the tooltip prop","duration":48.999745000000075,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576093667,"endTime":1792576094617.9998,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/popoverPointerEvents.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Progress /> properly","status":"passed","title":"Renders <Progress /> properly","duration":93.6045180000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with different sizes","status":"passed","title":"Renders <Progress /> with different sizes","duration":58.41395599999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with intents","status":"passed","title":"Renders <Progress /> with intents","duration":62.08563800000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with value label above track","status":"passed","title":"Renders <Progress /> with value label above track","duration":59.22242899999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with custom label on left side","status":"passed","title":"Renders <Progress /> with custom label on left side","duration":29.953244000000268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with both label and value","status":"passed","title":"Renders <Progress /> with both label and value","duration":27.199941999999737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> indeterminate mode","status":"passed","title":"Renders <Progress /> indeterminate mode","duration":31.955147999999554,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with proper ARIA attributes","status":"passed","title":"Renders <Progress /> with proper ARIA attributes","duration":8.934493000000202,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> disabled state","status":"passed","title":"Renders <Progress /> disabled state","duration":13.863906000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with custom max value","status":"passed","title":"Renders <Progress /> with custom max value","duration":13.960567999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> clamping value to max","status":"passed","title":"Renders <Progress /> clamping value to max","duration":12.825283000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with icons","status":"passed","title":"Renders <Progress /> with icons","duration":29.35173199999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with flat={false} shows border","status":"passed","title":"Renders <Progress /> with flat={false} shows border","duration":18.897461999999905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> animated with stripes","status":"passed","title":"Renders <Progress /> animated with stripes","duration":57.69226200000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Tooltip on <Progress /> works","status":"passed","title":"Tooltip on <Progress /> works","duration":325.62869500000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not show labels section when no label props provided","status":"passed","title":"Does not show labels section when no label props provided","duration":5.434808999999859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with target marker","status":"passed","title":"Renders <Progress /> with target marker","duration":31.58745500000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Progress /> with custom target label","status":"passed","title":"Renders <Progress /> with custom target label","duration":37.553907999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Hides target label when showTargetLabel is false","status":"passed","title":"Hides target label when showTargetLabel is false","duration":12.351032999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render target marker when target is not set","status":"passed","title":"Does not render target marker when target is not set","duration":5.623135999999704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not render target marker when indeterminate","status":"passed","title":"Does not render target marker when indeterminate","duration":5.642444999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clamps target value to max","status":"passed","title":"Clamps target value to max","duration":39.167609000000084,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576007940,"endTime":1792576008921.1677,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/progress.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Checkbox /> properly","status":"passed","title":"Renders <Checkbox /> properly","duration":244.09804499999973,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576135189,"endTime":1792576135433.0981,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/radiogroup.test.tsx"},{"assertionResults":[{"ancestorTitles":["React's warnings"],"fullName":"React's warnings are read as React prints them, with the first four frames that name the source","status":"passed","title":"are read as React prints them, with the first four frames that name the source","duration":2.7728309999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["React's warnings"],"fullName":"React's warnings are read without a component stack, from the stack of the call","status":"passed","title":"are read without a component stack, from the stack of the call","duration":0.9362610000000586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["React's warnings"],"fullName":"React's warnings say which render React means, when it says","status":"passed","title":"say which render React means, when it says","duration":0.9380240000000413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["React's warnings"],"fullName":"React's warnings fall under the rule that names them","status":"passed","title":"fall under the rule that names them","duration":1.4280370000001312,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["React's warnings"],"fullName":"React's warnings are every call that React prefixes as its warning, and nothing else","status":"passed","title":"are every call that React prefixes as its warning, and nothing else","duration":0.49954700000012053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["React's warnings"],"fullName":"React's warnings have a rule for every kind, the last one for any other","status":"passed","title":"have a rule for every kind, the last one for any other","duration":0.5247839999999542,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a watch on the console"],"fullName":"a watch on the console keeps each React warning, from errors and warnings, until asked, and the console still prints everything","status":"passed","title":"keeps each React warning, from errors and warnings, until asked, and the console still prints everything","duration":7.06223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a watch on the console"],"fullName":"a watch on the console passes on a call it cannot read as text, unread","status":"passed","title":"passes on a call it cannot read as text, unread","duration":1.4271559999999681,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a watch on the console"],"fullName":"a watch on the console gives the console back as it was","status":"passed","title":"gives the console back as it was","duration":0.9108539999999721,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the failure a story is given"],"fullName":"the failure a story is given says what each rule means and what to do, then names its warnings, in the order of the rules","status":"passed","title":"says what each rule means and what to do, then names its warnings, in the order of the rules","duration":0.6647510000000239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the failure a story is given"],"fullName":"the failure a story is given says when a warning came before the story started, or after the last story","status":"passed","title":"says when a warning came before the story started, or after the last story","duration":1.7602969999998095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the failure a story is given"],"fullName":"the failure a story is given is nothing when there were none","status":"passed","title":"is nothing when there were none","duration":0.33971100000007937,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575991653,"endTime":1792575991673.3396,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/reactWarningGate.test.ts"},{"assertionResults":[{"ancestorTitles":["a read-only tag"],"fullName":"a read-only tag keeps its handler but is neither a tab stop nor pointer-cursored","status":"passed","title":"keeps its handler but is neither a tab stop nor pointer-cursored","duration":254.13133599999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a read-only tag"],"fullName":"a read-only tag is still a tab stop when it is genuinely pressable","status":"passed","title":"is still a tab stop when it is genuinely pressable","duration":40.63278700000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a read-only tag"],"fullName":"a read-only tag keeps the tabIndex it is given while pressable, and only then","status":"passed","title":"keeps the tabIndex it is given while pressable, and only then","duration":84.90911300000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template chip in an editor that cannot be typed into"],"fullName":"a template chip in an editor that cannot be typed into does not offer a cursor it will refuse — readOnly","status":"passed","title":"does not offer a cursor it will refuse — readOnly","duration":261.69250799999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template chip in an editor that cannot be typed into"],"fullName":"a template chip in an editor that cannot be typed into does not offer a cursor it will refuse — disabled","status":"passed","title":"does not offer a cursor it will refuse — disabled","duration":125.65273800000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template chip in an editor that cannot be typed into"],"fullName":"a template chip in an editor that cannot be typed into is pressable in an ordinary editor, where the click places a cursor","status":"passed","title":"is pressable in an ordinary editor, where the click places a cursor","duration":260.55271800000037,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576079952,"endTime":1792576080979.5527,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/readOnlyIsNotPressable.test.tsx"},{"assertionResults":[{"ancestorTitles":["useReqoreMedia"],"fullName":"useReqoreMedia can ask the browser here","status":"passed","title":"can ask the browser here","duration":2.9894449999999324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useReqoreMedia"],"fullName":"useReqoreMedia answers the browser's answer on the first render of a page drawn in the browser","status":"passed","title":"answers the browser's answer on the first render of a page drawn in the browser","duration":24.274145999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useReqoreMedia"],"fullName":"useReqoreMedia draws the default on a server, which cannot ask","status":"passed","title":"draws the default on a server, which cannot ask","duration":3.554668999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useReqoreMedia"],"fullName":"useReqoreMedia hydrates what the server drew, then answers with the browser's answer","status":"passed","title":"hydrates what the server drew, then answers with the browser's answer","duration":12.974719999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useReqoreMedia"],"fullName":"useReqoreMedia follows the query when its answer changes","status":"passed","title":"follows the query when its answer changes","duration":3.743898000000172,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576090858,"endTime":1792576090905.744,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/reqoreMediaHydration.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"establishes an empty-editor selection on focus for Firefox input","status":"passed","title":"establishes an empty-editor selection on focus for Firefox input","duration":285.49586899999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"does not pass a React ref to Slate Editable","status":"passed","title":"does not pass a React ref to Slate Editable","duration":27.073597000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"keeps Reqore styling props off the editor element","status":"passed","title":"keeps Reqore styling props off the editor element","duration":119.3872150000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"adopts a click beside a chip into the editor selection immediately","status":"passed","title":"adopts a click beside a chip into the editor selection immediately","duration":159.19309999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"adopts a click in ordinary text immediately, too","status":"passed","title":"adopts a click in ordinary text immediately, too","duration":58.118312999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"leaves the selection alone for a caret outside the editor","status":"passed","title":"leaves the selection alone for a caret outside the editor","duration":33.930475000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"adopts nothing while read-only","status":"passed","title":"adopts nothing while read-only","duration":103.25531899999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a chip in an editable text is not a tab stop of its own","status":"passed","title":"a chip in an editable text is not a tab stop of its own","duration":35.826330999999755,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575990517,"endTime":1792575991339.8264,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/richTextEditor.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a key typed between a value and its passive effects is kept","status":"passed","title":"a key typed between a value and its passive effects is kept","duration":334.138923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a value from outside still replaces the document","status":"passed","title":"a value from outside still replaces the document","duration":50.437217000000146,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576101191,"endTime":1792576101575.4373,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/richTextEditorValueSync.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"An action is named by its label, or else by its tooltip when that is text","status":"passed","title":"An action is named by its label, or else by its tooltip when that is text","duration":6.299093999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A label empty, blank or not text gives way to the tooltip, then the aria-label","status":"passed","title":"A label empty, blank or not text gives way to the tooltip, then the aria-label","duration":1.4883660000000418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Opens a menu naming each action with its icon; the one picked runs, the row underneath does not","status":"passed","title":"Opens a menu naming each action with its icon; the one picked runs, the row underneath does not","duration":707.758734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The open list is a menu the button controls; the arrow keys move the focus in it","status":"passed","title":"The open list is a menu the button controls; the arrow keys move the focus in it","duration":368.6430879999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A panel action drawn as its own component is named, and clicked, by its props","status":"passed","title":"A panel action drawn as its own component is named, and clicked, by its props","duration":80.5428179999999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576031394,"endTime":1792576032558.5427,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/rowActionsMenu.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <SegmentedControl /> with correct number of items","status":"passed","title":"Renders <SegmentedControl /> with correct number of items","duration":389.0023119999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders nothing when items array is empty","status":"passed","title":"Renders nothing when items array is empty","duration":8.045130999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Has correct ARIA attributes","status":"passed","title":"Has correct ARIA attributes","duration":64.42774800000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The selected item is the one tab stop, and the arrow keys move it","status":"passed","title":"The selected item is the one tab stop, and the arrow keys move it","duration":83.1908199999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Calls onChange when clicking an item","status":"passed","title":"Calls onChange when clicking an item","duration":53.03441699999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not call onChange when disabled","status":"passed","title":"Does not call onChange when disabled","duration":50.564718000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not call onChange when readOnly","status":"passed","title":"Does not call onChange when readOnly","duration":46.82813899999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Skips disabled items in keyboard navigation","status":"passed","title":"Skips disabled items in keyboard navigation","duration":45.54103999999961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard ArrowRight wraps to first item","status":"passed","title":"Keyboard ArrowRight wraps to first item","duration":47.76422999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard ArrowLeft wraps to last item","status":"passed","title":"Keyboard ArrowLeft wraps to last item","duration":47.00087399999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard Home selects first enabled item","status":"passed","title":"Keyboard Home selects first enabled item","duration":70.15543100000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard End selects last enabled item","status":"passed","title":"Keyboard End selects last enabled item","duration":52.98286499999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"allowDeselect clears value when clicking active item","status":"passed","title":"allowDeselect clears value when clicking active item","duration":41.854961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with different sizes","status":"passed","title":"Renders with different sizes","duration":166.29620399999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with intent","status":"passed","title":"Renders with intent","duration":79.23231299999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders with pill shape","status":"passed","title":"Renders with pill shape","duration":218.102038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Per-item disabled prevents clicking that item","status":"passed","title":"Per-item disabled prevents clicking that item","duration":26.221371999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Selects first item by default when no value or defaultValue provided","status":"passed","title":"Selects first item by default when no value or defaultValue provided","duration":29.662829999999758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows \"More\" dropdown when items overflow container width","status":"passed","title":"Shows \"More\" dropdown when items overflow container width","duration":84.50754799999959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shows selected item label in \"More\" button when active item is hidden","status":"passed","title":"Shows selected item label in \"More\" button when active item is hidden","duration":15.142633999999816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Positions the highlight under the active item from the padding edge","status":"passed","title":"Positions the highlight under the active item from the padding edge","duration":43.558874999999716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An item’s props reach its button: data, aria, id, class merged, style","status":"passed","title":"An item’s props reach its button: data, aria, id, class merged, style","duration":29.34973799999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An item’s props cannot break the radio group the control runs","status":"passed","title":"An item’s props cannot break the radio group the control runs","duration":199.5916240000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The item’s own fields win over its props; its props fill the ones it leaves unset","status":"passed","title":"The item’s own fields win over its props; its props fill the ones it leaves unset","duration":148.41639100000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A segment folded into the More menu passes its props to its menu item","status":"passed","title":"A segment folded into the More menu passes its props to its menu item","duration":935.989611,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575957604,"endTime":1792575960580.9895,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/segmentedControl.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders empty <ReqoreSelect />","status":"passed","title":"Renders empty <ReqoreSelect />","duration":290.5971709999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> with a value as a single chip","status":"passed","title":"Renders <ReqoreSelect /> with a value as a single chip","duration":82.34041700000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> with a value that is not among the items","status":"passed","title":"Renders <ReqoreSelect /> with a value that is not among the items","duration":47.00572000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> and clears the value by removing the chip","status":"passed","title":"Renders <ReqoreSelect /> and clears the value by removing the chip","duration":41.024136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> and REPLACES the value when another item is picked","status":"passed","title":"Renders <ReqoreSelect /> and REPLACES the value when another item is picked","duration":1239.1124549999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> and deselects the value by picking it again","status":"passed","title":"Renders <ReqoreSelect /> and deselects the value by picking it again","duration":186.90783800000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> and does not select a disabled item","status":"passed","title":"Renders <ReqoreSelect /> and does not select a disabled item","duration":332.5326299999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders disabled <ReqoreSelect /> when there are no items and none can be created","status":"passed","title":"Renders disabled <ReqoreSelect /> when there are no items and none can be created","duration":114.64602800000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> that can create a value outside the item list","status":"passed","title":"Renders <ReqoreSelect /> that can create a value outside the item list","duration":275.519413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> without a divider when nothing matched","status":"passed","title":"Renders <ReqoreSelect /> without a divider when nothing matched","duration":100.45944599999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> with a divider above the values that DID match","status":"passed","title":"Renders <ReqoreSelect /> with a divider above the values that DID match","duration":101.20559700000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> that creates a value with the ENTER key","status":"passed","title":"Renders <ReqoreSelect /> that creates a value with the ENTER key","duration":214.29715100000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> with an empty string as no selection","status":"passed","title":"Renders <ReqoreSelect /> with an empty string as no selection","duration":14.969246999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> with a non-removable chip","status":"passed","title":"Renders <ReqoreSelect /> with a non-removable chip","duration":25.39804499999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect multi /> holding many values","status":"passed","title":"Renders <ReqoreSelect multi /> holding many values","duration":408.59341700000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect multi /> with the multi labels, not the single ones","status":"passed","title":"Renders <ReqoreSelect multi /> with the multi labels, not the single ones","duration":16.210362000000714,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576001559,"endTime":1792576005050.2104,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/select.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a structured value never reaches the DOM","status":"passed","title":"a structured value never reaches the DOM","duration":141.113973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a scalar value is data too, and is not published as an attribute","status":"passed","title":"a scalar value is data too, and is not published as an attribute","duration":13.597221999999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"the item's other data keys stay off the DOM as well","status":"passed","title":"the item's other data keys stay off the DOM as well","duration":11.08887199999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"an unlabelled item still shows a scalar value as its label","status":"passed","title":"an unlabelled item still shows a scalar value as its label","duration":9.46167000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"an unlabelled item with a structured value renders instead of throwing","status":"passed","title":"an unlabelled item with a structured value renders instead of throwing","duration":17.46071299999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"the presentation half of an item still reaches the tag","status":"passed","title":"the presentation half of an item still reaches the tag","duration":91.162781,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value previews the value as readable JSON","status":"passed","title":"previews the value as readable JSON","duration":0.8740190000003167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value offers nothing for a value that reads fine as its own label","status":"passed","title":"offers nothing for a value that reads fine as its own label","duration":0.6908399999997528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value caps a large value rather than filling the screen","status":"passed","title":"caps a large value rather than filling the screen","duration":1.2645160000001852,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value caps the LINES, which is what the popover grows by","status":"passed","title":"caps the LINES, which is what the popover grows by","duration":0.8009820000002037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value says it truncated exactly once, however many caps applied","status":"passed","title":"says it truncated exactly once, however many caps applied","duration":1.5212540000002264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value caps the WIDTH, which neither other cap touches","status":"passed","title":"caps the WIDTH, which neither other cap touches","duration":0.5286600000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value leaves the lines of ordinary nested JSON alone","status":"passed","title":"leaves the lines of ordinary nested JSON alone","duration":0.9382649999997739,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value serialises a given value once, however often the chip re-renders","status":"passed","title":"serialises a given value once, however often the chip re-renders","duration":5.1398840000001655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value leaves a value that fits exactly as it is","status":"passed","title":"leaves a value that fits exactly as it is","duration":0.39813699999967866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value gives up quietly on a value that cannot be serialised","status":"passed","title":"gives up quietly on a value that cannot be serialised","duration":0.587938000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value never overrides a tooltip the item set itself","status":"passed","title":"never overrides a tooltip the item set itself","duration":0.29619800000000396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value offers nothing for a value its label already shows in full","status":"passed","title":"offers nothing for a value its label already shows in full","duration":0.2723919999998543,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the tooltip offered for a structured value"],"fullName":"the tooltip offered for a structured value renders the preview as pre-formatted monospace, because a value is data","status":"passed","title":"renders the preview as pre-formatted monospace, because a value is data","duration":169.19133199999987,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575994049,"endTime":1792575994516.1914,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/selectItem.test.tsx"},{"assertionResults":[{"ancestorTitles":["selectItemLabel"],"fullName":"selectItemLabel shows a scalar value when the item names no label","status":"passed","title":"shows a scalar value when the item names no label","duration":3.0314659999999094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["selectItemLabel"],"fullName":"selectItemLabel prefers the item's own label","status":"passed","title":"prefers the item's own label","duration":0.657430000000204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["selectItemLabel"],"fullName":"selectItemLabel has nothing to show for a structured value, or for no value at all","status":"passed","title":"has nothing to show for a structured value, or for no value at all","duration":0.7584900000001653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders the chip and the menu row of an unlabelled boolean item","status":"passed","title":"Renders the chip and the menu row of an unlabelled boolean item","duration":957.6520030000001,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576113109,"endTime":1792576114071.652,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/selectItemLabel.test.tsx"},{"assertionResults":[{"ancestorTitles":["the value type of a select"],"fullName":"the value type of a select stays `string` for a consumer that does not name one","status":"passed","title":"stays `string` for a consumer that does not name one","duration":2.2452729999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the value type of a select"],"fullName":"the value type of a select follows the values a consumer holds","status":"passed","title":"follows the values a consumer holds","duration":0.6717509999998583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the value type of a select"],"fullName":"the value type of a select refuses a handler that expects another kind of value","status":"passed","title":"refuses a handler that expects another kind of value","duration":0.4762430000000677,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the value type of a select"],"fullName":"the value type of a select refuses an item holding another kind of value","status":"passed","title":"refuses an item holding another kind of value","duration":1.293308000000252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the value type of a select"],"fullName":"the value type of a select offers creation only where the created value is the kind the select holds","status":"passed","title":"offers creation only where the created value is the kind the select holds","duration":0.7519190000002709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the value type of a select"],"fullName":"the value type of a select infers what a select holds from the value it is given","status":"passed","title":"infers what a select holds from the value it is given","duration":1.1229570000000422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreMultiSelect /> holding numbers, and hands numbers back","status":"passed","title":"Renders <ReqoreMultiSelect /> holding numbers, and hands numbers back","duration":865.9067719999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <ReqoreSelect /> holding a boolean, and clears it","status":"passed","title":"Renders <ReqoreSelect /> holding a boolean, and clears it","duration":117.96595499999967,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576035697,"endTime":1792576036687.966,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/selectValueTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"An unlabelled spacer renders exactly what it always has","status":"passed","title":"An unlabelled spacer renders exactly what it always has","duration":92.47655799999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An empty label renders the plain spacer","status":"passed","title":"An empty label renders the plain spacer","duration":11.768356999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A labelled vertical spacer draws a line, the label and a line","status":"passed","title":"A labelled vertical spacer draws a line, the label and a line","duration":153.83742400000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The label defaults to small, uppercase, spaced and muted text","status":"passed","title":"The label defaults to small, uppercase, spaced and muted text","duration":28.80470699999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The muted label colour follows the theme","status":"passed","title":"The muted label colour follows the theme","duration":105.74593099999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"labelEffect is spread over the label defaults","status":"passed","title":"labelEffect is spread over the label defaults","duration":36.297164000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"labelProps reach the label and keep its class","status":"passed","title":"labelProps reach the label and keep its class","duration":13.038450999999895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"size sets the label text and the gap around it","status":"passed","title":"size sets the label text and the gap around it","duration":65.2860139999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"labelAlign start leaves the short line on the right side","status":"passed","title":"labelAlign start leaves the short line on the right side","duration":32.33149200000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"labelAlign center leaves the short line on the right side","status":"passed","title":"labelAlign center leaves the short line on the right side","duration":17.777184000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"labelAlign end leaves the short line on the right side","status":"passed","title":"labelAlign end leaves the short line on the right side","duration":17.02840900000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A string label names a horizontal separator and is announced once","status":"passed","title":"A string label names a horizontal separator and is announced once","duration":10.670687000000271,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A node label stays readable and gets no role","status":"passed","title":"A node label stays readable and gets no role","duration":9.990151999999853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An aria-label names a node-labelled separator","status":"passed","title":"An aria-label names a node-labelled separator","duration":9.679785000000265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A labelled horizontal spacer draws a vertical line broken by the label","status":"passed","title":"A labelled horizontal spacer draws a vertical line broken by the label","duration":47.669856999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The line keeps the intent; the label does not take it","status":"passed","title":"The line keeps the intent; the label does not take it","duration":39.73635999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"customTheme reaches the muted label colour","status":"passed","title":"customTheme reaches the muted label colour","duration":34.68141000000014,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576043508,"endTime":1792576044234.6814,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/spacer.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Span /> bounded by maxWidth","status":"passed","title":"Renders <Span /> bounded by maxWidth","duration":179.38130600000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Span /> unbounded by default","status":"passed","title":"Renders <Span /> unbounded by default","duration":29.08122800000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Ellipsizes a bounded <Span /> only when asked to","status":"passed","title":"Ellipsizes a bounded <Span /> only when asked to","duration":36.00813500000004,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576123047,"endTime":1792576123292.008,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/span.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Without valueAs the prefix, value and suffix are each a heading, as they always were","status":"passed","title":"Without valueAs the prefix, value and suffix are each a heading, as they always were","duration":123.8413700000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"valueAs=\"p\" writes the whole value as one paragraph and no heading","status":"passed","title":"valueAs=\"p\" writes the whole value as one paragraph and no heading","duration":32.43267300000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"valueAs keeps the look: the size of the heading it replaces, bold, no margin","status":"passed","title":"valueAs keeps the look: the size of the heading it replaces, bold, no margin","duration":154.81432300000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"valueAs=\"h3\" puts ONE heading, of that level, in the outline","status":"passed","title":"valueAs=\"h3\" puts ONE heading, of that level, in the outline","duration":34.890244000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"valueEffect still styles the value under valueAs","status":"passed","title":"valueEffect still styles the value under valueAs","duration":27.0647570000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Without countUp the value is written once, with nothing hidden around it","status":"passed","title":"Without countUp the value is written once, with nothing hidden around it","duration":10.188012000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp shows the start until the value is in view, and reads the value meanwhile","status":"passed","title":"countUp shows the start until the value is in view, and reads the value meanwhile","duration":26.454052000000047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp counts once in view, in the value format, and ends on the value as given","status":"passed","title":"countUp counts once in view, in the value format, and ends on the value as given","duration":19.686065000000326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp keeps decimals and the text around the number","status":"passed","title":"countUp keeps decimals and the text around the number","duration":20.770050000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp counts a number value and honours from and duration","status":"passed","title":"countUp counts a number value and honours from and duration","duration":19.094822999999906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp waits for the threshold share of the value to be in view","status":"passed","title":"countUp waits for the threshold share of the value to be in view","duration":9.806429000000207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp writes every frame with format, and ends on format(value)","status":"passed","title":"countUp writes every frame with format, and ends on format(value)","duration":16.07419600000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp shows a value that is not one number at once","status":"passed","title":"countUp shows a value that is not one number at once","duration":7.348260999999638,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp shows the value at once under prefers-reduced-motion","status":"passed","title":"countUp shows the value at once under prefers-reduced-motion","duration":6.881503000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A value that changes after the count is shown at once","status":"passed","title":"A value that changes after the count is shown at once","duration":21.653984000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"countUp works with valueAs","status":"passed","title":"countUp works with valueAs","duration":12.056553999999778,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576019490,"endTime":1792576020034.0566,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/statisticValue.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a finger swiped sideways on the header scrolls the table","status":"passed","title":"a finger swiped sideways on the header scrolls the table","duration":1689.761607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"the header leaves up-and-down to the page and takes sideways swipes","status":"passed","title":"the header leaves up-and-down to the page and takes sideways swipes","duration":583.6346869999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"with dragToScroll, the mouse pulls the table by its header, and the press is not a click on it","status":"passed","title":"with dragToScroll, the mouse pulls the table by its header, and the press is not a click on it","duration":567.0814270000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"with dragToScroll, a press on the header that does not move is still a click","status":"passed","title":"with dragToScroll, a press on the header that does not move is still a click","duration":1229.8235000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"with dragToScroll, the mouse pulls the table by its body","status":"passed","title":"with dragToScroll, the mouse pulls the table by its body","duration":493.72664299999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"without dragToScroll the mouse does not drag the table, as before","status":"passed","title":"without dragToScroll the mouse does not drag the table, as before","duration":415.7213979999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Shift with a plain wheel on the header scrolls the table sideways","status":"passed","title":"Shift with a plain wheel on the header scrolls the table sideways","duration":320.12311800000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"with dragToScroll, the body says it can be pulled","status":"passed","title":"with dragToScroll, the body says it can be pulled","duration":322.7183930000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a finger keeps scrolling when the cell it landed on loses its own capture","status":"passed","title":"a finger keeps scrolling when the cell it landed on loses its own capture","duration":361.67147100000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a drag on a column's resize handle resizes the column and leaves the table where it is","status":"passed","title":"a drag on a column's resize handle resizes the column and leaves the table where it is","duration":342.70918899999924,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576045084,"endTime":1792576051411.7092,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/table-drag-to-scroll.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"A filled paged <Table /> measures only the flex-allocated table wrapper","status":"passed","title":"A filled paged <Table /> measures only the flex-allocated table wrapper","duration":3949.2296399999996,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576123910,"endTime":1792576127859.2297,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/table-fill-layout.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"<Table /> onScrollChange reports true when scrolled from the top and false at the top","status":"passed","title":"<Table /> onScrollChange reports true when scrolled from the top and false at the top","duration":2196.4230709999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576134717,"endTime":1792576136913.423,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/table-scroll-change.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders basic <Table /> properly","status":"passed","title":"Renders basic <Table /> properly","duration":1971.2071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Table /> with grouped columns properly","status":"passed","title":"Renders <Table /> with grouped columns properly","duration":903.7425229999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Table /> with custom content","status":"passed","title":"Renders <Table /> with custom content","duration":396.34475499999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Table /> with predefined content","status":"passed","title":"Renders <Table /> with predefined content","duration":811.8217610000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Sorting on <Table /> works properly","status":"passed","title":"Sorting on <Table /> works properly","duration":2145.2752250000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Rows on <Table /> can be selected","status":"passed","title":"Rows on <Table /> can be selected","duration":3015.1480079999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Controlled <Table /> selection follows props without echoing stale values","status":"passed","title":"Controlled <Table /> selection follows props without echoing stale values","duration":865.5226249999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Rows on <Table /> can be selected, does not keep internal state","status":"passed","title":"Rows on <Table /> can be selected, does not keep internal state","duration":581.0155140000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Rows on <Table /> cannot be selected if _selectId is missing","status":"passed","title":"Rows on <Table /> cannot be selected if _selectId is missing","duration":578.1361310000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Non-virtualized <Table /> renders every row in the DOM","status":"passed","title":"Non-virtualized <Table /> renders every row in the DOM","duration":14213.052556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Wrapped <Table /> renders rows with min-height instead of fixed height","status":"passed","title":"Wrapped <Table /> renders rows with min-height instead of fixed height","duration":552.8081009999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A wrapped <Table /> says so when it is also given a rowHeight it cannot use","status":"passed","title":"A wrapped <Table /> says so when it is also given a rowHeight it cannot use","duration":16168.215107999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A virtualized <Table /> takes its rowHeight without a warning","status":"passed","title":"A virtualized <Table /> takes its rowHeight without a warning","duration":398.22321199999715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> with rowHeight override renders every virtualized row at that height","status":"passed","title":"<Table /> with rowHeight override renders every virtualized row at that height","duration":337.3910670000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> with rowHeight AND expandable rows sizes the row, not just its slot","status":"passed","title":"<Table /> with rowHeight AND expandable rows sizes the row, not just its slot","duration":5331.086621000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> without rowHeight falls back to the size-derived row height","status":"passed","title":"<Table /> without rowHeight falls back to the size-derived row height","duration":500.3209029999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> rowHeight=0 is ignored (falls back to size-derived default)","status":"passed","title":"<Table /> rowHeight=0 is ignored (falls back to size-derived default)","duration":487.9548250000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> renders a single header wrapper even with pinned columns","status":"passed","title":"<Table /> renders a single header wrapper even with pinned columns","duration":1463.2766820000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Rows on <Table /> are all selected/deselected when clicking on header","status":"passed","title":"Rows on <Table /> are all selected/deselected when clicking on header","duration":1026.8928119999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Cells on <Table /> are interactive","status":"passed","title":"Cells on <Table /> are interactive","duration":3531.4572929999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A row `getRowProps` marks `interactive: false` takes no click, and the rows around it still do","status":"passed","title":"A row `getRowProps` marks `interactive: false` takes no click, and the rows around it still do","duration":1144.4836120000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Data on <Table /> headers are not reset when columns are updated","status":"passed","title":"Data on <Table /> headers are not reset when columns are updated","duration":2818.6529900000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> is reset to default","status":"passed","title":"<Table /> is reset to default","duration":1350.9911820000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> select-all toggle reflects the current row set, not a stale count","status":"passed","title":"<Table /> select-all toggle reflects the current row set, not a stale count","duration":887.9509259999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> select-all toggle only selects rows left by an active column filter","status":"passed","title":"<Table /> select-all toggle only selects rows left by an active column filter","duration":253.1889810000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> applies a filter declared on a nested (grouped) column","status":"passed","title":"<Table /> applies a filter declared on a nested (grouped) column","duration":274.0248869999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"getRowProps merges className, style, and data-* attributes onto every body row","status":"passed","title":"getRowProps merges className, style, and data-* attributes onto every body row","duration":433.73235799999384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> renders a viewport of overscan rows by default","status":"passed","title":"<Table /> renders a viewport of overscan rows by default","duration":561.9696800000092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> honours an explicit overscanRowCount","status":"passed","title":"<Table /> honours an explicit overscanRowCount","duration":348.91070999999647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows adds an expander column and opens nothing until asked","status":"passed","title":"adds an expander column and opens nothing until asked","duration":578.7188659999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows opens a row when its own row is clicked","status":"passed","title":"opens a row when its own row is clicked","duration":232.75604999999632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows keeps more than one row open, unless told not to","status":"passed","title":"keeps more than one row open, unless told not to","duration":168.9421799999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows closes the previous row when expandSingle is set","status":"passed","title":"closes the previous row when expandSingle is set","duration":215.08408600000257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows closes an open row when it is clicked again","status":"passed","title":"closes an open row when it is clicked again","duration":169.0600790000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows honours a controlled expansion and reports every change","status":"passed","title":"honours a controlled expansion and reports every change","duration":108.02642800001195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows gives no expander, and no toggle, to a row with nothing to show","status":"passed","title":"gives no expander, and no toggle, to a row with nothing to show","duration":1051.5555190000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows grows its own height to fit an open panel","status":"passed","title":"grows its own height to fit an open panel","duration":143.26177599999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows expands in the non-virtualized body too","status":"passed","title":"expands in the non-virtualized body too","duration":321.6094690000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows will not expand a disabled row, however it is asked","status":"passed","title":"will not expand a disabled row, however it is asked","duration":467.1590159999905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows does not confuse a row identified by position with one whose id is that number","status":"passed","title":"does not confuse a row identified by position with one whose id is that number","duration":169.84552299999632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows opens a row that has no id of its own by its position","status":"passed","title":"opens a row that has no id of its own by its position","duration":113.85592899999756,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows reports the panel its content needs, not the room the row happens to leave","status":"passed","title":"reports the panel its content needs, not the room the row happens to leave","duration":171.1925110000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> expandable rows"],"fullName":"<Table /> expandable rows leaves a table without renderExpandedRow exactly as it was","status":"passed","title":"leaves a table without renderExpandedRow exactly as it was","duration":274.5222989999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["expandable rows and re-renders"],"fullName":"expandable rows and re-renders does not re-render its rows when the table re-renders with unchanged props","status":"passed","title":"does not re-render its rows when the table re-renders with unchanged props","duration":780.6384530000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getQueryMatchScore"],"fullName":"getQueryMatchScore ranks an exact cell over a prefix over a word prefix over a substring","status":"passed","title":"ranks an exact cell over a prefix over a word prefix over a substring","duration":0.7939210000040475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getQueryMatchScore"],"fullName":"getQueryMatchScore ignores values a cell cannot show as text","status":"passed","title":"ignores values a cell cannot show as text","duration":0.37390099999902304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["rankTableDataByQuery"],"fullName":"rankTableDataByQuery puts the rows called the query first, then prefixes, then mentions, then hidden matches","status":"passed","title":"puts the rows called the query first, then prefixes, then mentions, then hidden matches","duration":0.816514999998617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["rankTableDataByQuery"],"fullName":"rankTableDataByQuery a match in an earlier column beats the same match further right","status":"passed","title":"a match in an earlier column beats the same match further right","duration":0.35640600000624545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["rankTableDataByQuery"],"fullName":"rankTableDataByQuery keeps the arriving order between equal matches and without a query","status":"passed","title":"keeps the arriving order between equal matches and without a query","duration":0.5211080000008224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> orders filtered rows by relevance when opted in","status":"passed","title":"<Table /> orders filtered rows by relevance when opted in","duration":1529.293817999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> keeps the arriving order of filtered rows by default","status":"passed","title":"<Table /> keeps the arriving order of filtered rows by default","duration":89.79699099999561,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> ranks over a sort while the query is active, sorted order breaking ties","status":"passed","title":"<Table /> ranks over a sort while the query is active, sorted order breaking ties","duration":117.21568599999591,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Table /> keeps a sort in charge without the opt-in","status":"passed","title":"<Table /> keeps a sort in charge without the opt-in","duration":101.72015300000203,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575903130,"endTime":1792575973292.7202,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/table.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a column takes panel actions, whose labels are strings or numbers, as its cell actions","status":"passed","title":"a column takes panel actions, whose labels are strings or numbers, as its cell actions","duration":2.457539999999881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a column takes button and row actions, labelled with any content, as cell actions","status":"passed","title":"a column takes button and row actions, labelled with any content, as cell actions","duration":1.3031340000002274,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a wide table draws a cell action's label in its button, a number as text","status":"passed","title":"a wide table draws a cell action's label in its button, a number as text","duration":853.975903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a wide table draws a labelled action's text, and names an icon-only one by tooltip","status":"passed","title":"a wide table draws a labelled action's text, and names an icon-only one by tooltip","duration":137.50022999999965,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576085092,"endTime":1792576086087.5002,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tableCellActionTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"A cell survives its consumer rebuilding the columns array","status":"passed","title":"A cell survives its consumer rebuilding the columns array","duration":770.3335419999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A content function that returns a string still renders","status":"passed","title":"A content function that returns a string still renders","duration":104.05945399999973,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576102319,"endTime":1792576103194.0596,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tableCellIdentity.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"A folded search emptied while it is typed in stays open, with the focus in it","status":"passed","title":"A folded search emptied while it is typed in stays open, with the focus in it","duration":1609.3491569999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A folded search emptied with its clear button stays open, with the focus in it","status":"passed","title":"A folded search emptied with its clear button stays open, with the focus in it","duration":200.8341959999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A folded search closes on Escape, calling the caller's own key and blur handlers too","status":"passed","title":"A folded search closes on Escape, calling the caller's own key and blur handlers too","duration":197.6097180000006,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576065912,"endTime":1792576067920.6096,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tableNarrowSearch.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders full <Tabs /> properly","status":"passed","title":"Renders full <Tabs /> properly","duration":386.41957200000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders shortened <Tabs /> properly","status":"passed","title":"Renders shortened <Tabs /> properly","duration":467.0284690000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Can select hidden <Tabs /> when shortened","status":"passed","title":"Can select hidden <Tabs /> when shortened","duration":58.152730999999676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Default active tab can be specified","status":"passed","title":"Default active tab can be specified","duration":88.87128800000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Changes tab and runs callback","status":"passed","title":"Changes tab and runs callback","duration":78.84285699999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not change tab and run callback when disabled","status":"passed","title":"Does not change tab and run callback when disabled","duration":110.75999899999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not change tab when mounted and active tab is set","status":"passed","title":"Does not change tab when mounted and active tab is set","duration":61.89881800000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Changes tab programatically and runs callback","status":"passed","title":"Changes tab programatically and runs callback","duration":132.73627299999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Closable tab can be closed if not disabled","status":"passed","title":"Closable tab can be closed if not disabled","duration":268.25648,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Overflow \"More\" menu is capped to a viewport-safe height by default","status":"passed","title":"Overflow \"More\" menu is capped to a viewport-safe height by default","duration":125.12673099999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"overflowMenuProps overrides the default overflow-menu height","status":"passed","title":"overflowMenuProps overrides the default overflow-menu height","duration":121.63919100000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"overflowMenuProps.className is forwarded to the overflow menu","status":"passed","title":"overflowMenuProps.className is forwarded to the overflow menu","duration":97.45565899999929,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"overflowPopoverProps overrides the popover trigger behaviour","status":"passed","title":"overflowPopoverProps overrides the popover trigger behaviour","duration":96.46535800000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"hideTabsList suppresses the strip while still rendering the active tab content","status":"passed","title":"hideTabsList suppresses the strip while still rendering the active tab content","duration":7.788470999999845,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575943111,"endTime":1792575945212.7886,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tabs.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <Tag /> properly","status":"passed","title":"Renders <Tag /> properly","duration":314.7700810000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not forward tag layout props to DOM elements","status":"passed","title":"Does not forward tag layout props to DOM elements","duration":102.7229940000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> group properly","status":"passed","title":"Renders <Tag /> group properly","duration":73.00604700000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> without remove button if disabled","status":"passed","title":"Renders <Tag /> without remove button if disabled","duration":28.923921000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Fires onClick and onRemoveClick <Tag /> events","status":"passed","title":"Fires onClick and onRemoveClick <Tag /> events","duration":20.292111000000205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> with the label key","status":"passed","title":"Renders <Tag /> with the label key","duration":61.72156099999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> with a monospace font family from the effect","status":"passed","title":"Renders <Tag /> with a monospace font family from the effect","duration":193.3026749999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> with its own font family when the effect asks for none","status":"passed","title":"Renders <Tag /> with its own font family when the effect asks for none","duration":116.96773400000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> raised, and not raised when it already has a border","status":"passed","title":"Renders <Tag /> raised, and not raised when it already has a border","duration":149.99092699999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> with configurable vertical padding","status":"passed","title":"Renders <Tag /> with configurable vertical padding","duration":61.447185999999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> aligned to the text baseline on request","status":"passed","title":"Renders <Tag /> aligned to the text baseline on request","duration":81.13866099999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> capped at maxWidth","status":"passed","title":"Renders <Tag /> capped at maxWidth","duration":106.94149600000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tag /> label in its own box so it can ellipsize","status":"passed","title":"Renders <Tag /> label in its own box so it can ellipsize","duration":109.87786899999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Lets a capped <Tag /> shrink below its label","status":"passed","title":"Lets a capped <Tag /> shrink below its label","duration":31.41840400000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Leaves an uncapped <Tag /> exactly as it was","status":"passed","title":"Leaves an uncapped <Tag /> exactly as it was","duration":35.22281900000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not truncate a <Tag /> that wraps or has a fixed width","status":"passed","title":"Does not truncate a <Tag /> that wraps or has a fixed width","duration":176.67899800000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps a capped <Tag /> label key whole","status":"passed","title":"Keeps a capped <Tag /> label key whole","duration":153.1032180000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Drops the middle of a capped <Tag /> label on request","status":"passed","title":"Drops the middle of a capped <Tag /> label on request","duration":45.783219999999346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Splits a middle-truncated <Tag /> label at the last third","status":"passed","title":"Splits a middle-truncated <Tag /> label at the last third","duration":47.87923200000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keeps a middle-truncated <Tag /> label whole when there is no third to drop","status":"passed","title":"Keeps a middle-truncated <Tag /> label whole when there is no third to drop","duration":11.975219000000834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Truncates a <Tag /> at the end by default","status":"passed","title":"Truncates a <Tag /> at the end by default","duration":14.708582000000206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Ignores truncate on an uncapped <Tag />","status":"passed","title":"Ignores truncate on an uncapped <Tag />","duration":22.759641000000556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Does not split a numeric <Tag /> label","status":"passed","title":"Does not split a numeric <Tag /> label","duration":44.95795199999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Splits a middle-truncated <Tag /> label even when it fits","status":"passed","title":"Splits a middle-truncated <Tag /> label even when it fits","duration":41.13661400000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Gives a capped <Tag /> label the room its key does not need","status":"passed","title":"Gives a capped <Tag /> label the room its key does not need","duration":81.89268799999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Still splits an uncapped key/value <Tag /> evenly","status":"passed","title":"Still splits an uncapped key/value <Tag /> evenly","duration":79.85091499999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A minimal tag with a grey intent does not label itself black on a dark wash","status":"passed","title":"A minimal tag with a grey intent does not label itself black on a dark wash","duration":50.70983999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["appearance"],"fullName":"appearance solid is the default and is what a tag without the prop renders","status":"passed","title":"solid is the default and is what a tag without the prop renders","duration":76.20311299999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["appearance"],"fullName":"appearance soft draws a ring and a 20% wash of the colour, and colours the label","status":"passed","title":"soft draws a ring and a 20% wash of the colour, and colours the label","duration":82.95224099999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["appearance"],"fullName":"appearance text colours only the label: no background and no ring","status":"passed","title":"text colours only the label: no background and no ring","duration":119.86019599999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["appearance"],"fullName":"appearance the label is darkened on a light theme and lightened on a dark one","status":"passed","title":"the label is darkened on a light theme and lightened on a dark one","duration":306.6461589999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["appearance"],"fullName":"appearance a tag group hands its appearance to tags that do not set their own","status":"passed","title":"a tag group hands its appearance to tags that do not set their own","duration":136.13896399999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["appearance"],"fullName":"appearance effect.color is the colour when there is no intent or color","status":"passed","title":"effect.color is the colour when there is no intent or color","duration":79.0346010000003,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575937646,"endTime":1792575940707.0347,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tag.test.tsx"},{"assertionResults":[{"ancestorTitles":["a template list"],"fullName":"a template list opens when the field is come into from the keyboard","status":"passed","title":"opens when the field is come into from the keyboard","duration":819.259282,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list opens once for a click, which brings the focus too","status":"passed","title":"opens once for a click, which brings the focus too","duration":111.86070299999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list opens from the keyboard after a click on the field while it had the focus","status":"passed","title":"opens from the keyboard after a click on the field while it had the focus","duration":164.70937999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list opens from the keyboard after a click that brought no focus","status":"passed","title":"opens from the keyboard after a click that brought no focus","duration":66.26956299999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list leaves a tap's focus to its click, though the focus comes after the release","status":"passed","title":"leaves a tap's focus to its click, though the focus comes after the release","duration":51.66724900000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list opens from the keyboard after a touch on the field that scrolled the page","status":"passed","title":"opens from the keyboard after a touch on the field that scrolled the page","duration":70.65533899999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list opens from the keyboard after a mouse press released without a click","status":"passed","title":"opens from the keyboard after a mouse press released without a click","duration":66.38065800000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a template list"],"fullName":"a template list does not open for focus that comes back from the list","status":"passed","title":"does not open for focus that comes back from the list","duration":12.038070999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a chip in a rich-text field that offers templates"],"fullName":"a chip in a rich-text field that offers templates does not list them when the cursor is already in the editor","status":"passed","title":"does not list them when the cursor is already in the editor","duration":392.5895580000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a chip in a rich-text field that offers templates"],"fullName":"a chip in a rich-text field that offers templates leaves a list that is open as it is","status":"passed","title":"leaves a list that is open as it is","duration":362.2633500000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a chip in a rich-text field that offers templates"],"fullName":"a chip in a rich-text field that offers templates still lists them for a click in the text, and when the field is come into from the keyboard","status":"passed","title":"still lists them for a click in the text, and when the field is come into from the keyboard","duration":273.34855100000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a chip in a rich-text field that offers templates"],"fullName":"a chip in a rich-text field that offers templates still lists them for a click on a chip's remove button","status":"passed","title":"still lists them for a click on a chip's remove button","duration":160.94776000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a chip in a rich-text field that offers templates"],"fullName":"a chip in a rich-text field that offers templates puts the list away when the focus leaves the field","status":"passed","title":"puts the list away when the focus leaves the field","duration":96.54437099999996,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576022709,"endTime":1792576025358.5444,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/templateListOpensOnFocus.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <TextArea /> properly","status":"passed","title":"Renders <TextArea /> properly","duration":182.64423299999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <TextArea /> with clear button properly","status":"passed","title":"Renders <TextArea /> with clear button properly","duration":93.61004400000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <TextArea /> cannot be cleared","status":"passed","title":"Disabled <TextArea /> cannot be cleared","duration":64.24552900000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Readonly <Textarea /> cannot be cleared","status":"passed","title":"Readonly <Textarea /> cannot be cleared","duration":46.22977200000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets automatically focused","status":"passed","title":"<Textarea /> gets automatically focused","duration":16.939706000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Readonly <Textarea /> does not get automatically focused","status":"passed","title":"Readonly <Textarea /> does not get automatically focused","duration":50.91086300000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <Textarea /> does not get automatically focused","status":"passed","title":"Disabled <Textarea /> does not get automatically focused","duration":75.99818200000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets automatically focused if it's out of viewport","status":"passed","title":"<Textarea /> gets automatically focused if it's out of viewport","duration":12.891873000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> does not get automatically focused if it's out of viewport","status":"passed","title":"<Textarea /> does not get automatically focused if it's out of viewport","duration":17.719225999999708,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets automatically focused if its inside of viewport","status":"passed","title":"<Textarea /> gets automatically focused if its inside of viewport","duration":14.489008999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets focused after any letter is pressed","status":"passed","title":"<Textarea /> gets focused after any letter is pressed","duration":54.41458300000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets focused after any letter is pressed 2","status":"passed","title":"<Textarea /> gets focused after any letter is pressed 2","duration":15.508704000000307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets focused after any digit is pressed","status":"passed","title":"<Textarea /> gets focused after any digit is pressed","duration":10.76837999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets focused after any digit is pressed 2","status":"passed","title":"<Textarea /> gets focused after any digit is pressed 2","duration":8.436048000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets focused after any digit or letter is pressed","status":"passed","title":"<Textarea /> gets focused after any digit or letter is pressed","duration":8.976439999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets focused after any digit or letter is pressed 2","status":"passed","title":"<Textarea /> gets focused after any digit or letter is pressed 2","duration":13.74883299999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> gets focused after a specified shortcut is pressed","status":"passed","title":"<Textarea /> gets focused after a specified shortcut is pressed","duration":12.135697000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport","status":"passed","title":"<Textarea /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport","duration":18.763608000000204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> does not get focused when typing in another input","status":"passed","title":"<Textarea /> does not get focused when typing in another input","duration":27.488241000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Readonly <Textarea /> does not get focused when shortcut is pressed","status":"passed","title":"Readonly <Textarea /> does not get focused when shortcut is pressed","duration":19.781278999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Disabled <Textarea /> does not get focused when shortcut is pressed","status":"passed","title":"Disabled <Textarea /> does not get focused when shortcut is pressed","duration":17.530117000000246,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Textarea /> is cleared when focused","status":"passed","title":"<Textarea /> is cleared when focused","duration":22.22979200000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<TextArea /> forwards `rows` so scaleWithContent keeps it as the floor","status":"passed","title":"<TextArea /> forwards `rows` so scaleWithContent keeps it as the floor","duration":16.23862199999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<TextArea /> resizes only vertically, whatever wraps it","status":"passed","title":"<TextArea /> resizes only vertically, whatever wraps it","duration":134.19605199999978,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575961259,"endTime":1792575962216.196,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/textarea.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"The price detail is small, uppercase and muted by default","status":"passed","title":"The price detail is small, uppercase and muted by default","duration":502.461139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"No price detail renders no line","status":"passed","title":"No price detail renders no line","duration":29.132342999999764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"priceDetailEffect is spread over the defaults: the case can stay as written","status":"passed","title":"priceDetailEffect is spread over the defaults: the case can stay as written","duration":127.75228500000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"priceDetailProps reach the paragraph, its effect merged under priceDetailEffect","status":"passed","title":"priceDetailProps reach the paragraph, its effect merged under priceDetailEffect","duration":64.51449700000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The classic appearance stays the default: the price is a heading, the period upper case","status":"passed","title":"The classic appearance stays the default: the price is a heading, the period upper case","duration":46.634537000000364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A modern tier names its plan with a heading (h3 by default) and never makes the price one","status":"passed","title":"A modern tier names its plan with a heading (h3 by default) and never makes the price one","duration":275.7020660000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"labelSize sets the heading level of a modern tier's name","status":"passed","title":"labelSize sets the heading level of a modern tier's name","duration":44.42476600000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A modern tier writes the period in the price paragraph, as written and at the text size","status":"passed","title":"A modern tier writes the period in the price paragraph, as written and at the text size","duration":62.22562999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"priceDetailEffect and priceDetailProps still reach a modern tier's period","status":"passed","title":"priceDetailEffect and priceDetailProps still reach a modern tier's period","duration":72.2500399999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A modern tier on sale shows the sale price and strikes the original through","status":"passed","title":"A modern tier on sale shows the sale price and strikes the original through","duration":43.948353000000225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A modern tier writes the currency after the price, and none on a word","status":"passed","title":"A modern tier writes the currency after the price, and none on a word","duration":56.12890400000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A modern tier lists its features, one icon per feature, and its button comes last","status":"passed","title":"A modern tier lists its features, one icon per feature, and its button comes last","duration":43.3234809999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A modern tier without a feature list or a description renders neither","status":"passed","title":"A modern tier without a feature list or a description renders neither","duration":24.65788100000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"An active modern tier says so on a read-only button","status":"passed","title":"An active modern tier says so on a read-only button","duration":85.16412500000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"actionButtonProps reach a modern tier's button","status":"passed","title":"actionButtonProps reach a modern tier's button","duration":31.178141999999752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A highlighted modern tier is marked by its badge and a filled button, and is not scaled","status":"passed","title":"A highlighted modern tier is marked by its badge and a filled button, and is not scaled","duration":304.2158610000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"labelEffect styles a modern tier's name and descriptionEffect its description","status":"passed","title":"labelEffect styles a modern tier's name and descriptionEffect its description","duration":87.26984600000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A modern tier's muted text keeps a 4.5:1 contrast on dark and light themes","status":"passed","title":"A modern tier's muted text keeps a 4.5:1 contrast on dark and light themes","duration":5.23231399999986,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576015050,"endTime":1792576016956.2324,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tier.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"normalizeTierIndex holds an index to the ends, or wraps it round with loop","status":"passed","title":"normalizeTierIndex holds an index to the ends, or wraps it round with loop","duration":3.5887150000003203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"getTierStackOffset counts the steps from the front, the shorter way round with loop","status":"passed","title":"getTierStackOffset counts the steps from the front, the shorter way round with loop","duration":2.0553719999998066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"getInitialTierIndex starts on the asked index, else the first highlighted tier, else 0","status":"passed","title":"getInitialTierIndex starts on the asked index, else the first highlighted tier, else 0","duration":0.8952509999999165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"getTierSwipeStep: far or fast enough brings the next or previous tier to the front","status":"passed","title":"getTierSwipeStep: far or fast enough brings the next or previous tier to the front","duration":0.8144519999996191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"getTierStackItemStyle: the front at full size, neighbours smaller, dimmed and turned","status":"passed","title":"getTierStackItemStyle: the front at full size, neighbours smaller, dimmed and turned","duration":1.487133999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A tier group is a row by default, even on a narrow container, with no stack controls","status":"passed","title":"A tier group is a row by default, even on a narrow container, with no stack controls","duration":648.1188659999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A tier group hands its appearance and size to tiers that do not set their own","status":"passed","title":"A tier group hands its appearance and size to tiers that do not set their own","duration":897.4006450000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A tier group stays a row on a wide container, with mobileLayout=\"stack\"","status":"passed","title":"A tier group stays a row on a wide container, with mobileLayout=\"stack\"","duration":104.29412899999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A narrow stack puts the highlighted tier in front and makes the others inert","status":"passed","title":"A narrow stack puts the highlighted tier in front and makes the others inert","duration":428.6038060000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"mobileBreakpoint decides how narrow is narrow","status":"passed","title":"mobileBreakpoint decides how narrow is narrow","duration":189.97242199999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The arrow keys, Home and End bring tiers to the front, held at the ends","status":"passed","title":"The arrow keys, Home and End bring tiers to the front, held at the ends","duration":105.60510900000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keys typed into a text field inside a tier are left to the field","status":"passed","title":"Keys typed into a text field inside a tier are left to the field","duration":72.442454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"With loop, stepping past either end wraps round and the buttons never disable","status":"passed","title":"With loop, stepping past either end wraps round and the buttons never disable","duration":126.86778499999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The previous and next buttons and the dots bring tiers to the front","status":"passed","title":"The previous and next buttons and the dots bring tiers to the front","duration":101.69531499999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A controlled stack reports the choice and shows the index it is given","status":"passed","title":"A controlled stack reports the choice and shows the index it is given","duration":81.46378400000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Labels can be translated","status":"passed","title":"Labels can be translated","duration":51.272609999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The stack animates its switch, unless the user asked for reduced motion","status":"passed","title":"The stack animates its switch, unless the user asked for reduced motion","duration":178.35614299999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"size scales the stack controls; intent colours the front dot","status":"passed","title":"size scales the stack controls; intent colours the front dot","duration":430.207547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A stack with one tier has no controls","status":"passed","title":"A stack with one tier has no controls","duration":22.764646999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A tier group forwards its ref, className and attributes","status":"passed","title":"A tier group forwards its ref, className and attributes","duration":316.9801319999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A narrow group is a stack from the first paint: it is measured before the browser paints","status":"passed","title":"A narrow group is a stack from the first paint: it is measured before the browser paints","duration":57.53015199999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A tier group's customTheme reaches its tiers","status":"passed","title":"A tier group's customTheme reaches its tiers","duration":444.9395089999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The highlighted tier comes to the front when the tiers arrive after the group mounted","status":"passed","title":"The highlighted tier comes to the front when the tiers arrive after the group mounted","duration":81.8079430000007,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575942895,"endTime":1792575947245.8079,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tierGroup.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders <TimeAgo /> data properly","status":"passed","title":"Renders <TimeAgo /> data properly","duration":111.97784999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <TimeAgo /> if time is undefined","status":"passed","title":"Renders <TimeAgo /> if time is undefined","duration":80.46729400000004,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576126001,"endTime":1792576126193.4673,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/timeAgo.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders basic <Tree /> properly","status":"passed","title":"Renders basic <Tree /> properly","duration":431.6137789999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Tree /> items can be expanded and collapsed","status":"passed","title":"<Tree /> items can be expanded and collapsed","duration":272.87573999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders <Tree /> with clickable items","status":"passed","title":"Renders <Tree /> with clickable items","duration":211.92137700000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Tree /> body follows a later size change, so chrome and body stay in step","status":"passed","title":"<Tree /> body follows a later size change, so chrome and body stay in step","duration":637.2917630000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Tree /> keeps a zoom the user chose when size changes afterwards","status":"passed","title":"<Tree /> keeps a zoom the user chose when size changes afterwards","duration":640.3456469999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"<Tree /> with an explicit defaultZoom ignores size entirely","status":"passed","title":"<Tree /> with an explicit defaultZoom ignores size entirely","duration":481.5745939999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576074792,"endTime":1792576077467.5747,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/tree.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"a new item's key and value fields are controlled from the start","status":"passed","title":"a new item's key and value fields are controlled from the start","duration":1296.8086909999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"a host's own renderers are given what a new item holds: nothing","status":"passed","title":"a host's own renderers are given what a new item holds: nothing","duration":163.60988700000053,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576111193,"endTime":1792576112653.6099,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/treeDialogControlledInputs.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"A read-only row keeps the pointer events a disabled one loses","status":"passed","title":"A read-only row keeps the pointer events a disabled one loses","duration":926.3274180000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Clicking a read-only row selects nothing","status":"passed","title":"Clicking a read-only row selects nothing","duration":377.04274799999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A read-only row's own onClick does not fire either","status":"passed","title":"A read-only row's own onClick does not fire either","duration":128.543588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A read-only row can still be read: its tooltip opens on hover","status":"passed","title":"A read-only row can still be read: its tooltip opens on hover","duration":324.8423950000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A read-only row's action still answers, so the reason can carry a control","status":"passed","title":"A read-only row's action still answers, so the reason can carry a control","duration":203.6256170000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Keyboard navigation walks past a read-only row","status":"passed","title":"Keyboard navigation walks past a read-only row","duration":163.7524969999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The chip for a read-only value reads as one, and does not publish `readonly` to the DOM","status":"passed","title":"The chip for a read-only value reads as one, and does not publish `readonly` to the DOM","duration":128.79159399999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Reqore's own placeholder row no longer selects an empty value","status":"passed","title":"Reqore's own placeholder row no longer selects an empty value","duration":358.42003100000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A read-only row that has a submenu is still opened, because that is not a choice","status":"passed","title":"A read-only row that has a submenu is still opened, because that is not a choice","duration":371.2453239999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A read-only radio option is readable and not selectable","status":"passed","title":"A read-only radio option is readable and not selectable","duration":205.94849299999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["a dropdown item and its DOM button"],"fullName":"a dropdown item and its DOM button a scalar value reaches the button, a structured one does not","status":"passed","title":"a scalar value reaches the button, a structured one does not","duration":261.5657740000006,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576007500,"endTime":1792576010950.5657,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/unchoosableItems.test.tsx"},{"assertionResults":[{"ancestorTitles":["the size ⇄ zoom scale"],"fullName":"the size ⇄ zoom scale every size round-trips through zoom, and every zoom level names a size","status":"passed","title":"every size round-trips through zoom, and every zoom level names a size","duration":6.830767999999807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size ⇄ zoom scale"],"fullName":"the size ⇄ zoom scale the scale is contiguous, ordered, and centred on normal","status":"passed","title":"the scale is contiguous, ordered, and centred on normal","duration":1.1144540000000234,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size ⇄ zoom scale"],"fullName":"the size ⇄ zoom scale the bounds are the ends of the map, not literals","status":"passed","title":"the bounds are the ends of the map, not literals","duration":0.9489650000000438,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size ⇄ zoom scale"],"fullName":"the size ⇄ zoom scale a zoom off the scale resolves to a real size instead of undefined","status":"passed","title":"a zoom off the scale resolves to a real size instead of undefined","duration":0.6222680000000764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the size ⇄ zoom scale"],"fullName":"the size ⇄ zoom scale every zoom level has a label and a column width","status":"passed","title":"every zoom level has a label and a column width","duration":1.953171999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the zoom controls"],"fullName":"the zoom controls at the smallest size only zoom-out is disabled","status":"passed","title":"at the smallest size only zoom-out is disabled","duration":4.121416999999838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the zoom controls"],"fullName":"the zoom controls at the largest size only zoom-in is disabled","status":"passed","title":"at the largest size only zoom-in is disabled","duration":2.9582500000001346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the zoom controls"],"fullName":"the zoom controls a disabled end cannot be stepped past even if it is clicked","status":"passed","title":"a disabled end cannot be stepped past even if it is clicked","duration":0.568297999999686,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the zoom controls"],"fullName":"the zoom controls reset returns to normal, and is disabled only there","status":"passed","title":"reset returns to normal, and is disabled only there","duration":1.0422269999999116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["the zoom controls"],"fullName":"the zoom controls every level in between has both directions available","status":"passed","title":"every level in between has both directions available","duration":0.9473069999999097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given size \"micro\" gives its rows their own height and text","status":"passed","title":"size \"micro\" gives its rows their own height and text","duration":2752.11435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given size \"tiny\" gives its rows their own height and text","status":"passed","title":"size \"tiny\" gives its rows their own height and text","duration":2415.7248579999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given size \"small\" gives its rows their own height and text","status":"passed","title":"size \"small\" gives its rows their own height and text","duration":2730.346001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given size \"normal\" gives its rows their own height and text","status":"passed","title":"size \"normal\" gives its rows their own height and text","duration":2957.6443959999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given size \"big\" gives its rows their own height and text","status":"passed","title":"size \"big\" gives its rows their own height and text","duration":3844.9945899999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given size \"huge\" gives its rows their own height and text","status":"passed","title":"size \"huge\" gives its rows their own height and text","duration":4273.439655999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given size \"massive\" gives its rows their own height and text","status":"passed","title":"size \"massive\" gives its rows their own height and text","duration":5035.799856999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given defaultZoom mounts the table at that level instead of the one size implies","status":"passed","title":"defaultZoom mounts the table at that level instead of the one size implies","duration":515.0488530000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given the sizes are strictly ordered — no two render alike","status":"passed","title":"the sizes are strictly ordered — no two render alike","duration":3151.5142349999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Table /> renders at the size it is given"],"fullName":"<Table /> renders at the size it is given a flat table drops the separator line at every size","status":"passed","title":"a flat table drops the separator line at every size","duration":31690.277121,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given size \"micro\" gives its items their own text size","status":"passed","title":"size \"micro\" gives its items their own text size","duration":2855.468903000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given size \"tiny\" gives its items their own text size","status":"passed","title":"size \"tiny\" gives its items their own text size","duration":1641.3811459999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given size \"small\" gives its items their own text size","status":"passed","title":"size \"small\" gives its items their own text size","duration":1729.1385819999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given size \"normal\" gives its items their own text size","status":"passed","title":"size \"normal\" gives its items their own text size","duration":1645.734454000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given size \"big\" gives its items their own text size","status":"passed","title":"size \"big\" gives its items their own text size","duration":1675.2213940000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given size \"huge\" gives its items their own text size","status":"passed","title":"size \"huge\" gives its items their own text size","duration":1483.3474510000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given size \"massive\" gives its items their own text size","status":"passed","title":"size \"massive\" gives its items their own text size","duration":1708.5843219999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given a defaultZoom of 0 is honoured rather than falling back to the size","status":"passed","title":"a defaultZoom of 0 is honoured rather than falling back to the size","duration":107.7619149999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["<Tree /> renders at the size it is given"],"fullName":"<Tree /> renders at the size it is given the sizes are strictly ordered — no two render alike","status":"passed","title":"the sizes are strictly ordered — no two render alike","duration":454.659851000004,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575987206,"endTime":1792576059896.66,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/zoomSizeScale.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Renders default <PaginationContainer />","status":"passed","title":"Renders default <PaginationContainer />","duration":1843.9938490000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders default <PaginationContainer /> with both control wrappers","status":"passed","title":"Renders default <PaginationContainer /> with both control wrappers","duration":2327.53521,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders default <PaginationContainer /> with both control wrappers, one included in children","status":"passed","title":"Renders default <PaginationContainer /> with both control wrappers, one included in children","duration":1893.4086549999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Renders default <PaginationContainer /> with onPageChange callback","status":"passed","title":"Renders default <PaginationContainer /> with onPageChange callback","duration":243.41203300000052,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576072787,"endTime":1792576079095.412,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/containers/paging.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Tests whether a color should be darkened","status":"passed","title":"Tests whether a color should be darkened","duration":3.9319460000001527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Transforms hex color with alpha to rgba","status":"passed","title":"Transforms hex color with alpha to rgba","duration":1.4806260000000293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Returns true if color is achromatic","status":"passed","title":"Returns true if color is achromatic","duration":0.6848520000000917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getReadableAccentColor"],"fullName":"getReadableAccentColor keeps a colour that already reads","status":"passed","title":"keeps a colour that already reads","duration":0.5499019999999746,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getReadableAccentColor"],"fullName":"getReadableAccentColor lightens on a dark background and darkens on a light one until it reads","status":"passed","title":"lightens on a dark background and darkens on a light one until it reads","duration":1.8728849999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["getReadableAccentColor"],"fullName":"getReadableAccentColor ignores the alpha channel of the colour","status":"passed","title":"ignores the alpha channel of the colour","duration":0.731860000000097,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576114120,"endTime":1792576114129.732,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/helpers/colors.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"formatDateToType formats date correctly","status":"passed","title":"formatDateToType formats date correctly","duration":24.362613999999894,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576137892,"endTime":1792576137916.3625,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/helpers/dates.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Updates top level column width","status":"passed","title":"Updates top level column width","duration":3.0617879999999786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Updates group level column width","status":"passed","title":"Updates group level column width","duration":0.9105640000000221,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Filters out hidden columns","status":"passed","title":"Filters out hidden columns","duration":1.2583169999998063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"flattenColumns walks grouped headers into leaves","status":"passed","title":"flattenColumns walks grouped headers into leaves","duration":1.192589999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"calculatePinOffsets produces cumulative sticky offsets and marks edges","status":"passed","title":"calculatePinOffsets produces cumulative sticky offsets and marks edges","duration":0.8808100000001104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A column with actions folds at or below Reqore's phone width of the table","status":"passed","title":"A column with actions folds at or below Reqore's phone width of the table","duration":0.581316999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A column folds at its own actionsMenuBelowWidth, and never with 0","status":"passed","title":"A column folds at its own actionsMenuBelowWidth, and never with 0","duration":0.3863499999999931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"The folded columns are named once, grouped columns included","status":"passed","title":"The folded columns are named once, grouped columns included","duration":0.46558699999991404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A column whose id holds a space folds by its whole id, and no other with it","status":"passed","title":"A column whose id holds a space folds by its whole id, and no other with it","duration":1.0673850000000584,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"A folded column is the menu button's width, a finger's on touch, and not resizable","status":"passed","title":"A folded column is the menu button's width, a finger's on touch, and not resizable","duration":0.8330090000001746,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576042512,"endTime":1792576042522.833,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/helpers/table.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"useCloneThroughFragments counts the children from the first on every render","status":"passed","title":"useCloneThroughFragments counts the children from the first on every render","duration":40.81476199999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576125586,"endTime":1792576125626.8147,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hooks/useCloneThroughFragments.test.tsx"},{"assertionResults":[{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":3.9155530000000454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.9061380000000554,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.5965510000000904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.5845329999999649,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.46262300000012146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.29562700000019504,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.24806699999999182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.19966500000009546,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.9325879999998961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.5166430000001583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.5192469999999503,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.2116320000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.228027000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.21840199999996912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.17033100000003287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.21941400000014255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue reads %p as one number","status":"passed","title":"reads %p as one number","duration":0.20530299999995805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.4618719999998575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.1728659999998854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.14713699999992969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.1595350000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.13264600000002247,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.15176399999995738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.13604099999997743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.13139400000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.12273200000004181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue does not count %p, which is not one number","status":"passed","title":"does not count %p, which is not one number","duration":0.1515839999999571,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["parseCountUpValue"],"fullName":"parseCountUpValue keeps a hyphen that joins words as text, not as a sign","status":"passed","title":"keeps a hyphen that joins words as text, not as a sign","duration":0.3113300000002255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["formatCountUpValue"],"fullName":"formatCountUpValue writes a frame the way the value is written","status":"passed","title":"writes a frame the way the value is written","duration":0.8104260000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["formatCountUpValue"],"fullName":"formatCountUpValue signs a negative frame with the value’s own minus, and never writes -0","status":"passed","title":"signs a negative frame with the value’s own minus, and never writes -0","duration":0.42792199999985314,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576108376,"endTime":1792576108390.8105,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hooks/useCountUp.test.ts"},{"assertionResults":[{"ancestorTitles":["isHoverCapable context property"],"fullName":"isHoverCapable context property is exposed on the context and readable through useReqoreProperty","status":"passed","title":"is exposed on the context and readable through useReqoreProperty","duration":90.08082699999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isHoverCapable context property"],"fullName":"isHoverCapable context property defaults to true so hover-gated UI keeps its desktop behaviour","status":"passed","title":"defaults to true so hover-gated UI keeps its desktop behaviour","duration":6.966555999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["isHoverCapable context property"],"fullName":"isHoverCapable context property is independent of the width-based mobile flag","status":"passed","title":"is independent of the width-based mobile flag","duration":5.97113599999966,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576116807,"endTime":1792576116909.9712,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hooks/useHoverCapable.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"useLatestZIndex returns incremental z indexes","status":"passed","title":"useLatestZIndex returns incremental z indexes","duration":56.73224200000004,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576138971,"endTime":1792576139027.7322,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hooks/useLatestZIndex.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"Reads false where the query cannot be evaluated","status":"passed","title":"Reads false where the query cannot be evaluated","duration":28.458957000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Reads the preference on the first render","status":"passed","title":"Reads the preference on the first render","duration":4.335902000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"Follows the preference when it changes while mounted, and stops listening when unmounted","status":"passed","title":"Follows the preference when it changes while mounted, and stops listening when unmounted","duration":7.31255699999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576110399,"endTime":1792576110439.3125,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hooks/usePrefersReducedMotion.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"useReqorePaging returns all pages","status":"passed","title":"useReqorePaging returns all pages","duration":66.93088999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging with default start page","status":"passed","title":"useReqorePaging with default start page","duration":9.887088000000404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging specified number of pages","status":"passed","title":"useReqorePaging specified number of pages","duration":6.788476999999602,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging returns 1 page when items are empty","status":"passed","title":"useReqorePaging returns 1 page when items are empty","duration":3.500645000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging returns correct number of rounded pages","status":"passed","title":"useReqorePaging returns correct number of rounded pages","duration":4.1779850000002625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging returns items per page","status":"passed","title":"useReqorePaging returns items per page","duration":4.6610679999998865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging returns new items and pages when size of data change, current page is set to 1","status":"passed","title":"useReqorePaging returns new items and pages when size of data change, current page is set to 1","duration":13.325006999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging does not return new items and pages when data change","status":"passed","title":"useReqorePaging does not return new items and pages when data change","duration":9.585523999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging page navigation works correctly","status":"passed","title":"useReqorePaging page navigation works correctly","duration":6.804831000000377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging returns correct number of items with infinite loading","status":"passed","title":"useReqorePaging returns correct number of items with infinite loading","duration":5.232459999999719,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging hands back the caller's own rows, and the same page while nothing changed","status":"passed","title":"useReqorePaging hands back the caller's own rows, and the same page while nothing changed","duration":6.428049000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging still applies the defaults it used to merge in","status":"passed","title":"useReqorePaging still applies the defaults it used to merge in","duration":2.709638000000268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging keeps an infinite list on its page when rows are appended","status":"passed","title":"useReqorePaging keeps an infinite list on its page when rows are appended","duration":6.290831999999682,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging still opens a paged (non-infinite) list on page 1 when its data changes","status":"passed","title":"useReqorePaging still opens a paged (non-infinite) list on page 1 when its data changes","duration":4.853831999999784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging never goes past the last page, however many steps one render takes","status":"passed","title":"useReqorePaging never goes past the last page, however many steps one render takes","duration":11.097263999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqorePaging takes a page outside the list as the nearest page in it","status":"passed","title":"useReqorePaging takes a page outside the list as the nearest page in it","duration":5.8443740000002435,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792575976118,"endTime":1792575976286.8445,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hooks/useReqorePaging.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"useReqoreTheme should return the default theme","status":"passed","title":"useReqoreTheme should return the default theme","duration":12.423582000000351,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqoreTheme should return modified main intent color, original color is preserved","status":"passed","title":"useReqoreTheme should return modified main intent color, original color is preserved","duration":4.209474999999657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqoreTheme should return modified main custom color, original color is preserved","status":"passed","title":"useReqoreTheme should return modified main custom color, original color is preserved","duration":2.7747370000001865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"useReqoreTheme should return modified main color if intent is passed, original color is preserved","status":"passed","title":"useReqoreTheme should return modified main color if intent is passed, original color is preserved","duration":2.071979000000283,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1792576132408,"endTime":1792576132430.072,"status":"passed","message":"","name":"/home/runner/work/reqore/reqore/__tests__/hooks/useTheme.test.tsx"}]}
|