@furystack/shades-common-components 12.3.0 → 12.5.0
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/CHANGELOG.md +86 -0
- package/esm/components/app-bar-link.spec.js +16 -19
- package/esm/components/app-bar-link.spec.js.map +1 -1
- package/esm/components/app-bar.spec.js +6 -4
- package/esm/components/app-bar.spec.js.map +1 -1
- package/esm/components/avatar.spec.js +9 -9
- package/esm/components/avatar.spec.js.map +1 -1
- package/esm/components/breadcrumb.spec.js +2 -2
- package/esm/components/breadcrumb.spec.js.map +1 -1
- package/esm/components/button-group.d.ts +32 -0
- package/esm/components/button-group.d.ts.map +1 -1
- package/esm/components/button-group.js +26 -2
- package/esm/components/button-group.js.map +1 -1
- package/esm/components/button-group.spec.js +127 -11
- package/esm/components/button-group.spec.js.map +1 -1
- package/esm/components/button.spec.js +4 -4
- package/esm/components/button.spec.js.map +1 -1
- package/esm/components/cache-view.spec.js +2 -3
- package/esm/components/cache-view.spec.js.map +1 -1
- package/esm/components/carousel.spec.js +47 -47
- package/esm/components/carousel.spec.js.map +1 -1
- package/esm/components/circular-progress.spec.js +2 -2
- package/esm/components/command-palette/command-palette-input.spec.js +23 -19
- package/esm/components/command-palette/command-palette-input.spec.js.map +1 -1
- package/esm/components/command-palette/command-palette-suggestion-list.spec.js +27 -27
- package/esm/components/command-palette/command-palette-suggestion-list.spec.js.map +1 -1
- package/esm/components/command-palette/index.spec.js +64 -51
- package/esm/components/command-palette/index.spec.js.map +1 -1
- package/esm/components/context-menu/context-menu.spec.js +33 -33
- package/esm/components/context-menu/context-menu.spec.js.map +1 -1
- package/esm/components/data-grid/body.spec.js +13 -13
- package/esm/components/data-grid/body.spec.js.map +1 -1
- package/esm/components/data-grid/data-grid-row.spec.js +8 -8
- package/esm/components/data-grid/data-grid-row.spec.js.map +1 -1
- package/esm/components/data-grid/data-grid.d.ts +40 -2
- package/esm/components/data-grid/data-grid.d.ts.map +1 -1
- package/esm/components/data-grid/data-grid.js +7 -10
- package/esm/components/data-grid/data-grid.js.map +1 -1
- package/esm/components/data-grid/data-grid.spec.js +71 -28
- package/esm/components/data-grid/data-grid.spec.js.map +1 -1
- package/esm/components/data-grid/filters/boolean-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/boolean-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/boolean-filter.js +27 -0
- package/esm/components/data-grid/filters/boolean-filter.js.map +1 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.js +114 -0
- package/esm/components/data-grid/filters/boolean-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/date-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/date-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/date-filter.js +109 -0
- package/esm/components/data-grid/filters/date-filter.js.map +1 -0
- package/esm/components/data-grid/filters/date-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/date-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/date-filter.spec.js +145 -0
- package/esm/components/data-grid/filters/date-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.d.ts +16 -0
- package/esm/components/data-grid/filters/enum-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.js +72 -0
- package/esm/components/data-grid/filters/enum-filter.js.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/enum-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/enum-filter.spec.js +136 -0
- package/esm/components/data-grid/filters/enum-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.d.ts +6 -0
- package/esm/components/data-grid/filters/filter-dropdown.d.ts.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.js +41 -0
- package/esm/components/data-grid/filters/filter-dropdown.js.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.js +69 -0
- package/esm/components/data-grid/filters/filter-dropdown.spec.js.map +1 -0
- package/esm/components/data-grid/filters/filter-styles.d.ts +24 -0
- package/esm/components/data-grid/filters/filter-styles.d.ts.map +1 -0
- package/esm/components/data-grid/filters/filter-styles.js +25 -0
- package/esm/components/data-grid/filters/filter-styles.js.map +1 -0
- package/esm/components/data-grid/filters/index.d.ts +7 -0
- package/esm/components/data-grid/filters/index.d.ts.map +1 -0
- package/esm/components/data-grid/filters/index.js +7 -0
- package/esm/components/data-grid/filters/index.js.map +1 -0
- package/esm/components/data-grid/filters/number-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/number-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/number-filter.js +65 -0
- package/esm/components/data-grid/filters/number-filter.js.map +1 -0
- package/esm/components/data-grid/filters/number-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/number-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/number-filter.spec.js +142 -0
- package/esm/components/data-grid/filters/number-filter.spec.js.map +1 -0
- package/esm/components/data-grid/filters/string-filter.d.ts +12 -0
- package/esm/components/data-grid/filters/string-filter.d.ts.map +1 -0
- package/esm/components/data-grid/filters/string-filter.js +63 -0
- package/esm/components/data-grid/filters/string-filter.js.map +1 -0
- package/esm/components/data-grid/filters/string-filter.spec.d.ts +2 -0
- package/esm/components/data-grid/filters/string-filter.spec.d.ts.map +1 -0
- package/esm/components/data-grid/filters/string-filter.spec.js +128 -0
- package/esm/components/data-grid/filters/string-filter.spec.js.map +1 -0
- package/esm/components/data-grid/footer.d.ts.map +1 -1
- package/esm/components/data-grid/footer.js +24 -9
- package/esm/components/data-grid/footer.js.map +1 -1
- package/esm/components/data-grid/footer.spec.js +38 -36
- package/esm/components/data-grid/footer.spec.js.map +1 -1
- package/esm/components/data-grid/header.d.ts +6 -9
- package/esm/components/data-grid/header.d.ts.map +1 -1
- package/esm/components/data-grid/header.js +51 -117
- package/esm/components/data-grid/header.js.map +1 -1
- package/esm/components/data-grid/header.spec.js +116 -187
- package/esm/components/data-grid/header.spec.js.map +1 -1
- package/esm/components/data-grid/index.d.ts +1 -0
- package/esm/components/data-grid/index.d.ts.map +1 -1
- package/esm/components/data-grid/index.js +1 -0
- package/esm/components/data-grid/index.js.map +1 -1
- package/esm/components/data-grid/selection-cell.spec.js +8 -8
- package/esm/components/data-grid/selection-cell.spec.js.map +1 -1
- package/esm/components/drawer/drawer-toggle-button.spec.js +22 -22
- package/esm/components/drawer/drawer-toggle-button.spec.js.map +1 -1
- package/esm/components/drawer/index.spec.js +36 -36
- package/esm/components/drawer/index.spec.js.map +1 -1
- package/esm/components/dropdown.spec.js +38 -30
- package/esm/components/dropdown.spec.js.map +1 -1
- package/esm/components/fab.spec.js +4 -4
- package/esm/components/fab.spec.js.map +1 -1
- package/esm/components/form.d.ts +5 -2
- package/esm/components/form.d.ts.map +1 -1
- package/esm/components/form.js +28 -6
- package/esm/components/form.js.map +1 -1
- package/esm/components/form.spec.js +227 -20
- package/esm/components/form.spec.js.map +1 -1
- package/esm/components/grid.spec.js +3 -3
- package/esm/components/grid.spec.js.map +1 -1
- package/esm/components/image.spec.js +55 -52
- package/esm/components/image.spec.js.map +1 -1
- package/esm/components/inputs/autocomplete.spec.js +7 -14
- package/esm/components/inputs/autocomplete.spec.js.map +1 -1
- package/esm/components/inputs/checkbox.spec.js +22 -22
- package/esm/components/inputs/checkbox.spec.js.map +1 -1
- package/esm/components/inputs/input-number.spec.js +47 -47
- package/esm/components/inputs/input-number.spec.js.map +1 -1
- package/esm/components/inputs/input.spec.js +53 -53
- package/esm/components/inputs/input.spec.js.map +1 -1
- package/esm/components/inputs/radio-group.spec.js +14 -14
- package/esm/components/inputs/radio-group.spec.js.map +1 -1
- package/esm/components/inputs/radio.spec.js +16 -16
- package/esm/components/inputs/radio.spec.js.map +1 -1
- package/esm/components/inputs/select.spec.js +74 -74
- package/esm/components/inputs/select.spec.js.map +1 -1
- package/esm/components/inputs/slider.spec.js +16 -16
- package/esm/components/inputs/slider.spec.js.map +1 -1
- package/esm/components/inputs/switch.spec.js +24 -24
- package/esm/components/inputs/switch.spec.js.map +1 -1
- package/esm/components/inputs/text-area.spec.js +17 -17
- package/esm/components/inputs/text-area.spec.js.map +1 -1
- package/esm/components/linear-progress.spec.js +2 -2
- package/esm/components/list/list.spec.js +36 -36
- package/esm/components/list/list.spec.js.map +1 -1
- package/esm/components/markdown/markdown-display.spec.js +15 -15
- package/esm/components/markdown/markdown-display.spec.js.map +1 -1
- package/esm/components/markdown/markdown-editor.spec.js +8 -8
- package/esm/components/markdown/markdown-editor.spec.js.map +1 -1
- package/esm/components/markdown/markdown-input.spec.js +17 -17
- package/esm/components/markdown/markdown-input.spec.js.map +1 -1
- package/esm/components/menu/menu.spec.js +28 -28
- package/esm/components/menu/menu.spec.js.map +1 -1
- package/esm/components/modal.spec.js +15 -18
- package/esm/components/modal.spec.js.map +1 -1
- package/esm/components/noty-list.spec.js +25 -23
- package/esm/components/noty-list.spec.js.map +1 -1
- package/esm/components/page-container/index.spec.js +16 -16
- package/esm/components/page-container/index.spec.js.map +1 -1
- package/esm/components/page-container/page-header.spec.js +16 -16
- package/esm/components/page-container/page-header.spec.js.map +1 -1
- package/esm/components/page-layout/index.spec.js +29 -29
- package/esm/components/page-layout/index.spec.js.map +1 -1
- package/esm/components/paper.spec.js +3 -3
- package/esm/components/paper.spec.js.map +1 -1
- package/esm/components/rating.spec.js +61 -61
- package/esm/components/rating.spec.js.map +1 -1
- package/esm/components/skeleton.spec.js +10 -6
- package/esm/components/skeleton.spec.js.map +1 -1
- package/esm/components/suggest/suggest-input.spec.js +4 -10
- package/esm/components/suggest/suggest-input.spec.js.map +1 -1
- package/esm/components/tabs.spec.js +30 -30
- package/esm/components/tabs.spec.js.map +1 -1
- package/esm/components/tree/tree.spec.js +27 -27
- package/esm/components/tree/tree.spec.js.map +1 -1
- package/esm/components/typography.spec.js +3 -3
- package/esm/components/typography.spec.js.map +1 -1
- package/esm/components/wizard/index.spec.js +5 -5
- package/esm/components/wizard/index.spec.js.map +1 -1
- package/esm/utils/promisify-animation.d.ts.map +1 -1
- package/esm/utils/promisify-animation.js +3 -0
- package/esm/utils/promisify-animation.js.map +1 -1
- package/package.json +2 -2
- package/src/components/app-bar-link.spec.tsx +16 -19
- package/src/components/app-bar.spec.tsx +6 -4
- package/src/components/avatar.spec.tsx +9 -9
- package/src/components/breadcrumb.spec.tsx +2 -2
- package/src/components/button-group.spec.tsx +155 -11
- package/src/components/button-group.tsx +49 -2
- package/src/components/button.spec.tsx +4 -4
- package/src/components/cache-view.spec.tsx +3 -3
- package/src/components/carousel.spec.tsx +47 -47
- package/src/components/circular-progress.spec.tsx +2 -2
- package/src/components/command-palette/command-palette-input.spec.tsx +23 -19
- package/src/components/command-palette/command-palette-suggestion-list.spec.tsx +27 -27
- package/src/components/command-palette/index.spec.tsx +64 -51
- package/src/components/context-menu/context-menu.spec.tsx +33 -33
- package/src/components/data-grid/body.spec.tsx +13 -13
- package/src/components/data-grid/data-grid-row.spec.tsx +8 -8
- package/src/components/data-grid/data-grid.spec.tsx +106 -28
- package/src/components/data-grid/data-grid.tsx +44 -11
- package/src/components/data-grid/filters/boolean-filter.spec.tsx +142 -0
- package/src/components/data-grid/filters/boolean-filter.tsx +45 -0
- package/src/components/data-grid/filters/date-filter.spec.tsx +181 -0
- package/src/components/data-grid/filters/date-filter.tsx +162 -0
- package/src/components/data-grid/filters/enum-filter.spec.tsx +168 -0
- package/src/components/data-grid/filters/enum-filter.tsx +119 -0
- package/src/components/data-grid/filters/filter-dropdown.spec.tsx +89 -0
- package/src/components/data-grid/filters/filter-dropdown.tsx +60 -0
- package/src/components/data-grid/filters/filter-styles.ts +26 -0
- package/src/components/data-grid/filters/index.ts +6 -0
- package/src/components/data-grid/filters/number-filter.spec.tsx +174 -0
- package/src/components/data-grid/filters/number-filter.tsx +115 -0
- package/src/components/data-grid/filters/string-filter.spec.tsx +157 -0
- package/src/components/data-grid/filters/string-filter.tsx +112 -0
- package/src/components/data-grid/footer.spec.tsx +38 -36
- package/src/components/data-grid/footer.tsx +21 -8
- package/src/components/data-grid/header.spec.tsx +128 -212
- package/src/components/data-grid/header.tsx +95 -183
- package/src/components/data-grid/index.tsx +1 -0
- package/src/components/data-grid/selection-cell.spec.tsx +8 -8
- package/src/components/drawer/drawer-toggle-button.spec.tsx +22 -22
- package/src/components/drawer/index.spec.tsx +36 -36
- package/src/components/dropdown.spec.tsx +38 -30
- package/src/components/fab.spec.tsx +4 -4
- package/src/components/form.spec.tsx +329 -20
- package/src/components/form.tsx +31 -8
- package/src/components/grid.spec.tsx +3 -3
- package/src/components/image.spec.tsx +55 -52
- package/src/components/inputs/autocomplete.spec.tsx +7 -14
- package/src/components/inputs/checkbox.spec.tsx +22 -22
- package/src/components/inputs/input-number.spec.tsx +47 -47
- package/src/components/inputs/input.spec.tsx +53 -53
- package/src/components/inputs/radio-group.spec.tsx +14 -14
- package/src/components/inputs/radio.spec.tsx +16 -16
- package/src/components/inputs/select.spec.tsx +74 -74
- package/src/components/inputs/slider.spec.tsx +16 -16
- package/src/components/inputs/switch.spec.tsx +24 -24
- package/src/components/inputs/text-area.spec.tsx +17 -17
- package/src/components/linear-progress.spec.tsx +2 -2
- package/src/components/list/list.spec.tsx +36 -36
- package/src/components/markdown/markdown-display.spec.tsx +15 -15
- package/src/components/markdown/markdown-editor.spec.tsx +8 -8
- package/src/components/markdown/markdown-input.spec.tsx +17 -17
- package/src/components/menu/menu.spec.tsx +28 -28
- package/src/components/modal.spec.tsx +15 -18
- package/src/components/noty-list.spec.tsx +25 -23
- package/src/components/page-container/index.spec.tsx +16 -16
- package/src/components/page-container/page-header.spec.tsx +16 -16
- package/src/components/page-layout/index.spec.tsx +29 -29
- package/src/components/paper.spec.tsx +3 -3
- package/src/components/rating.spec.tsx +61 -61
- package/src/components/skeleton.spec.tsx +10 -6
- package/src/components/suggest/suggest-input.spec.tsx +4 -10
- package/src/components/tabs.spec.tsx +30 -30
- package/src/components/tree/tree.spec.tsx +27 -27
- package/src/components/typography.spec.tsx +3 -3
- package/src/components/wizard/index.spec.tsx +5 -5
- package/src/utils/promisify-animation.ts +3 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
|
-
import { createComponent, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent, flushUpdates, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
5
5
|
import { ListService } from '../../services/list-service.js'
|
|
6
6
|
import { List } from './list.js'
|
|
@@ -40,7 +40,7 @@ describe('List', () => {
|
|
|
40
40
|
),
|
|
41
41
|
})
|
|
42
42
|
|
|
43
|
-
await
|
|
43
|
+
await flushUpdates()
|
|
44
44
|
|
|
45
45
|
const list = document.querySelector('shade-list')
|
|
46
46
|
expect(list).not.toBeNull()
|
|
@@ -62,7 +62,7 @@ describe('List', () => {
|
|
|
62
62
|
),
|
|
63
63
|
})
|
|
64
64
|
|
|
65
|
-
await
|
|
65
|
+
await flushUpdates()
|
|
66
66
|
|
|
67
67
|
const list = document.querySelector('shade-list')
|
|
68
68
|
const items = list?.querySelectorAll('shade-list-item')
|
|
@@ -85,7 +85,7 @@ describe('List', () => {
|
|
|
85
85
|
),
|
|
86
86
|
})
|
|
87
87
|
|
|
88
|
-
await
|
|
88
|
+
await flushUpdates()
|
|
89
89
|
|
|
90
90
|
const list = document.querySelector('shade-list')
|
|
91
91
|
const listbox = list?.querySelector('[role="listbox"]')
|
|
@@ -109,7 +109,7 @@ describe('List', () => {
|
|
|
109
109
|
),
|
|
110
110
|
})
|
|
111
111
|
|
|
112
|
-
await
|
|
112
|
+
await flushUpdates()
|
|
113
113
|
|
|
114
114
|
const list = document.querySelector('shade-list')
|
|
115
115
|
const options = list?.querySelectorAll('[role="option"]')
|
|
@@ -137,7 +137,7 @@ describe('List', () => {
|
|
|
137
137
|
),
|
|
138
138
|
})
|
|
139
139
|
|
|
140
|
-
await
|
|
140
|
+
await flushUpdates()
|
|
141
141
|
|
|
142
142
|
const list = document.querySelector('shade-list')
|
|
143
143
|
const icons = list?.querySelectorAll('[data-testid="icon"]')
|
|
@@ -165,7 +165,7 @@ describe('List', () => {
|
|
|
165
165
|
),
|
|
166
166
|
})
|
|
167
167
|
|
|
168
|
-
await
|
|
168
|
+
await flushUpdates()
|
|
169
169
|
|
|
170
170
|
const list = document.querySelector('shade-list')
|
|
171
171
|
const actions = list?.querySelectorAll('[data-testid="action"]')
|
|
@@ -193,7 +193,7 @@ describe('List', () => {
|
|
|
193
193
|
),
|
|
194
194
|
})
|
|
195
195
|
|
|
196
|
-
await
|
|
196
|
+
await flushUpdates()
|
|
197
197
|
|
|
198
198
|
const list = document.querySelector('shade-list') as HTMLElement
|
|
199
199
|
expect(list?.getAttribute('data-variant')).toBe('contained')
|
|
@@ -215,7 +215,7 @@ describe('List', () => {
|
|
|
215
215
|
),
|
|
216
216
|
})
|
|
217
217
|
|
|
218
|
-
await
|
|
218
|
+
await flushUpdates()
|
|
219
219
|
|
|
220
220
|
expect(service.items.getValue()).toEqual(testItems)
|
|
221
221
|
|
|
@@ -240,7 +240,7 @@ describe('List', () => {
|
|
|
240
240
|
),
|
|
241
241
|
})
|
|
242
242
|
|
|
243
|
-
await
|
|
243
|
+
await flushUpdates()
|
|
244
244
|
|
|
245
245
|
const list = document.querySelector('shade-list')
|
|
246
246
|
const wrapper = list?.querySelector('.shade-list-wrapper') as HTMLElement
|
|
@@ -268,7 +268,7 @@ describe('List', () => {
|
|
|
268
268
|
),
|
|
269
269
|
})
|
|
270
270
|
|
|
271
|
-
await
|
|
271
|
+
await flushUpdates()
|
|
272
272
|
|
|
273
273
|
const list = document.querySelector('shade-list')
|
|
274
274
|
const wrapper = list?.querySelector('.shade-list-wrapper') as HTMLElement
|
|
@@ -298,7 +298,7 @@ describe('List', () => {
|
|
|
298
298
|
),
|
|
299
299
|
})
|
|
300
300
|
|
|
301
|
-
await
|
|
301
|
+
await flushUpdates()
|
|
302
302
|
|
|
303
303
|
const list = document.querySelector('shade-list')
|
|
304
304
|
const listItems = list?.querySelectorAll('shade-list-item') as NodeListOf<HTMLElement>
|
|
@@ -323,10 +323,10 @@ describe('List', () => {
|
|
|
323
323
|
),
|
|
324
324
|
})
|
|
325
325
|
|
|
326
|
-
await
|
|
326
|
+
await flushUpdates()
|
|
327
327
|
|
|
328
328
|
service.focusedItem.setValue(testItems[1])
|
|
329
|
-
await
|
|
329
|
+
await flushUpdates()
|
|
330
330
|
|
|
331
331
|
const list = document.querySelector('shade-list')
|
|
332
332
|
const listItems = list?.querySelectorAll('shade-list-item') as NodeListOf<HTMLElement>
|
|
@@ -352,10 +352,10 @@ describe('List', () => {
|
|
|
352
352
|
),
|
|
353
353
|
})
|
|
354
354
|
|
|
355
|
-
await
|
|
355
|
+
await flushUpdates()
|
|
356
356
|
|
|
357
357
|
service.selection.setValue([testItems[0], testItems[2]])
|
|
358
|
-
await
|
|
358
|
+
await flushUpdates()
|
|
359
359
|
|
|
360
360
|
const list = document.querySelector('shade-list')
|
|
361
361
|
const listItems = list?.querySelectorAll('shade-list-item') as NodeListOf<HTMLElement>
|
|
@@ -380,10 +380,10 @@ describe('List', () => {
|
|
|
380
380
|
),
|
|
381
381
|
})
|
|
382
382
|
|
|
383
|
-
await
|
|
383
|
+
await flushUpdates()
|
|
384
384
|
|
|
385
385
|
service.selection.setValue([testItems[0]])
|
|
386
|
-
await
|
|
386
|
+
await flushUpdates()
|
|
387
387
|
|
|
388
388
|
const list = document.querySelector('shade-list')
|
|
389
389
|
const listItems = list?.querySelectorAll('shade-list-item') as NodeListOf<HTMLElement>
|
|
@@ -413,10 +413,10 @@ describe('List', () => {
|
|
|
413
413
|
),
|
|
414
414
|
})
|
|
415
415
|
|
|
416
|
-
await
|
|
416
|
+
await flushUpdates()
|
|
417
417
|
|
|
418
418
|
service.selection.setValue([testItems[0]])
|
|
419
|
-
await
|
|
419
|
+
await flushUpdates()
|
|
420
420
|
|
|
421
421
|
expect(onSelectionChange).toHaveBeenCalledWith([testItems[0]])
|
|
422
422
|
|
|
@@ -442,7 +442,7 @@ describe('List', () => {
|
|
|
442
442
|
),
|
|
443
443
|
})
|
|
444
444
|
|
|
445
|
-
await
|
|
445
|
+
await flushUpdates()
|
|
446
446
|
|
|
447
447
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown', bubbles: true }))
|
|
448
448
|
|
|
@@ -468,7 +468,7 @@ describe('List', () => {
|
|
|
468
468
|
),
|
|
469
469
|
})
|
|
470
470
|
|
|
471
|
-
await
|
|
471
|
+
await flushUpdates()
|
|
472
472
|
|
|
473
473
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowUp', bubbles: true }))
|
|
474
474
|
|
|
@@ -494,7 +494,7 @@ describe('List', () => {
|
|
|
494
494
|
),
|
|
495
495
|
})
|
|
496
496
|
|
|
497
|
-
await
|
|
497
|
+
await flushUpdates()
|
|
498
498
|
|
|
499
499
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Home', bubbles: true }))
|
|
500
500
|
|
|
@@ -520,7 +520,7 @@ describe('List', () => {
|
|
|
520
520
|
),
|
|
521
521
|
})
|
|
522
522
|
|
|
523
|
-
await
|
|
523
|
+
await flushUpdates()
|
|
524
524
|
|
|
525
525
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'End', bubbles: true }))
|
|
526
526
|
|
|
@@ -546,7 +546,7 @@ describe('List', () => {
|
|
|
546
546
|
),
|
|
547
547
|
})
|
|
548
548
|
|
|
549
|
-
await
|
|
549
|
+
await flushUpdates()
|
|
550
550
|
|
|
551
551
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: ' ', bubbles: true }))
|
|
552
552
|
expect(service.selection.getValue()).toContain(testItems[0])
|
|
@@ -573,7 +573,7 @@ describe('List', () => {
|
|
|
573
573
|
),
|
|
574
574
|
})
|
|
575
575
|
|
|
576
|
-
await
|
|
576
|
+
await flushUpdates()
|
|
577
577
|
|
|
578
578
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: '+', bubbles: true }))
|
|
579
579
|
|
|
@@ -599,7 +599,7 @@ describe('List', () => {
|
|
|
599
599
|
),
|
|
600
600
|
})
|
|
601
601
|
|
|
602
|
-
await
|
|
602
|
+
await flushUpdates()
|
|
603
603
|
|
|
604
604
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: '-', bubbles: true }))
|
|
605
605
|
|
|
@@ -625,7 +625,7 @@ describe('List', () => {
|
|
|
625
625
|
),
|
|
626
626
|
})
|
|
627
627
|
|
|
628
|
-
await
|
|
628
|
+
await flushUpdates()
|
|
629
629
|
|
|
630
630
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: '*', bubbles: true }))
|
|
631
631
|
|
|
@@ -655,7 +655,7 @@ describe('List', () => {
|
|
|
655
655
|
),
|
|
656
656
|
})
|
|
657
657
|
|
|
658
|
-
await
|
|
658
|
+
await flushUpdates()
|
|
659
659
|
|
|
660
660
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }))
|
|
661
661
|
|
|
@@ -681,7 +681,7 @@ describe('List', () => {
|
|
|
681
681
|
),
|
|
682
682
|
})
|
|
683
683
|
|
|
684
|
-
await
|
|
684
|
+
await flushUpdates()
|
|
685
685
|
|
|
686
686
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', bubbles: true }))
|
|
687
687
|
|
|
@@ -707,7 +707,7 @@ describe('List', () => {
|
|
|
707
707
|
),
|
|
708
708
|
})
|
|
709
709
|
|
|
710
|
-
await
|
|
710
|
+
await flushUpdates()
|
|
711
711
|
|
|
712
712
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown', bubbles: true }))
|
|
713
713
|
|
|
@@ -741,7 +741,7 @@ describe('List', () => {
|
|
|
741
741
|
),
|
|
742
742
|
})
|
|
743
743
|
|
|
744
|
-
await
|
|
744
|
+
await flushUpdates()
|
|
745
745
|
|
|
746
746
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true }))
|
|
747
747
|
|
|
@@ -770,7 +770,7 @@ describe('List', () => {
|
|
|
770
770
|
),
|
|
771
771
|
})
|
|
772
772
|
|
|
773
|
-
await
|
|
773
|
+
await flushUpdates()
|
|
774
774
|
|
|
775
775
|
const list = document.querySelector('shade-list')
|
|
776
776
|
const listItems = list?.querySelectorAll('shade-list-item') as NodeListOf<HTMLElement>
|
|
@@ -800,12 +800,12 @@ describe('List', () => {
|
|
|
800
800
|
),
|
|
801
801
|
})
|
|
802
802
|
|
|
803
|
-
await
|
|
803
|
+
await flushUpdates()
|
|
804
804
|
|
|
805
805
|
const list = document.querySelector('shade-list') as HTMLElement
|
|
806
806
|
list.remove()
|
|
807
807
|
|
|
808
|
-
await
|
|
808
|
+
await flushUpdates()
|
|
809
809
|
|
|
810
810
|
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown', bubbles: true }))
|
|
811
811
|
expect(service.focusedItem.getValue()).toEqual(testItems[0])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
|
-
import { createComponent, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent, flushUpdates, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
5
5
|
import { MarkdownDisplay } from './markdown-display.js'
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ describe('MarkdownDisplay', () => {
|
|
|
24
24
|
jsxElement: <MarkdownDisplay content="Hello" />,
|
|
25
25
|
})
|
|
26
26
|
|
|
27
|
-
await
|
|
27
|
+
await flushUpdates()
|
|
28
28
|
|
|
29
29
|
const el = document.querySelector('shade-markdown-display')
|
|
30
30
|
expect(el).not.toBeNull()
|
|
@@ -41,7 +41,7 @@ describe('MarkdownDisplay', () => {
|
|
|
41
41
|
jsxElement: <MarkdownDisplay content="# Hello World" />,
|
|
42
42
|
})
|
|
43
43
|
|
|
44
|
-
await
|
|
44
|
+
await flushUpdates()
|
|
45
45
|
|
|
46
46
|
const typography = document.querySelector('shade-markdown-display shade-typography')
|
|
47
47
|
expect(typography).not.toBeNull()
|
|
@@ -60,7 +60,7 @@ describe('MarkdownDisplay', () => {
|
|
|
60
60
|
jsxElement: <MarkdownDisplay content="Just a paragraph." />,
|
|
61
61
|
})
|
|
62
62
|
|
|
63
|
-
await
|
|
63
|
+
await flushUpdates()
|
|
64
64
|
|
|
65
65
|
const typography = document.querySelector('shade-markdown-display shade-typography[data-variant="body1"]')
|
|
66
66
|
expect(typography).not.toBeNull()
|
|
@@ -78,7 +78,7 @@ describe('MarkdownDisplay', () => {
|
|
|
78
78
|
jsxElement: <MarkdownDisplay content={'```js\nconsole.log("hi")\n```'} />,
|
|
79
79
|
})
|
|
80
80
|
|
|
81
|
-
await
|
|
81
|
+
await flushUpdates()
|
|
82
82
|
|
|
83
83
|
const codeBlock = document.querySelector('shade-markdown-display .md-code-block')
|
|
84
84
|
expect(codeBlock).not.toBeNull()
|
|
@@ -96,7 +96,7 @@ describe('MarkdownDisplay', () => {
|
|
|
96
96
|
jsxElement: <MarkdownDisplay content={'- Item A\n- Item B'} />,
|
|
97
97
|
})
|
|
98
98
|
|
|
99
|
-
await
|
|
99
|
+
await flushUpdates()
|
|
100
100
|
|
|
101
101
|
const list = document.querySelector('shade-markdown-display ul')
|
|
102
102
|
expect(list).not.toBeNull()
|
|
@@ -115,7 +115,7 @@ describe('MarkdownDisplay', () => {
|
|
|
115
115
|
jsxElement: <MarkdownDisplay content="- [ ] Task" />,
|
|
116
116
|
})
|
|
117
117
|
|
|
118
|
-
await
|
|
118
|
+
await flushUpdates()
|
|
119
119
|
|
|
120
120
|
const checkbox = document.querySelector('shade-markdown-display shade-checkbox')
|
|
121
121
|
expect(checkbox).not.toBeNull()
|
|
@@ -134,7 +134,7 @@ describe('MarkdownDisplay', () => {
|
|
|
134
134
|
jsxElement: <MarkdownDisplay content="- [ ] Task" readOnly={false} onChange={onChange} />,
|
|
135
135
|
})
|
|
136
136
|
|
|
137
|
-
await
|
|
137
|
+
await flushUpdates()
|
|
138
138
|
|
|
139
139
|
const checkbox = document.querySelector('shade-markdown-display shade-checkbox')
|
|
140
140
|
expect(checkbox).not.toBeNull()
|
|
@@ -144,7 +144,7 @@ describe('MarkdownDisplay', () => {
|
|
|
144
144
|
expect(input).not.toBeNull()
|
|
145
145
|
input.click()
|
|
146
146
|
|
|
147
|
-
await
|
|
147
|
+
await flushUpdates()
|
|
148
148
|
|
|
149
149
|
expect(onChange).toHaveBeenCalledOnce()
|
|
150
150
|
expect(onChange).toHaveBeenCalledWith('- [x] Task')
|
|
@@ -161,7 +161,7 @@ describe('MarkdownDisplay', () => {
|
|
|
161
161
|
jsxElement: <MarkdownDisplay content="> Quote text" />,
|
|
162
162
|
})
|
|
163
163
|
|
|
164
|
-
await
|
|
164
|
+
await flushUpdates()
|
|
165
165
|
|
|
166
166
|
const bq = document.querySelector('shade-markdown-display .md-blockquote')
|
|
167
167
|
expect(bq).not.toBeNull()
|
|
@@ -179,7 +179,7 @@ describe('MarkdownDisplay', () => {
|
|
|
179
179
|
jsxElement: <MarkdownDisplay content="---" />,
|
|
180
180
|
})
|
|
181
181
|
|
|
182
|
-
await
|
|
182
|
+
await flushUpdates()
|
|
183
183
|
|
|
184
184
|
const hr = document.querySelector('shade-markdown-display .md-hr')
|
|
185
185
|
expect(hr).not.toBeNull()
|
|
@@ -196,7 +196,7 @@ describe('MarkdownDisplay', () => {
|
|
|
196
196
|
jsxElement: <MarkdownDisplay content="[Click here](https://example.com)" />,
|
|
197
197
|
})
|
|
198
198
|
|
|
199
|
-
await
|
|
199
|
+
await flushUpdates()
|
|
200
200
|
|
|
201
201
|
const link = document.querySelector('shade-markdown-display .md-link') as HTMLAnchorElement
|
|
202
202
|
expect(link).not.toBeNull()
|
|
@@ -215,7 +215,7 @@ describe('MarkdownDisplay', () => {
|
|
|
215
215
|
jsxElement: <MarkdownDisplay content="" />,
|
|
216
216
|
})
|
|
217
217
|
|
|
218
|
-
await
|
|
218
|
+
await flushUpdates()
|
|
219
219
|
|
|
220
220
|
const img = document.querySelector('shade-markdown-display .md-image') as HTMLImageElement
|
|
221
221
|
expect(img).not.toBeNull()
|
|
@@ -233,7 +233,7 @@ describe('MarkdownDisplay', () => {
|
|
|
233
233
|
jsxElement: <MarkdownDisplay content="" />,
|
|
234
234
|
})
|
|
235
235
|
|
|
236
|
-
await
|
|
236
|
+
await flushUpdates()
|
|
237
237
|
|
|
238
238
|
const root = document.querySelector('shade-markdown-display .md-root')
|
|
239
239
|
expect(root).not.toBeNull()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
|
-
import { createComponent, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent, flushUpdates, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
5
5
|
import { MarkdownEditor } from './markdown-editor.js'
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ describe('MarkdownEditor', () => {
|
|
|
24
24
|
jsxElement: <MarkdownEditor value="# Hello" />,
|
|
25
25
|
})
|
|
26
26
|
|
|
27
|
-
await
|
|
27
|
+
await flushUpdates()
|
|
28
28
|
|
|
29
29
|
const el = document.querySelector('shade-markdown-editor')
|
|
30
30
|
expect(el).not.toBeNull()
|
|
@@ -42,7 +42,7 @@ describe('MarkdownEditor', () => {
|
|
|
42
42
|
jsxElement: <MarkdownEditor value="# Hello" />,
|
|
43
43
|
})
|
|
44
44
|
|
|
45
|
-
await
|
|
45
|
+
await flushUpdates()
|
|
46
46
|
|
|
47
47
|
const split = document.querySelector('.md-editor-split') as HTMLElement
|
|
48
48
|
expect(split).not.toBeNull()
|
|
@@ -68,7 +68,7 @@ describe('MarkdownEditor', () => {
|
|
|
68
68
|
jsxElement: <MarkdownEditor value="# Hello" layout="above-below" />,
|
|
69
69
|
})
|
|
70
70
|
|
|
71
|
-
await
|
|
71
|
+
await flushUpdates()
|
|
72
72
|
|
|
73
73
|
const split = document.querySelector('.md-editor-split') as HTMLElement
|
|
74
74
|
expect(split).not.toBeNull()
|
|
@@ -88,7 +88,7 @@ describe('MarkdownEditor', () => {
|
|
|
88
88
|
jsxElement: <MarkdownEditor value="# Hello" layout="tabs" />,
|
|
89
89
|
})
|
|
90
90
|
|
|
91
|
-
await
|
|
91
|
+
await flushUpdates()
|
|
92
92
|
|
|
93
93
|
const tabs = document.querySelector('shade-markdown-editor shade-tabs')
|
|
94
94
|
expect(tabs).not.toBeNull()
|
|
@@ -108,7 +108,7 @@ describe('MarkdownEditor', () => {
|
|
|
108
108
|
jsxElement: <MarkdownEditor value="# Hello" layout="tabs" />,
|
|
109
109
|
})
|
|
110
110
|
|
|
111
|
-
await
|
|
111
|
+
await flushUpdates()
|
|
112
112
|
|
|
113
113
|
const input = document.querySelector('shade-markdown-editor shade-markdown-input')
|
|
114
114
|
expect(input).not.toBeNull()
|
|
@@ -127,7 +127,7 @@ describe('MarkdownEditor', () => {
|
|
|
127
127
|
jsxElement: <MarkdownEditor value={mdContent} />,
|
|
128
128
|
})
|
|
129
129
|
|
|
130
|
-
await
|
|
130
|
+
await flushUpdates()
|
|
131
131
|
|
|
132
132
|
const textarea = document.querySelector('shade-markdown-editor textarea') as HTMLTextAreaElement
|
|
133
133
|
expect(textarea.value).toBe(mdContent)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject'
|
|
2
|
-
import { createComponent, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent, flushUpdates, initializeShadeRoot } from '@furystack/shades'
|
|
3
|
+
import { usingAsync } from '@furystack/utils'
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
|
5
5
|
import { MarkdownInput } from './markdown-input.js'
|
|
6
6
|
|
|
@@ -24,7 +24,7 @@ describe('MarkdownInput', () => {
|
|
|
24
24
|
jsxElement: <MarkdownInput value="" />,
|
|
25
25
|
})
|
|
26
26
|
|
|
27
|
-
await
|
|
27
|
+
await flushUpdates()
|
|
28
28
|
|
|
29
29
|
const el = document.querySelector('shade-markdown-input')
|
|
30
30
|
expect(el).not.toBeNull()
|
|
@@ -41,7 +41,7 @@ describe('MarkdownInput', () => {
|
|
|
41
41
|
jsxElement: <MarkdownInput value="# Hello" />,
|
|
42
42
|
})
|
|
43
43
|
|
|
44
|
-
await
|
|
44
|
+
await flushUpdates()
|
|
45
45
|
|
|
46
46
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
47
47
|
expect(textarea).not.toBeNull()
|
|
@@ -59,7 +59,7 @@ describe('MarkdownInput', () => {
|
|
|
59
59
|
jsxElement: <MarkdownInput value="" labelTitle="Markdown Content" />,
|
|
60
60
|
})
|
|
61
61
|
|
|
62
|
-
await
|
|
62
|
+
await flushUpdates()
|
|
63
63
|
|
|
64
64
|
const label = document.querySelector('shade-markdown-input label')
|
|
65
65
|
expect(label?.textContent).toContain('Markdown Content')
|
|
@@ -76,7 +76,7 @@ describe('MarkdownInput', () => {
|
|
|
76
76
|
jsxElement: <MarkdownInput value="" placeholder="Type markdown..." />,
|
|
77
77
|
})
|
|
78
78
|
|
|
79
|
-
await
|
|
79
|
+
await flushUpdates()
|
|
80
80
|
|
|
81
81
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
82
82
|
expect(textarea.placeholder).toBe('Type markdown...')
|
|
@@ -93,7 +93,7 @@ describe('MarkdownInput', () => {
|
|
|
93
93
|
jsxElement: <MarkdownInput value="" disabled />,
|
|
94
94
|
})
|
|
95
95
|
|
|
96
|
-
await
|
|
96
|
+
await flushUpdates()
|
|
97
97
|
|
|
98
98
|
const wrapper = document.querySelector('shade-markdown-input') as HTMLElement
|
|
99
99
|
expect(wrapper.hasAttribute('data-disabled')).toBe(true)
|
|
@@ -113,7 +113,7 @@ describe('MarkdownInput', () => {
|
|
|
113
113
|
jsxElement: <MarkdownInput value="" readOnly />,
|
|
114
114
|
})
|
|
115
115
|
|
|
116
|
-
await
|
|
116
|
+
await flushUpdates()
|
|
117
117
|
|
|
118
118
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
119
119
|
expect(textarea.readOnly).toBe(true)
|
|
@@ -131,13 +131,13 @@ describe('MarkdownInput', () => {
|
|
|
131
131
|
jsxElement: <MarkdownInput value="" onValueChange={onValueChange} />,
|
|
132
132
|
})
|
|
133
133
|
|
|
134
|
-
await
|
|
134
|
+
await flushUpdates()
|
|
135
135
|
|
|
136
136
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
137
137
|
textarea.value = '# New content'
|
|
138
138
|
textarea.dispatchEvent(new Event('input', { bubbles: true }))
|
|
139
139
|
|
|
140
|
-
await
|
|
140
|
+
await flushUpdates()
|
|
141
141
|
|
|
142
142
|
expect(onValueChange).toHaveBeenCalledWith('# New content')
|
|
143
143
|
})
|
|
@@ -153,7 +153,7 @@ describe('MarkdownInput', () => {
|
|
|
153
153
|
jsxElement: <MarkdownInput value="" rows={20} />,
|
|
154
154
|
})
|
|
155
155
|
|
|
156
|
-
await
|
|
156
|
+
await flushUpdates()
|
|
157
157
|
|
|
158
158
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
159
159
|
expect(textarea.rows).toBe(20)
|
|
@@ -200,7 +200,7 @@ describe('MarkdownInput', () => {
|
|
|
200
200
|
jsxElement: <MarkdownInput value="Hello " onValueChange={onValueChange} />,
|
|
201
201
|
})
|
|
202
202
|
|
|
203
|
-
await
|
|
203
|
+
await flushUpdates()
|
|
204
204
|
|
|
205
205
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
206
206
|
textarea.selectionStart = 6
|
|
@@ -210,7 +210,7 @@ describe('MarkdownInput', () => {
|
|
|
210
210
|
const pasteEvent = createPasteEvent([{ type: 'image/png', file }])
|
|
211
211
|
textarea.dispatchEvent(pasteEvent)
|
|
212
212
|
|
|
213
|
-
await
|
|
213
|
+
await flushUpdates()
|
|
214
214
|
|
|
215
215
|
expect(onValueChange).toHaveBeenCalledOnce()
|
|
216
216
|
const result = onValueChange.mock.calls[0][0] as string
|
|
@@ -233,14 +233,14 @@ describe('MarkdownInput', () => {
|
|
|
233
233
|
jsxElement: <MarkdownInput value="" onValueChange={onValueChange} maxImageSizeBytes={5} />,
|
|
234
234
|
})
|
|
235
235
|
|
|
236
|
-
await
|
|
236
|
+
await flushUpdates()
|
|
237
237
|
|
|
238
238
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
239
239
|
const file = new File(['this-is-larger-than-5-bytes'], 'big.png', { type: 'image/png' })
|
|
240
240
|
const pasteEvent = createPasteEvent([{ type: 'image/png', file }])
|
|
241
241
|
textarea.dispatchEvent(pasteEvent)
|
|
242
242
|
|
|
243
|
-
await
|
|
243
|
+
await flushUpdates()
|
|
244
244
|
|
|
245
245
|
expect(onValueChange).not.toHaveBeenCalled()
|
|
246
246
|
})
|
|
@@ -257,14 +257,14 @@ describe('MarkdownInput', () => {
|
|
|
257
257
|
jsxElement: <MarkdownInput value="" onValueChange={onValueChange} />,
|
|
258
258
|
})
|
|
259
259
|
|
|
260
|
-
await
|
|
260
|
+
await flushUpdates()
|
|
261
261
|
|
|
262
262
|
const textarea = document.querySelector('shade-markdown-input textarea') as HTMLTextAreaElement
|
|
263
263
|
const file = new File(['text content'], 'note.txt', { type: 'text/plain' })
|
|
264
264
|
const pasteEvent = createPasteEvent([{ type: 'text/plain', file }])
|
|
265
265
|
const wasDefaultPrevented = !textarea.dispatchEvent(pasteEvent)
|
|
266
266
|
|
|
267
|
-
await
|
|
267
|
+
await flushUpdates()
|
|
268
268
|
|
|
269
269
|
expect(wasDefaultPrevented).toBe(false)
|
|
270
270
|
expect(onValueChange).not.toHaveBeenCalled()
|