@yh-ui/components 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/breadcrumb/src/breadcrumb-item.vue +10 -6
- package/dist/form/index.cjs +1 -1
- package/dist/form/index.d.ts +1 -1
- package/dist/form/index.mjs +1 -1
- package/dist/icon/index.cjs +1 -1
- package/dist/icon/index.d.ts +1 -1
- package/dist/icon/index.mjs +1 -1
- package/dist/loading/index.cjs +1 -1
- package/dist/loading/index.d.ts +1 -1
- package/dist/loading/index.mjs +1 -1
- package/dist/message/src/method.cjs +1 -1
- package/dist/message/src/method.d.ts +1 -1
- package/dist/message/src/method.mjs +1 -1
- package/dist/message-box/index.cjs +1 -1
- package/dist/message-box/index.d.ts +1 -1
- package/dist/message-box/index.mjs +1 -1
- package/dist/notification/src/method.cjs +1 -1
- package/dist/notification/src/method.d.ts +1 -1
- package/dist/notification/src/method.mjs +1 -1
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.d.ts +7 -5
- package/dist/resolver.mjs +1 -1
- package/dist/style.css +584 -0
- package/package.json +9 -8
- package/dist/affix/__tests__/affix.bottom.test.cjs +0 -101
- package/dist/affix/__tests__/affix.bottom.test.mjs +0 -88
- package/dist/affix/__tests__/affix.ssr.test.cjs +0 -38
- package/dist/affix/__tests__/affix.ssr.test.mjs +0 -51
- package/dist/affix/__tests__/affix.test.cjs +0 -185
- package/dist/affix/__tests__/affix.test.mjs +0 -180
- package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.cjs +0 -55
- package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.mjs +0 -39
- package/dist/ai-action-group/__tests__/ai-action-group.test.cjs +0 -235
- package/dist/ai-action-group/__tests__/ai-action-group.test.mjs +0 -157
- package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.cjs +0 -61
- package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.mjs +0 -65
- package/dist/ai-agent-card/__tests__/ai-agent-card.test.cjs +0 -205
- package/dist/ai-agent-card/__tests__/ai-agent-card.test.mjs +0 -133
- package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.cjs +0 -73
- package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.mjs +0 -68
- package/dist/ai-artifacts/__tests__/ai-artifacts.test.cjs +0 -128
- package/dist/ai-artifacts/__tests__/ai-artifacts.test.mjs +0 -109
- package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.cjs +0 -50
- package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.mjs +0 -33
- package/dist/ai-attachments/__tests__/ai-attachments.test.cjs +0 -113
- package/dist/ai-attachments/__tests__/ai-attachments.test.mjs +0 -81
- package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.cjs +0 -95
- package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.mjs +0 -66
- package/dist/ai-bubble/__tests__/ai-bubble.test.cjs +0 -624
- package/dist/ai-bubble/__tests__/ai-bubble.test.mjs +0 -393
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.cjs +0 -51
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.mjs +0 -51
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.cjs +0 -138
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.mjs +0 -112
- package/dist/ai-chat/__tests__/ai-chat.ssr.test.cjs +0 -90
- package/dist/ai-chat/__tests__/ai-chat.ssr.test.mjs +0 -77
- package/dist/ai-chat/__tests__/ai-chat.test.cjs +0 -177
- package/dist/ai-chat/__tests__/ai-chat.test.mjs +0 -129
- package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.cjs +0 -75
- package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.mjs +0 -57
- package/dist/ai-code-block/__tests__/ai-code-block.test.cjs +0 -174
- package/dist/ai-code-block/__tests__/ai-code-block.test.mjs +0 -108
- package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.cjs +0 -46
- package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.mjs +0 -39
- package/dist/ai-code-editor/__tests__/ai-code-editor.test.cjs +0 -90
- package/dist/ai-code-editor/__tests__/ai-code-editor.test.mjs +0 -78
- package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.cjs +0 -28
- package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.mjs +0 -26
- package/dist/ai-code-runner/__tests__/ai-code-runner.test.cjs +0 -69
- package/dist/ai-code-runner/__tests__/ai-code-runner.test.mjs +0 -66
- package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.cjs +0 -50
- package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.mjs +0 -42
- package/dist/ai-conversations/__tests__/ai-conversations.test.cjs +0 -67
- package/dist/ai-conversations/__tests__/ai-conversations.test.mjs +0 -51
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.cjs +0 -62
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.mjs +0 -50
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.cjs +0 -315
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.mjs +0 -226
- package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.cjs +0 -45
- package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.mjs +0 -29
- package/dist/ai-file-card/__tests__/ai-file-card.test.cjs +0 -160
- package/dist/ai-file-card/__tests__/ai-file-card.test.mjs +0 -109
- package/dist/ai-mention/__tests__/ai-mention.ssr.test.cjs +0 -38
- package/dist/ai-mention/__tests__/ai-mention.ssr.test.mjs +0 -37
- package/dist/ai-mention/__tests__/ai-mention.test.cjs +0 -113
- package/dist/ai-mention/__tests__/ai-mention.test.mjs +0 -84
- package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.cjs +0 -43
- package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.mjs +0 -33
- package/dist/ai-mermaid/__tests__/ai-mermaid.test.cjs +0 -113
- package/dist/ai-mermaid/__tests__/ai-mermaid.test.mjs +0 -92
- package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.cjs +0 -49
- package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.mjs +0 -41
- package/dist/ai-prompts/__tests__/ai-prompts.test.cjs +0 -54
- package/dist/ai-prompts/__tests__/ai-prompts.test.mjs +0 -38
- package/dist/ai-provider/__tests__/ai-provider.ssr.test.cjs +0 -33
- package/dist/ai-provider/__tests__/ai-provider.ssr.test.mjs +0 -34
- package/dist/ai-provider/__tests__/ai-provider.test.cjs +0 -38
- package/dist/ai-provider/__tests__/ai-provider.test.mjs +0 -33
- package/dist/ai-sender/__tests__/ai-sender.ssr.test.cjs +0 -46
- package/dist/ai-sender/__tests__/ai-sender.ssr.test.mjs +0 -37
- package/dist/ai-sender/__tests__/ai-sender.test.cjs +0 -511
- package/dist/ai-sender/__tests__/ai-sender.test.mjs +0 -322
- package/dist/ai-sources/__tests__/ai-sources.ssr.test.cjs +0 -72
- package/dist/ai-sources/__tests__/ai-sources.ssr.test.mjs +0 -82
- package/dist/ai-sources/__tests__/ai-sources.test.cjs +0 -200
- package/dist/ai-sources/__tests__/ai-sources.test.mjs +0 -160
- package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.cjs +0 -56
- package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.mjs +0 -42
- package/dist/ai-thinking/__tests__/ai-thinking.test.cjs +0 -151
- package/dist/ai-thinking/__tests__/ai-thinking.test.mjs +0 -96
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.cjs +0 -88
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.mjs +0 -55
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.cjs +0 -344
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.mjs +0 -237
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.cjs +0 -32
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.mjs +0 -25
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.cjs +0 -130
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.mjs +0 -103
- package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.cjs +0 -57
- package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.mjs +0 -39
- package/dist/ai-welcome/__tests__/ai-welcome.test.cjs +0 -169
- package/dist/ai-welcome/__tests__/ai-welcome.test.mjs +0 -113
- package/dist/alert/__tests__/alert.ssr.test.cjs +0 -28
- package/dist/alert/__tests__/alert.ssr.test.mjs +0 -29
- package/dist/alert/__tests__/alert.test.cjs +0 -123
- package/dist/alert/__tests__/alert.test.mjs +0 -110
- package/dist/autocomplete/__tests__/autocomplete.ssr.test.cjs +0 -54
- package/dist/autocomplete/__tests__/autocomplete.ssr.test.mjs +0 -47
- package/dist/autocomplete/__tests__/autocomplete.test.cjs +0 -299
- package/dist/autocomplete/__tests__/autocomplete.test.mjs +0 -263
- package/dist/avatar/__tests__/avatar.ssr.test.cjs +0 -103
- package/dist/avatar/__tests__/avatar.ssr.test.mjs +0 -108
- package/dist/avatar/__tests__/avatar.test.cjs +0 -146
- package/dist/avatar/__tests__/avatar.test.mjs +0 -125
- package/dist/back-top/__tests__/back-top.ssr.test.cjs +0 -13
- package/dist/back-top/__tests__/back-top.ssr.test.mjs +0 -10
- package/dist/back-top/__tests__/back-top.test.cjs +0 -88
- package/dist/back-top/__tests__/back-top.test.mjs +0 -76
- package/dist/badge/__tests__/badge.ssr.test.cjs +0 -36
- package/dist/badge/__tests__/badge.ssr.test.mjs +0 -33
- package/dist/badge/__tests__/badge.test.cjs +0 -115
- package/dist/badge/__tests__/badge.test.mjs +0 -112
- package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.cjs +0 -22
- package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.mjs +0 -20
- package/dist/breadcrumb/__tests__/breadcrumb.test.cjs +0 -64
- package/dist/breadcrumb/__tests__/breadcrumb.test.mjs +0 -51
- package/dist/button/__tests__/button.ssr.test.cjs +0 -52
- package/dist/button/__tests__/button.ssr.test.mjs +0 -55
- package/dist/button/__tests__/button.test.cjs +0 -207
- package/dist/button/__tests__/button.test.mjs +0 -141
- package/dist/calendar/__tests__/calendar.ssr.test.cjs +0 -65
- package/dist/calendar/__tests__/calendar.ssr.test.mjs +0 -63
- package/dist/calendar/__tests__/calendar.test.cjs +0 -263
- package/dist/calendar/__tests__/calendar.test.mjs +0 -255
- package/dist/card/__tests__/card.ssr.test.cjs +0 -37
- package/dist/card/__tests__/card.ssr.test.mjs +0 -40
- package/dist/card/__tests__/card.test.cjs +0 -131
- package/dist/card/__tests__/card.test.mjs +0 -124
- package/dist/carousel/__tests__/carousel.ssr.test.cjs +0 -27
- package/dist/carousel/__tests__/carousel.ssr.test.mjs +0 -27
- package/dist/carousel/__tests__/carousel.test.cjs +0 -115
- package/dist/carousel/__tests__/carousel.test.mjs +0 -98
- package/dist/cascader/__tests__/cascader-panel.test.cjs +0 -162
- package/dist/cascader/__tests__/cascader-panel.test.mjs +0 -151
- package/dist/cascader/__tests__/cascader.ssr.test.cjs +0 -61
- package/dist/cascader/__tests__/cascader.ssr.test.mjs +0 -55
- package/dist/cascader/__tests__/cascader.test.cjs +0 -342
- package/dist/cascader/__tests__/cascader.test.mjs +0 -316
- package/dist/category-nav/__tests__/category-nav.ssr.test.cjs +0 -35
- package/dist/category-nav/__tests__/category-nav.ssr.test.mjs +0 -21
- package/dist/category-nav/__tests__/category-nav.test.cjs +0 -53
- package/dist/category-nav/__tests__/category-nav.test.mjs +0 -33
- package/dist/checkbox/__tests__/checkbox.ssr.test.cjs +0 -52
- package/dist/checkbox/__tests__/checkbox.ssr.test.mjs +0 -57
- package/dist/checkbox/__tests__/checkbox.test.cjs +0 -173
- package/dist/checkbox/__tests__/checkbox.test.mjs +0 -133
- package/dist/col/__tests__/col.ssr.test.cjs +0 -44
- package/dist/col/__tests__/col.ssr.test.mjs +0 -42
- package/dist/col/__tests__/col.test.cjs +0 -128
- package/dist/col/__tests__/col.test.mjs +0 -116
- package/dist/color-picker/__tests__/color-picker.ssr.test.cjs +0 -34
- package/dist/color-picker/__tests__/color-picker.ssr.test.mjs +0 -39
- package/dist/color-picker/__tests__/color-picker.test.cjs +0 -227
- package/dist/color-picker/__tests__/color-picker.test.mjs +0 -176
- package/dist/config-provider/__tests__/config-provider.ssr.test.cjs +0 -43
- package/dist/config-provider/__tests__/config-provider.ssr.test.mjs +0 -42
- package/dist/config-provider/__tests__/config-provider.test.cjs +0 -75
- package/dist/config-provider/__tests__/config-provider.test.mjs +0 -64
- package/dist/container/__tests__/container.ssr.test.cjs +0 -71
- package/dist/container/__tests__/container.ssr.test.mjs +0 -50
- package/dist/container/__tests__/container.test.cjs +0 -111
- package/dist/container/__tests__/container.test.mjs +0 -84
- package/dist/countdown/__tests__/countdown.ssr.test.cjs +0 -86
- package/dist/countdown/__tests__/countdown.ssr.test.mjs +0 -78
- package/dist/countdown/__tests__/countdown.test.cjs +0 -767
- package/dist/countdown/__tests__/countdown.test.mjs +0 -722
- package/dist/coupon-card/__tests__/coupon-card.ssr.test.cjs +0 -21
- package/dist/coupon-card/__tests__/coupon-card.ssr.test.mjs +0 -18
- package/dist/coupon-card/__tests__/coupon-card.test.cjs +0 -67
- package/dist/coupon-card/__tests__/coupon-card.test.mjs +0 -64
- package/dist/date-picker/__tests__/date-picker-extended.test.cjs +0 -581
- package/dist/date-picker/__tests__/date-picker-extended.test.mjs +0 -455
- package/dist/date-picker/__tests__/date-picker.ssr.test.cjs +0 -26
- package/dist/date-picker/__tests__/date-picker.ssr.test.mjs +0 -23
- package/dist/date-picker/__tests__/date-picker.test.cjs +0 -170
- package/dist/date-picker/__tests__/date-picker.test.mjs +0 -136
- package/dist/descriptions/__tests__/descriptions.ssr.test.cjs +0 -67
- package/dist/descriptions/__tests__/descriptions.ssr.test.mjs +0 -72
- package/dist/descriptions/__tests__/descriptions.test.cjs +0 -150
- package/dist/descriptions/__tests__/descriptions.test.mjs +0 -130
- package/dist/dialog/__tests__/dialog.functional.test.cjs +0 -49
- package/dist/dialog/__tests__/dialog.functional.test.mjs +0 -49
- package/dist/dialog/__tests__/dialog.ssr.test.cjs +0 -31
- package/dist/dialog/__tests__/dialog.ssr.test.mjs +0 -29
- package/dist/dialog/__tests__/dialog.test.cjs +0 -561
- package/dist/dialog/__tests__/dialog.test.mjs +0 -388
- package/dist/divider/__tests__/divider.ssr.test.cjs +0 -41
- package/dist/divider/__tests__/divider.ssr.test.mjs +0 -44
- package/dist/divider/__tests__/divider.test.cjs +0 -71
- package/dist/divider/__tests__/divider.test.mjs +0 -68
- package/dist/drawer/__tests__/drawer.ssr.test.cjs +0 -25
- package/dist/drawer/__tests__/drawer.ssr.test.mjs +0 -23
- package/dist/drawer/__tests__/drawer.test.cjs +0 -145
- package/dist/drawer/__tests__/drawer.test.mjs +0 -122
- package/dist/dropdown/__tests__/dropdown.ssr.test.cjs +0 -49
- package/dist/dropdown/__tests__/dropdown.ssr.test.mjs +0 -64
- package/dist/dropdown/__tests__/dropdown.test.cjs +0 -310
- package/dist/dropdown/__tests__/dropdown.test.mjs +0 -269
- package/dist/empty/__tests__/empty.ssr.test.cjs +0 -96
- package/dist/empty/__tests__/empty.ssr.test.mjs +0 -99
- package/dist/empty/__tests__/empty.test.cjs +0 -110
- package/dist/empty/__tests__/empty.test.mjs +0 -101
- package/dist/filter-bar/__tests__/filter-bar.ssr.test.cjs +0 -29
- package/dist/filter-bar/__tests__/filter-bar.ssr.test.mjs +0 -16
- package/dist/filter-bar/__tests__/filter-bar.test.cjs +0 -51
- package/dist/filter-bar/__tests__/filter-bar.test.mjs +0 -29
- package/dist/form/__tests__/form-schema.test.cjs +0 -636
- package/dist/form/__tests__/form-schema.test.mjs +0 -366
- package/dist/form/__tests__/form.ssr.test.cjs +0 -74
- package/dist/form/__tests__/form.ssr.test.mjs +0 -73
- package/dist/form/__tests__/form.test.cjs +0 -208
- package/dist/form/__tests__/form.test.mjs +0 -128
- package/dist/gantt-chart/__tests__/debug_ssr.test.cjs +0 -51
- package/dist/gantt-chart/__tests__/debug_ssr.test.mjs +0 -37
- package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.cjs +0 -95
- package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.mjs +0 -94
- package/dist/gantt-chart/__tests__/gantt-chart.test.cjs +0 -86
- package/dist/gantt-chart/__tests__/gantt-chart.test.mjs +0 -79
- package/dist/grid/__tests__/grid.ssr.test.cjs +0 -81
- package/dist/grid/__tests__/grid.ssr.test.mjs +0 -63
- package/dist/grid/__tests__/grid.test.cjs +0 -142
- package/dist/grid/__tests__/grid.test.mjs +0 -89
- package/dist/icon/__tests__/icon.ssr.test.cjs +0 -35
- package/dist/icon/__tests__/icon.ssr.test.mjs +0 -26
- package/dist/icon/__tests__/icon.test.cjs +0 -144
- package/dist/icon/__tests__/icon.test.mjs +0 -123
- package/dist/image/__tests__/image-viewer.test.cjs +0 -101
- package/dist/image/__tests__/image-viewer.test.mjs +0 -94
- package/dist/image/__tests__/image.ssr.test.cjs +0 -73
- package/dist/image/__tests__/image.ssr.test.mjs +0 -72
- package/dist/image/__tests__/image.test.cjs +0 -171
- package/dist/image/__tests__/image.test.mjs +0 -159
- package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.cjs +0 -54
- package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.mjs +0 -35
- package/dist/image-magnifier/__tests__/image-magnifier.test.cjs +0 -257
- package/dist/image-magnifier/__tests__/image-magnifier.test.mjs +0 -177
- package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.cjs +0 -59
- package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.mjs +0 -84
- package/dist/infinite-scroll/__tests__/infinite-scroll.test.cjs +0 -255
- package/dist/infinite-scroll/__tests__/infinite-scroll.test.mjs +0 -187
- package/dist/input/__tests__/input-utils.test.cjs +0 -77
- package/dist/input/__tests__/input-utils.test.mjs +0 -75
- package/dist/input/__tests__/input.ssr.test.cjs +0 -100
- package/dist/input/__tests__/input.ssr.test.mjs +0 -85
- package/dist/input/__tests__/input.test.cjs +0 -127
- package/dist/input/__tests__/input.test.mjs +0 -112
- package/dist/input-number/__tests__/input-number.hydration.test.cjs +0 -24
- package/dist/input-number/__tests__/input-number.hydration.test.mjs +0 -21
- package/dist/input-number/__tests__/input-number.ssr.test.cjs +0 -95
- package/dist/input-number/__tests__/input-number.ssr.test.mjs +0 -92
- package/dist/input-number/__tests__/input-number.test.cjs +0 -199
- package/dist/input-number/__tests__/input-number.test.mjs +0 -173
- package/dist/input-tag/__tests__/input-tag.ssr.test.cjs +0 -47
- package/dist/input-tag/__tests__/input-tag.ssr.test.mjs +0 -41
- package/dist/input-tag/__tests__/input-tag.test.cjs +0 -268
- package/dist/input-tag/__tests__/input-tag.test.mjs +0 -201
- package/dist/loading/__tests__/loading.ssr.test.cjs +0 -37
- package/dist/loading/__tests__/loading.ssr.test.mjs +0 -27
- package/dist/loading/__tests__/loading.test.cjs +0 -91
- package/dist/loading/__tests__/loading.test.mjs +0 -75
- package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.cjs +0 -33
- package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.mjs +0 -31
- package/dist/lucky-draw/__tests__/lucky-draw.test.cjs +0 -56
- package/dist/lucky-draw/__tests__/lucky-draw.test.mjs +0 -48
- package/dist/marquee/__tests__/marquee.ssr.test.cjs +0 -59
- package/dist/marquee/__tests__/marquee.ssr.test.mjs +0 -60
- package/dist/marquee/__tests__/marquee.test.cjs +0 -94
- package/dist/marquee/__tests__/marquee.test.mjs +0 -92
- package/dist/mention/__tests__/mention.ssr.test.cjs +0 -92
- package/dist/mention/__tests__/mention.ssr.test.mjs +0 -70
- package/dist/mention/__tests__/mention.test.cjs +0 -650
- package/dist/mention/__tests__/mention.test.mjs +0 -523
- package/dist/menu/__tests__/menu.ssr.test.cjs +0 -92
- package/dist/menu/__tests__/menu.ssr.test.mjs +0 -124
- package/dist/menu/__tests__/menu.test.cjs +0 -209
- package/dist/menu/__tests__/menu.test.mjs +0 -182
- package/dist/message/__tests__/message.ssr.test.cjs +0 -29
- package/dist/message/__tests__/message.ssr.test.mjs +0 -23
- package/dist/message/__tests__/message.test.cjs +0 -170
- package/dist/message/__tests__/message.test.mjs +0 -154
- package/dist/message-box/__tests__/message-box.ssr.test.cjs +0 -33
- package/dist/message-box/__tests__/message-box.ssr.test.mjs +0 -30
- package/dist/message-box/__tests__/message-box.test.cjs +0 -100
- package/dist/message-box/__tests__/message-box.test.mjs +0 -95
- package/dist/notification/__tests__/notification.ssr.test.cjs +0 -31
- package/dist/notification/__tests__/notification.ssr.test.mjs +0 -25
- package/dist/notification/__tests__/notification.test.cjs +0 -248
- package/dist/notification/__tests__/notification.test.mjs +0 -206
- package/dist/pagination/__tests__/pagination.ssr.test.cjs +0 -61
- package/dist/pagination/__tests__/pagination.ssr.test.mjs +0 -59
- package/dist/pagination/__tests__/pagination.test.cjs +0 -135
- package/dist/pagination/__tests__/pagination.test.mjs +0 -131
- package/dist/popconfirm/__tests__/popconfirm.ssr.test.cjs +0 -48
- package/dist/popconfirm/__tests__/popconfirm.ssr.test.mjs +0 -63
- package/dist/popconfirm/__tests__/popconfirm.test.cjs +0 -62
- package/dist/popconfirm/__tests__/popconfirm.test.mjs +0 -56
- package/dist/popover/__tests__/popover.ssr.test.cjs +0 -48
- package/dist/popover/__tests__/popover.ssr.test.mjs +0 -63
- package/dist/popover/__tests__/popover.test.cjs +0 -107
- package/dist/popover/__tests__/popover.test.mjs +0 -93
- package/dist/price/__tests__/price.ssr.test.cjs +0 -20
- package/dist/price/__tests__/price.ssr.test.mjs +0 -19
- package/dist/price/__tests__/price.test.cjs +0 -45
- package/dist/price/__tests__/price.test.mjs +0 -42
- package/dist/product-card/__tests__/product-card.ssr.test.cjs +0 -21
- package/dist/product-card/__tests__/product-card.ssr.test.mjs +0 -18
- package/dist/product-card/__tests__/product-card.test.cjs +0 -54
- package/dist/product-card/__tests__/product-card.test.mjs +0 -53
- package/dist/progress/__tests__/progress.ssr.test.cjs +0 -31
- package/dist/progress/__tests__/progress.ssr.test.mjs +0 -29
- package/dist/progress/__tests__/progress.test.cjs +0 -119
- package/dist/progress/__tests__/progress.test.mjs +0 -77
- package/dist/radio/__tests__/radio-button.test.cjs +0 -99
- package/dist/radio/__tests__/radio-button.test.mjs +0 -83
- package/dist/radio/__tests__/radio.ssr.test.cjs +0 -132
- package/dist/radio/__tests__/radio.ssr.test.mjs +0 -165
- package/dist/radio/__tests__/radio.test.cjs +0 -170
- package/dist/radio/__tests__/radio.test.mjs +0 -143
- package/dist/rate/__tests__/rate.ssr.test.cjs +0 -106
- package/dist/rate/__tests__/rate.ssr.test.mjs +0 -103
- package/dist/rate/__tests__/rate.test.cjs +0 -88
- package/dist/rate/__tests__/rate.test.mjs +0 -85
- package/dist/result/__tests__/result.ssr.test.cjs +0 -62
- package/dist/result/__tests__/result.ssr.test.mjs +0 -51
- package/dist/result/__tests__/result.test.cjs +0 -135
- package/dist/result/__tests__/result.test.mjs +0 -92
- package/dist/row/__tests__/row.ssr.test.cjs +0 -29
- package/dist/row/__tests__/row.ssr.test.mjs +0 -30
- package/dist/row/__tests__/row.test.cjs +0 -89
- package/dist/row/__tests__/row.test.mjs +0 -86
- package/dist/row/__tests__/row_ts.test.cjs +0 -31
- package/dist/row/__tests__/row_ts.test.mjs +0 -28
- package/dist/scrollbar/__tests__/scrollbar.ssr.test.cjs +0 -49
- package/dist/scrollbar/__tests__/scrollbar.ssr.test.mjs +0 -54
- package/dist/scrollbar/__tests__/scrollbar.test.cjs +0 -43
- package/dist/scrollbar/__tests__/scrollbar.test.mjs +0 -40
- package/dist/select/__tests__/select.perf.test.cjs +0 -191
- package/dist/select/__tests__/select.perf.test.mjs +0 -185
- package/dist/select/__tests__/select.ssr.test.cjs +0 -58
- package/dist/select/__tests__/select.ssr.test.mjs +0 -52
- package/dist/select/__tests__/select.test.cjs +0 -414
- package/dist/select/__tests__/select.test.mjs +0 -345
- package/dist/skeleton/__tests__/skeleton.ssr.test.cjs +0 -81
- package/dist/skeleton/__tests__/skeleton.ssr.test.mjs +0 -83
- package/dist/skeleton/__tests__/skeleton.test.cjs +0 -72
- package/dist/skeleton/__tests__/skeleton.test.mjs +0 -65
- package/dist/sku-selector/__tests__/sku-selector.ssr.test.cjs +0 -32
- package/dist/sku-selector/__tests__/sku-selector.ssr.test.mjs +0 -19
- package/dist/sku-selector/__tests__/sku-selector.test.cjs +0 -64
- package/dist/sku-selector/__tests__/sku-selector.test.mjs +0 -53
- package/dist/slider/__tests__/repro.test.cjs +0 -25
- package/dist/slider/__tests__/repro.test.mjs +0 -22
- package/dist/slider/__tests__/slider.ssr.test.cjs +0 -118
- package/dist/slider/__tests__/slider.ssr.test.mjs +0 -115
- package/dist/slider/__tests__/slider.test.cjs +0 -155
- package/dist/slider/__tests__/slider.test.mjs +0 -120
- package/dist/smart-address/__tests__/smart-address.ssr.test.cjs +0 -28
- package/dist/smart-address/__tests__/smart-address.ssr.test.mjs +0 -25
- package/dist/smart-address/__tests__/smart-address.test.cjs +0 -68
- package/dist/smart-address/__tests__/smart-address.test.mjs +0 -56
- package/dist/space/__tests__/space.ssr.test.cjs +0 -115
- package/dist/space/__tests__/space.ssr.test.mjs +0 -150
- package/dist/space/__tests__/space.test.cjs +0 -227
- package/dist/space/__tests__/space.test.mjs +0 -187
- package/dist/spin/__tests__/spin.ssr.test.cjs +0 -46
- package/dist/spin/__tests__/spin.ssr.test.mjs +0 -43
- package/dist/spin/__tests__/spin.test.cjs +0 -65
- package/dist/spin/__tests__/spin.test.mjs +0 -63
- package/dist/steps/__tests__/steps.ssr.test.cjs +0 -73
- package/dist/steps/__tests__/steps.ssr.test.mjs +0 -55
- package/dist/steps/__tests__/steps.test.cjs +0 -152
- package/dist/steps/__tests__/steps.test.mjs +0 -123
- package/dist/submit-bar/__tests__/submit-bar.ssr.test.cjs +0 -21
- package/dist/submit-bar/__tests__/submit-bar.ssr.test.mjs +0 -18
- package/dist/submit-bar/__tests__/submit-bar.test.cjs +0 -50
- package/dist/submit-bar/__tests__/submit-bar.test.mjs +0 -36
- package/dist/switch/__tests__/switch.ssr.test.cjs +0 -105
- package/dist/switch/__tests__/switch.ssr.test.mjs +0 -102
- package/dist/switch/__tests__/switch.test.cjs +0 -251
- package/dist/switch/__tests__/switch.test.mjs +0 -193
- package/dist/table/__tests__/table-advance.test.cjs +0 -180
- package/dist/table/__tests__/table-advance.test.mjs +0 -118
- package/dist/table/__tests__/table-interaction.test.cjs +0 -236
- package/dist/table/__tests__/table-interaction.test.mjs +0 -162
- package/dist/table/__tests__/table-utils.test.cjs +0 -690
- package/dist/table/__tests__/table-utils.test.mjs +0 -485
- package/dist/table/__tests__/table.perf.test.cjs +0 -231
- package/dist/table/__tests__/table.perf.test.mjs +0 -225
- package/dist/table/__tests__/table.ssr.test.cjs +0 -296
- package/dist/table/__tests__/table.ssr.test.mjs +0 -265
- package/dist/table/__tests__/table.test.cjs +0 -682
- package/dist/table/__tests__/table.test.mjs +0 -617
- package/dist/table/__tests__/use-column-drag.test.cjs +0 -238
- package/dist/table/__tests__/use-column-drag.test.mjs +0 -150
- package/dist/table/__tests__/use-table-export.test.cjs +0 -179
- package/dist/table/__tests__/use-table-export.test.mjs +0 -105
- package/dist/table/__tests__/use-table-import.test.cjs +0 -206
- package/dist/table/__tests__/use-table-import.test.mjs +0 -144
- package/dist/table/__tests__/use-table-print.test.cjs +0 -190
- package/dist/table/__tests__/use-table-print.test.mjs +0 -134
- package/dist/table/__tests__/use-virtual-scroll.test.cjs +0 -286
- package/dist/table/__tests__/use-virtual-scroll.test.mjs +0 -196
- package/dist/tabs/__tests__/tabs.ssr.test.cjs +0 -57
- package/dist/tabs/__tests__/tabs.ssr.test.mjs +0 -41
- package/dist/tabs/__tests__/tabs.test.cjs +0 -171
- package/dist/tabs/__tests__/tabs.test.mjs +0 -134
- package/dist/tag/__tests__/tag.ssr.test.cjs +0 -45
- package/dist/tag/__tests__/tag.ssr.test.mjs +0 -48
- package/dist/tag/__tests__/tag.test.cjs +0 -194
- package/dist/tag/__tests__/tag.test.mjs +0 -167
- package/dist/time-picker/__tests__/time-picker.ssr.test.cjs +0 -46
- package/dist/time-picker/__tests__/time-picker.ssr.test.mjs +0 -43
- package/dist/time-picker/__tests__/time-picker.test.cjs +0 -228
- package/dist/time-picker/__tests__/time-picker.test.mjs +0 -218
- package/dist/time-picker/__tests__/time-spinner.test.cjs +0 -196
- package/dist/time-picker/__tests__/time-spinner.test.mjs +0 -162
- package/dist/time-select/__tests__/time-select.ssr.test.cjs +0 -42
- package/dist/time-select/__tests__/time-select.ssr.test.mjs +0 -37
- package/dist/time-select/__tests__/time-select.test.cjs +0 -390
- package/dist/time-select/__tests__/time-select.test.mjs +0 -374
- package/dist/tooltip/__tests__/tooltip.ssr.test.cjs +0 -55
- package/dist/tooltip/__tests__/tooltip.ssr.test.mjs +0 -76
- package/dist/tooltip/__tests__/tooltip.test.cjs +0 -132
- package/dist/tooltip/__tests__/tooltip.test.mjs +0 -121
- package/dist/transfer/__tests__/transfer.ssr.test.cjs +0 -47
- package/dist/transfer/__tests__/transfer.ssr.test.mjs +0 -44
- package/dist/transfer/__tests__/transfer.test.cjs +0 -422
- package/dist/transfer/__tests__/transfer.test.mjs +0 -405
- package/dist/tree/__tests__/tree.perf.test.cjs +0 -182
- package/dist/tree/__tests__/tree.perf.test.mjs +0 -198
- package/dist/tree/__tests__/tree.ssr.test.cjs +0 -56
- package/dist/tree/__tests__/tree.ssr.test.mjs +0 -45
- package/dist/tree/__tests__/tree.test.cjs +0 -488
- package/dist/tree/__tests__/tree.test.mjs +0 -333
- package/dist/tree-select/__tests__/tree-select.ssr.test.cjs +0 -52
- package/dist/tree-select/__tests__/tree-select.ssr.test.mjs +0 -55
- package/dist/tree-select/__tests__/tree-select.test.cjs +0 -231
- package/dist/tree-select/__tests__/tree-select.test.mjs +0 -189
- package/dist/typography/__tests__/typography.ssr.test.cjs +0 -85
- package/dist/typography/__tests__/typography.ssr.test.mjs +0 -63
- package/dist/typography/__tests__/typography.test.cjs +0 -362
- package/dist/typography/__tests__/typography.test.mjs +0 -161
- package/dist/upload/__tests__/upload.ssr.test.cjs +0 -28
- package/dist/upload/__tests__/upload.ssr.test.mjs +0 -26
- package/dist/upload/__tests__/upload.test.cjs +0 -467
- package/dist/upload/__tests__/upload.test.mjs +0 -336
- package/dist/waterfall/__tests__/waterfall.ssr.test.cjs +0 -38
- package/dist/waterfall/__tests__/waterfall.ssr.test.mjs +0 -39
- package/dist/waterfall/__tests__/waterfall.test.cjs +0 -122
- package/dist/waterfall/__tests__/waterfall.test.mjs +0 -85
- package/dist/watermark/__tests__/watermark.ssr.test.cjs +0 -32
- package/dist/watermark/__tests__/watermark.ssr.test.mjs +0 -30
- package/dist/watermark/__tests__/watermark.test.cjs +0 -127
- package/dist/watermark/__tests__/watermark.test.mjs +0 -124
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _vitest = require("vitest");
|
|
4
|
-
var _testUtils = require("@vue/test-utils");
|
|
5
|
-
var _aiVoiceTrigger = _interopRequireDefault(require("../src/ai-voice-trigger.vue"));
|
|
6
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
-
(0, _vitest.describe)("YhAiVoiceTrigger", () => {
|
|
8
|
-
(0, _vitest.beforeEach)(() => {
|
|
9
|
-
_vitest.vi.useFakeTimers();
|
|
10
|
-
});
|
|
11
|
-
(0, _vitest.afterEach)(() => {
|
|
12
|
-
_vitest.vi.restoreAllMocks();
|
|
13
|
-
});
|
|
14
|
-
(0, _vitest.it)("should render with base class", () => {
|
|
15
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default);
|
|
16
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-voice-trigger").exists()).toBe(true);
|
|
17
|
-
});
|
|
18
|
-
(0, _vitest.it)("should render trigger button", () => {
|
|
19
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default);
|
|
20
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-voice-trigger__trigger").exists()).toBe(true);
|
|
21
|
-
});
|
|
22
|
-
(0, _vitest.it)("should apply recording class when recording is true", () => {
|
|
23
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
24
|
-
props: {
|
|
25
|
-
recording: true,
|
|
26
|
-
teleport: false
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-voice-trigger").classes()).toContain("is-recording");
|
|
30
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-voice-trigger__visualizer").exists()).toBe(true);
|
|
31
|
-
});
|
|
32
|
-
(0, _vitest.it)("should emit start and update:recording on click when initially false", async () => {
|
|
33
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
34
|
-
props: {
|
|
35
|
-
recording: false
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
39
|
-
(0, _vitest.expect)(wrapper.emitted("update:recording")).toBeTruthy();
|
|
40
|
-
(0, _vitest.expect)(wrapper.emitted("update:recording")[0]).toEqual([true]);
|
|
41
|
-
(0, _vitest.expect)(wrapper.emitted("start")).toBeTruthy();
|
|
42
|
-
});
|
|
43
|
-
(0, _vitest.it)("should emit stop and update:recording on click when initially true", async () => {
|
|
44
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
45
|
-
props: {
|
|
46
|
-
recording: true
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
50
|
-
(0, _vitest.expect)(wrapper.emitted("update:recording")).toBeTruthy();
|
|
51
|
-
(0, _vitest.expect)(wrapper.emitted("update:recording")[0]).toEqual([false]);
|
|
52
|
-
(0, _vitest.expect)(wrapper.emitted("stop")).toBeTruthy();
|
|
53
|
-
});
|
|
54
|
-
(0, _vitest.it)("should emit cancel and update:recording when cancel button is clicked", async () => {
|
|
55
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
56
|
-
props: {
|
|
57
|
-
recording: true
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
await wrapper.find(".yh-ai-voice-trigger__cancel").trigger("click");
|
|
61
|
-
(0, _vitest.expect)(wrapper.emitted("update:recording")).toBeTruthy();
|
|
62
|
-
(0, _vitest.expect)(wrapper.emitted("update:recording")[0]).toEqual([false]);
|
|
63
|
-
(0, _vitest.expect)(wrapper.emitted("cancel")).toBeTruthy();
|
|
64
|
-
});
|
|
65
|
-
(0, _vitest.it)("should generate simulated amplitudes on visualizer interval", async () => {
|
|
66
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
67
|
-
props: {
|
|
68
|
-
recording: false
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
72
|
-
await wrapper.setProps({
|
|
73
|
-
recording: true
|
|
74
|
-
});
|
|
75
|
-
_vitest.vi.advanceTimersByTime(150);
|
|
76
|
-
await wrapper.vm.$nextTick();
|
|
77
|
-
const bars = wrapper.findAll(".yh-ai-voice-trigger__bar");
|
|
78
|
-
(0, _vitest.expect)(bars.length).toBe(20);
|
|
79
|
-
(0, _vitest.expect)(wrapper.vm.simulatedAmplitudes.some(a => a !== 5)).toBe(true);
|
|
80
|
-
});
|
|
81
|
-
(0, _vitest.it)("should use provided amplitudes", async () => {
|
|
82
|
-
const customAmplitudes = Array(20).fill(10);
|
|
83
|
-
customAmplitudes[0] = 12;
|
|
84
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
85
|
-
props: {
|
|
86
|
-
recording: false,
|
|
87
|
-
amplitudes: customAmplitudes
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
91
|
-
_vitest.vi.advanceTimersByTime(150);
|
|
92
|
-
await wrapper.vm.$nextTick();
|
|
93
|
-
(0, _vitest.expect)(wrapper.vm.simulatedAmplitudes).toEqual(customAmplitudes);
|
|
94
|
-
});
|
|
95
|
-
(0, _vitest.it)("should stop visualizer on unmount", async () => {
|
|
96
|
-
const clearIntervalSpy = _vitest.vi.spyOn(global, "clearInterval");
|
|
97
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
98
|
-
props: {
|
|
99
|
-
recording: false
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
103
|
-
wrapper.unmount();
|
|
104
|
-
(0, _vitest.expect)(clearIntervalSpy).toHaveBeenCalled();
|
|
105
|
-
});
|
|
106
|
-
(0, _vitest.it)("should render default slot content", () => {
|
|
107
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
108
|
-
slots: {
|
|
109
|
-
default: "Custom Trigger Text"
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-voice-trigger__label").text()).toBe("Custom Trigger Text");
|
|
113
|
-
});
|
|
114
|
-
(0, _vitest.it)("should respect teleport prop", () => {
|
|
115
|
-
const wrapper = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
116
|
-
props: {
|
|
117
|
-
variant: "sphere",
|
|
118
|
-
teleport: true
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
(0, _vitest.expect)(wrapper.props("teleport")).toBe(true);
|
|
122
|
-
const wrapperNoTeleport = (0, _testUtils.mount)(_aiVoiceTrigger.default, {
|
|
123
|
-
props: {
|
|
124
|
-
variant: "sphere",
|
|
125
|
-
teleport: false
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
(0, _vitest.expect)(wrapperNoTeleport.props("teleport")).toBe(false);
|
|
129
|
-
});
|
|
130
|
-
});
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
-
import { mount } from "@vue/test-utils";
|
|
3
|
-
import AiVoiceTrigger from "../src/ai-voice-trigger.vue";
|
|
4
|
-
describe("YhAiVoiceTrigger", () => {
|
|
5
|
-
beforeEach(() => {
|
|
6
|
-
vi.useFakeTimers();
|
|
7
|
-
});
|
|
8
|
-
afterEach(() => {
|
|
9
|
-
vi.restoreAllMocks();
|
|
10
|
-
});
|
|
11
|
-
it("should render with base class", () => {
|
|
12
|
-
const wrapper = mount(AiVoiceTrigger);
|
|
13
|
-
expect(wrapper.find(".yh-ai-voice-trigger").exists()).toBe(true);
|
|
14
|
-
});
|
|
15
|
-
it("should render trigger button", () => {
|
|
16
|
-
const wrapper = mount(AiVoiceTrigger);
|
|
17
|
-
expect(wrapper.find(".yh-ai-voice-trigger__trigger").exists()).toBe(true);
|
|
18
|
-
});
|
|
19
|
-
it("should apply recording class when recording is true", () => {
|
|
20
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
21
|
-
props: { recording: true, teleport: false }
|
|
22
|
-
});
|
|
23
|
-
expect(wrapper.find(".yh-ai-voice-trigger").classes()).toContain("is-recording");
|
|
24
|
-
expect(wrapper.find(".yh-ai-voice-trigger__visualizer").exists()).toBe(true);
|
|
25
|
-
});
|
|
26
|
-
it("should emit start and update:recording on click when initially false", async () => {
|
|
27
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
28
|
-
props: { recording: false }
|
|
29
|
-
});
|
|
30
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
31
|
-
expect(wrapper.emitted("update:recording")).toBeTruthy();
|
|
32
|
-
expect(wrapper.emitted("update:recording")[0]).toEqual([true]);
|
|
33
|
-
expect(wrapper.emitted("start")).toBeTruthy();
|
|
34
|
-
});
|
|
35
|
-
it("should emit stop and update:recording on click when initially true", async () => {
|
|
36
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
37
|
-
props: { recording: true }
|
|
38
|
-
});
|
|
39
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
40
|
-
expect(wrapper.emitted("update:recording")).toBeTruthy();
|
|
41
|
-
expect(wrapper.emitted("update:recording")[0]).toEqual([false]);
|
|
42
|
-
expect(wrapper.emitted("stop")).toBeTruthy();
|
|
43
|
-
});
|
|
44
|
-
it("should emit cancel and update:recording when cancel button is clicked", async () => {
|
|
45
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
46
|
-
props: { recording: true }
|
|
47
|
-
});
|
|
48
|
-
await wrapper.find(".yh-ai-voice-trigger__cancel").trigger("click");
|
|
49
|
-
expect(wrapper.emitted("update:recording")).toBeTruthy();
|
|
50
|
-
expect(wrapper.emitted("update:recording")[0]).toEqual([false]);
|
|
51
|
-
expect(wrapper.emitted("cancel")).toBeTruthy();
|
|
52
|
-
});
|
|
53
|
-
it("should generate simulated amplitudes on visualizer interval", async () => {
|
|
54
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
55
|
-
props: { recording: false }
|
|
56
|
-
});
|
|
57
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
58
|
-
await wrapper.setProps({ recording: true });
|
|
59
|
-
vi.advanceTimersByTime(150);
|
|
60
|
-
await wrapper.vm.$nextTick();
|
|
61
|
-
const bars = wrapper.findAll(".yh-ai-voice-trigger__bar");
|
|
62
|
-
expect(bars.length).toBe(20);
|
|
63
|
-
expect(wrapper.vm.simulatedAmplitudes.some((a) => a !== 5)).toBe(true);
|
|
64
|
-
});
|
|
65
|
-
it("should use provided amplitudes", async () => {
|
|
66
|
-
const customAmplitudes = Array(20).fill(10);
|
|
67
|
-
customAmplitudes[0] = 12;
|
|
68
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
69
|
-
props: { recording: false, amplitudes: customAmplitudes }
|
|
70
|
-
});
|
|
71
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
72
|
-
vi.advanceTimersByTime(150);
|
|
73
|
-
await wrapper.vm.$nextTick();
|
|
74
|
-
expect(wrapper.vm.simulatedAmplitudes).toEqual(customAmplitudes);
|
|
75
|
-
});
|
|
76
|
-
it("should stop visualizer on unmount", async () => {
|
|
77
|
-
const clearIntervalSpy = vi.spyOn(global, "clearInterval");
|
|
78
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
79
|
-
props: { recording: false }
|
|
80
|
-
});
|
|
81
|
-
await wrapper.find(".yh-ai-voice-trigger__trigger").trigger("click");
|
|
82
|
-
wrapper.unmount();
|
|
83
|
-
expect(clearIntervalSpy).toHaveBeenCalled();
|
|
84
|
-
});
|
|
85
|
-
it("should render default slot content", () => {
|
|
86
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
87
|
-
slots: {
|
|
88
|
-
default: "Custom Trigger Text"
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
expect(wrapper.find(".yh-ai-voice-trigger__label").text()).toBe("Custom Trigger Text");
|
|
92
|
-
});
|
|
93
|
-
it("should respect teleport prop", () => {
|
|
94
|
-
const wrapper = mount(AiVoiceTrigger, {
|
|
95
|
-
props: { variant: "sphere", teleport: true }
|
|
96
|
-
});
|
|
97
|
-
expect(wrapper.props("teleport")).toBe(true);
|
|
98
|
-
const wrapperNoTeleport = mount(AiVoiceTrigger, {
|
|
99
|
-
props: { variant: "sphere", teleport: false }
|
|
100
|
-
});
|
|
101
|
-
expect(wrapperNoTeleport.props("teleport")).toBe(false);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _vitest = require("vitest");
|
|
4
|
-
var _serverRenderer = require("@vue/server-renderer");
|
|
5
|
-
var _vue = require("vue");
|
|
6
|
-
var _aiWelcome = _interopRequireDefault(require("../src/ai-welcome.vue"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
(0, _vitest.describe)("YhAiWelcome SSR", () => {
|
|
9
|
-
(0, _vitest.it)("should render to string on server", async () => {
|
|
10
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiWelcome.default));
|
|
11
|
-
(0, _vitest.expect)(html).toContain("yh-ai-welcome");
|
|
12
|
-
});
|
|
13
|
-
(0, _vitest.it)("should render title on server", async () => {
|
|
14
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiWelcome.default, {
|
|
15
|
-
title: "Hello AI"
|
|
16
|
-
}));
|
|
17
|
-
(0, _vitest.expect)(html).toContain("yh-ai-welcome__title");
|
|
18
|
-
(0, _vitest.expect)(html).toContain("Hello AI");
|
|
19
|
-
});
|
|
20
|
-
(0, _vitest.it)("should render description on server", async () => {
|
|
21
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiWelcome.default, {
|
|
22
|
-
description: "Server description"
|
|
23
|
-
}));
|
|
24
|
-
(0, _vitest.expect)(html).toContain("yh-ai-welcome__description");
|
|
25
|
-
(0, _vitest.expect)(html).toContain("Server description");
|
|
26
|
-
});
|
|
27
|
-
(0, _vitest.it)("should render icon wrapper when showIcon=true", async () => {
|
|
28
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiWelcome.default, {
|
|
29
|
-
showIcon: true
|
|
30
|
-
}));
|
|
31
|
-
(0, _vitest.expect)(html).toContain("yh-ai-welcome__icon-wrapper");
|
|
32
|
-
});
|
|
33
|
-
(0, _vitest.it)("should not render icon wrapper when showIcon=false", async () => {
|
|
34
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiWelcome.default, {
|
|
35
|
-
showIcon: false
|
|
36
|
-
}));
|
|
37
|
-
(0, _vitest.expect)(html).not.toContain("yh-ai-welcome__icon-wrapper");
|
|
38
|
-
});
|
|
39
|
-
(0, _vitest.it)("should render suggestions on server", async () => {
|
|
40
|
-
const suggestions = [{
|
|
41
|
-
title: "Write code",
|
|
42
|
-
description: "Help me write code",
|
|
43
|
-
icon: "edit",
|
|
44
|
-
prompt: "code"
|
|
45
|
-
}, {
|
|
46
|
-
title: "Translate",
|
|
47
|
-
prompt: "translate"
|
|
48
|
-
}];
|
|
49
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiWelcome.default, {
|
|
50
|
-
suggestions
|
|
51
|
-
}));
|
|
52
|
-
(0, _vitest.expect)(html).toContain("yh-ai-welcome__card");
|
|
53
|
-
(0, _vitest.expect)(html).toContain("Write code");
|
|
54
|
-
(0, _vitest.expect)(html).toContain("Translate");
|
|
55
|
-
(0, _vitest.expect)(html).toContain("Help me write code");
|
|
56
|
-
});
|
|
57
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { renderToString } from "@vue/server-renderer";
|
|
3
|
-
import { h } from "vue";
|
|
4
|
-
import AiWelcome from "../src/ai-welcome.vue";
|
|
5
|
-
describe("YhAiWelcome SSR", () => {
|
|
6
|
-
it("should render to string on server", async () => {
|
|
7
|
-
const html = await renderToString(h(AiWelcome));
|
|
8
|
-
expect(html).toContain("yh-ai-welcome");
|
|
9
|
-
});
|
|
10
|
-
it("should render title on server", async () => {
|
|
11
|
-
const html = await renderToString(h(AiWelcome, { title: "Hello AI" }));
|
|
12
|
-
expect(html).toContain("yh-ai-welcome__title");
|
|
13
|
-
expect(html).toContain("Hello AI");
|
|
14
|
-
});
|
|
15
|
-
it("should render description on server", async () => {
|
|
16
|
-
const html = await renderToString(h(AiWelcome, { description: "Server description" }));
|
|
17
|
-
expect(html).toContain("yh-ai-welcome__description");
|
|
18
|
-
expect(html).toContain("Server description");
|
|
19
|
-
});
|
|
20
|
-
it("should render icon wrapper when showIcon=true", async () => {
|
|
21
|
-
const html = await renderToString(h(AiWelcome, { showIcon: true }));
|
|
22
|
-
expect(html).toContain("yh-ai-welcome__icon-wrapper");
|
|
23
|
-
});
|
|
24
|
-
it("should not render icon wrapper when showIcon=false", async () => {
|
|
25
|
-
const html = await renderToString(h(AiWelcome, { showIcon: false }));
|
|
26
|
-
expect(html).not.toContain("yh-ai-welcome__icon-wrapper");
|
|
27
|
-
});
|
|
28
|
-
it("should render suggestions on server", async () => {
|
|
29
|
-
const suggestions = [
|
|
30
|
-
{ title: "Write code", description: "Help me write code", icon: "edit", prompt: "code" },
|
|
31
|
-
{ title: "Translate", prompt: "translate" }
|
|
32
|
-
];
|
|
33
|
-
const html = await renderToString(h(AiWelcome, { suggestions }));
|
|
34
|
-
expect(html).toContain("yh-ai-welcome__card");
|
|
35
|
-
expect(html).toContain("Write code");
|
|
36
|
-
expect(html).toContain("Translate");
|
|
37
|
-
expect(html).toContain("Help me write code");
|
|
38
|
-
});
|
|
39
|
-
});
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _vitest = require("vitest");
|
|
4
|
-
var _testUtils = require("@vue/test-utils");
|
|
5
|
-
var _aiWelcome = _interopRequireDefault(require("../src/ai-welcome.vue"));
|
|
6
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
-
(0, _vitest.describe)("YhAiWelcome", () => {
|
|
8
|
-
(0, _vitest.it)("should render with base class", () => {
|
|
9
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default);
|
|
10
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome").exists()).toBe(true);
|
|
11
|
-
});
|
|
12
|
-
(0, _vitest.it)("should render title when provided", () => {
|
|
13
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
14
|
-
props: {
|
|
15
|
-
title: "Hello AI"
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__title").text()).toBe("Hello AI");
|
|
19
|
-
});
|
|
20
|
-
(0, _vitest.it)("should render description when provided", () => {
|
|
21
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
22
|
-
props: {
|
|
23
|
-
description: "Ask me anything."
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__description").text()).toBe("Ask me anything.");
|
|
27
|
-
});
|
|
28
|
-
(0, _vitest.it)("should not render description when not provided", () => {
|
|
29
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default);
|
|
30
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__description").exists()).toBe(false);
|
|
31
|
-
});
|
|
32
|
-
(0, _vitest.it)("should render icon wrapper when showIcon=true (default)", () => {
|
|
33
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
34
|
-
props: {
|
|
35
|
-
showIcon: true
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__icon-wrapper").exists()).toBe(true);
|
|
39
|
-
});
|
|
40
|
-
(0, _vitest.it)("should not render icon wrapper when showIcon=false", () => {
|
|
41
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
42
|
-
props: {
|
|
43
|
-
showIcon: false
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__icon-wrapper").exists()).toBe(false);
|
|
47
|
-
});
|
|
48
|
-
(0, _vitest.it)("should not render body without suggestions", () => {
|
|
49
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
50
|
-
props: {
|
|
51
|
-
suggestions: []
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__body").exists()).toBe(false);
|
|
55
|
-
});
|
|
56
|
-
(0, _vitest.it)("should render suggestions cards", () => {
|
|
57
|
-
const suggestions = [{
|
|
58
|
-
title: "Write code",
|
|
59
|
-
description: "Help me write code",
|
|
60
|
-
icon: "edit",
|
|
61
|
-
prompt: "write code"
|
|
62
|
-
}, {
|
|
63
|
-
title: "Translate",
|
|
64
|
-
description: "Translate text",
|
|
65
|
-
icon: "document",
|
|
66
|
-
prompt: "translate"
|
|
67
|
-
}];
|
|
68
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
69
|
-
props: {
|
|
70
|
-
suggestions
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
(0, _vitest.expect)(wrapper.findAll(".yh-ai-welcome__card").length).toBe(2);
|
|
74
|
-
});
|
|
75
|
-
(0, _vitest.it)("should render suggestion titles", () => {
|
|
76
|
-
const suggestions = [{
|
|
77
|
-
title: "Test Title",
|
|
78
|
-
icon: "edit",
|
|
79
|
-
prompt: "test"
|
|
80
|
-
}];
|
|
81
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
82
|
-
props: {
|
|
83
|
-
suggestions
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__card-title").text()).toBe("Test Title");
|
|
87
|
-
});
|
|
88
|
-
(0, _vitest.it)("should render suggestion description when provided", () => {
|
|
89
|
-
const suggestions = [{
|
|
90
|
-
title: "Title",
|
|
91
|
-
description: "Some description",
|
|
92
|
-
prompt: "test"
|
|
93
|
-
}];
|
|
94
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
95
|
-
props: {
|
|
96
|
-
suggestions
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__card-description").text()).toBe("Some description");
|
|
100
|
-
});
|
|
101
|
-
(0, _vitest.it)("should not render card icon when suggestion has no icon", () => {
|
|
102
|
-
const suggestions = [{
|
|
103
|
-
title: "No Icon",
|
|
104
|
-
prompt: "test"
|
|
105
|
-
}];
|
|
106
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
107
|
-
props: {
|
|
108
|
-
suggestions
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__card-icon").exists()).toBe(false);
|
|
112
|
-
});
|
|
113
|
-
(0, _vitest.it)("should emit select event when suggestion clicked", async () => {
|
|
114
|
-
const suggestion = {
|
|
115
|
-
title: "Write code",
|
|
116
|
-
icon: "edit",
|
|
117
|
-
prompt: "write code"
|
|
118
|
-
};
|
|
119
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
120
|
-
props: {
|
|
121
|
-
suggestions: [suggestion]
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
await wrapper.find(".yh-ai-welcome__card").trigger("click");
|
|
125
|
-
(0, _vitest.expect)(wrapper.emitted("select")).toBeTruthy();
|
|
126
|
-
const emitted = wrapper.emitted("select");
|
|
127
|
-
(0, _vitest.expect)(emitted[0][0]).toEqual(suggestion);
|
|
128
|
-
});
|
|
129
|
-
(0, _vitest.it)("should render icon slot", () => {
|
|
130
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
131
|
-
slots: {
|
|
132
|
-
icon: '<svg class="custom-icon"></svg>'
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
(0, _vitest.expect)(wrapper.find(".custom-icon").exists()).toBe(true);
|
|
136
|
-
});
|
|
137
|
-
(0, _vitest.it)("should render title slot", () => {
|
|
138
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
139
|
-
slots: {
|
|
140
|
-
title: '<span class="custom-title">Custom Title</span>'
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
(0, _vitest.expect)(wrapper.find(".custom-title").exists()).toBe(true);
|
|
144
|
-
});
|
|
145
|
-
(0, _vitest.it)("should render description slot", () => {
|
|
146
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
147
|
-
props: {
|
|
148
|
-
description: "desc"
|
|
149
|
-
},
|
|
150
|
-
slots: {
|
|
151
|
-
description: '<em class="custom-desc">Custom Desc</em>'
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
(0, _vitest.expect)(wrapper.find(".custom-desc").exists()).toBe(true);
|
|
155
|
-
});
|
|
156
|
-
(0, _vitest.it)("should render default slot in footer", () => {
|
|
157
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default, {
|
|
158
|
-
slots: {
|
|
159
|
-
default: '<button class="extra-btn">Extra</button>'
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__footer").exists()).toBe(true);
|
|
163
|
-
(0, _vitest.expect)(wrapper.find(".extra-btn").exists()).toBe(true);
|
|
164
|
-
});
|
|
165
|
-
(0, _vitest.it)("should not render footer when no default slot", () => {
|
|
166
|
-
const wrapper = (0, _testUtils.mount)(_aiWelcome.default);
|
|
167
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-welcome__footer").exists()).toBe(false);
|
|
168
|
-
});
|
|
169
|
-
});
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { mount } from "@vue/test-utils";
|
|
3
|
-
import AiWelcome from "../src/ai-welcome.vue";
|
|
4
|
-
describe("YhAiWelcome", () => {
|
|
5
|
-
it("should render with base class", () => {
|
|
6
|
-
const wrapper = mount(AiWelcome);
|
|
7
|
-
expect(wrapper.find(".yh-ai-welcome").exists()).toBe(true);
|
|
8
|
-
});
|
|
9
|
-
it("should render title when provided", () => {
|
|
10
|
-
const wrapper = mount(AiWelcome, {
|
|
11
|
-
props: { title: "Hello AI" }
|
|
12
|
-
});
|
|
13
|
-
expect(wrapper.find(".yh-ai-welcome__title").text()).toBe("Hello AI");
|
|
14
|
-
});
|
|
15
|
-
it("should render description when provided", () => {
|
|
16
|
-
const wrapper = mount(AiWelcome, {
|
|
17
|
-
props: { description: "Ask me anything." }
|
|
18
|
-
});
|
|
19
|
-
expect(wrapper.find(".yh-ai-welcome__description").text()).toBe("Ask me anything.");
|
|
20
|
-
});
|
|
21
|
-
it("should not render description when not provided", () => {
|
|
22
|
-
const wrapper = mount(AiWelcome);
|
|
23
|
-
expect(wrapper.find(".yh-ai-welcome__description").exists()).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
it("should render icon wrapper when showIcon=true (default)", () => {
|
|
26
|
-
const wrapper = mount(AiWelcome, { props: { showIcon: true } });
|
|
27
|
-
expect(wrapper.find(".yh-ai-welcome__icon-wrapper").exists()).toBe(true);
|
|
28
|
-
});
|
|
29
|
-
it("should not render icon wrapper when showIcon=false", () => {
|
|
30
|
-
const wrapper = mount(AiWelcome, { props: { showIcon: false } });
|
|
31
|
-
expect(wrapper.find(".yh-ai-welcome__icon-wrapper").exists()).toBe(false);
|
|
32
|
-
});
|
|
33
|
-
it("should not render body without suggestions", () => {
|
|
34
|
-
const wrapper = mount(AiWelcome, { props: { suggestions: [] } });
|
|
35
|
-
expect(wrapper.find(".yh-ai-welcome__body").exists()).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
it("should render suggestions cards", () => {
|
|
38
|
-
const suggestions = [
|
|
39
|
-
{
|
|
40
|
-
title: "Write code",
|
|
41
|
-
description: "Help me write code",
|
|
42
|
-
icon: "edit",
|
|
43
|
-
prompt: "write code"
|
|
44
|
-
},
|
|
45
|
-
{ title: "Translate", description: "Translate text", icon: "document", prompt: "translate" }
|
|
46
|
-
];
|
|
47
|
-
const wrapper = mount(AiWelcome, { props: { suggestions } });
|
|
48
|
-
expect(wrapper.findAll(".yh-ai-welcome__card").length).toBe(2);
|
|
49
|
-
});
|
|
50
|
-
it("should render suggestion titles", () => {
|
|
51
|
-
const suggestions = [{ title: "Test Title", icon: "edit", prompt: "test" }];
|
|
52
|
-
const wrapper = mount(AiWelcome, { props: { suggestions } });
|
|
53
|
-
expect(wrapper.find(".yh-ai-welcome__card-title").text()).toBe("Test Title");
|
|
54
|
-
});
|
|
55
|
-
it("should render suggestion description when provided", () => {
|
|
56
|
-
const suggestions = [{ title: "Title", description: "Some description", prompt: "test" }];
|
|
57
|
-
const wrapper = mount(AiWelcome, { props: { suggestions } });
|
|
58
|
-
expect(wrapper.find(".yh-ai-welcome__card-description").text()).toBe("Some description");
|
|
59
|
-
});
|
|
60
|
-
it("should not render card icon when suggestion has no icon", () => {
|
|
61
|
-
const suggestions = [{ title: "No Icon", prompt: "test" }];
|
|
62
|
-
const wrapper = mount(AiWelcome, { props: { suggestions } });
|
|
63
|
-
expect(wrapper.find(".yh-ai-welcome__card-icon").exists()).toBe(false);
|
|
64
|
-
});
|
|
65
|
-
it("should emit select event when suggestion clicked", async () => {
|
|
66
|
-
const suggestion = { title: "Write code", icon: "edit", prompt: "write code" };
|
|
67
|
-
const wrapper = mount(AiWelcome, {
|
|
68
|
-
props: { suggestions: [suggestion] }
|
|
69
|
-
});
|
|
70
|
-
await wrapper.find(".yh-ai-welcome__card").trigger("click");
|
|
71
|
-
expect(wrapper.emitted("select")).toBeTruthy();
|
|
72
|
-
const emitted = wrapper.emitted("select");
|
|
73
|
-
expect(emitted[0][0]).toEqual(suggestion);
|
|
74
|
-
});
|
|
75
|
-
it("should render icon slot", () => {
|
|
76
|
-
const wrapper = mount(AiWelcome, {
|
|
77
|
-
slots: {
|
|
78
|
-
icon: '<svg class="custom-icon"></svg>'
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
expect(wrapper.find(".custom-icon").exists()).toBe(true);
|
|
82
|
-
});
|
|
83
|
-
it("should render title slot", () => {
|
|
84
|
-
const wrapper = mount(AiWelcome, {
|
|
85
|
-
slots: {
|
|
86
|
-
title: '<span class="custom-title">Custom Title</span>'
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
expect(wrapper.find(".custom-title").exists()).toBe(true);
|
|
90
|
-
});
|
|
91
|
-
it("should render description slot", () => {
|
|
92
|
-
const wrapper = mount(AiWelcome, {
|
|
93
|
-
props: { description: "desc" },
|
|
94
|
-
slots: {
|
|
95
|
-
description: '<em class="custom-desc">Custom Desc</em>'
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
expect(wrapper.find(".custom-desc").exists()).toBe(true);
|
|
99
|
-
});
|
|
100
|
-
it("should render default slot in footer", () => {
|
|
101
|
-
const wrapper = mount(AiWelcome, {
|
|
102
|
-
slots: {
|
|
103
|
-
default: '<button class="extra-btn">Extra</button>'
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
expect(wrapper.find(".yh-ai-welcome__footer").exists()).toBe(true);
|
|
107
|
-
expect(wrapper.find(".extra-btn").exists()).toBe(true);
|
|
108
|
-
});
|
|
109
|
-
it("should not render footer when no default slot", () => {
|
|
110
|
-
const wrapper = mount(AiWelcome);
|
|
111
|
-
expect(wrapper.find(".yh-ai-welcome__footer").exists()).toBe(false);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _vitest = require("vitest");
|
|
4
|
-
var _serverRenderer = require("@vue/server-renderer");
|
|
5
|
-
var _vue = require("vue");
|
|
6
|
-
var _alert = _interopRequireDefault(require("../src/alert.vue"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
(0, _vitest.describe)("YhAlert SSR", () => {
|
|
9
|
-
(0, _vitest.it)("should render to string on server", async () => {
|
|
10
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_alert.default, {
|
|
11
|
-
title: "SSR Alert",
|
|
12
|
-
type: "error",
|
|
13
|
-
showIcon: true
|
|
14
|
-
}));
|
|
15
|
-
(0, _vitest.expect)(html).toContain("yh-alert");
|
|
16
|
-
(0, _vitest.expect)(html).toContain("yh-alert--error");
|
|
17
|
-
(0, _vitest.expect)(html).toContain("SSR Alert");
|
|
18
|
-
(0, _vitest.expect)(html).toContain("yh-alert__icon");
|
|
19
|
-
});
|
|
20
|
-
(0, _vitest.it)("should render description as well", async () => {
|
|
21
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_alert.default, {
|
|
22
|
-
title: "Title",
|
|
23
|
-
description: "Detail message"
|
|
24
|
-
}));
|
|
25
|
-
(0, _vitest.expect)(html).toContain("yh-alert__description");
|
|
26
|
-
(0, _vitest.expect)(html).toContain("Detail message");
|
|
27
|
-
});
|
|
28
|
-
});
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { renderToString } from "@vue/server-renderer";
|
|
3
|
-
import { h } from "vue";
|
|
4
|
-
import Alert from "../src/alert.vue";
|
|
5
|
-
describe("YhAlert SSR", () => {
|
|
6
|
-
it("should render to string on server", async () => {
|
|
7
|
-
const html = await renderToString(
|
|
8
|
-
h(Alert, {
|
|
9
|
-
title: "SSR Alert",
|
|
10
|
-
type: "error",
|
|
11
|
-
showIcon: true
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
expect(html).toContain("yh-alert");
|
|
15
|
-
expect(html).toContain("yh-alert--error");
|
|
16
|
-
expect(html).toContain("SSR Alert");
|
|
17
|
-
expect(html).toContain("yh-alert__icon");
|
|
18
|
-
});
|
|
19
|
-
it("should render description as well", async () => {
|
|
20
|
-
const html = await renderToString(
|
|
21
|
-
h(Alert, {
|
|
22
|
-
title: "Title",
|
|
23
|
-
description: "Detail message"
|
|
24
|
-
})
|
|
25
|
-
);
|
|
26
|
-
expect(html).toContain("yh-alert__description");
|
|
27
|
-
expect(html).toContain("Detail message");
|
|
28
|
-
});
|
|
29
|
-
});
|