Skip to content

Commit f0bab01

Browse files
committed
test: add test
1 parent cd11490 commit f0bab01

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

playground/vue/Hmr.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
<p>Click the button then edit this message. The count should be preserved.</p>
44
<button class="hmr-inc" @click="count++">count is {{ count }}</button>
55
<span class="hmr-number">{{ number }}</span>
6+
<div>
7+
<span class="hmr-bar-text">bar-title</span>
8+
<span class="hmr-bar">{{ bar }}</span>
9+
</div>
610
</template>
711

812
<script setup lang="ts">
@@ -12,6 +16,7 @@ import { test } from './lib.js'
1216
const number = test()
1317
1418
let foo: number = 0
19+
let bar = 'bar'
1520
1621
const count = ref(foo)
1722
</script>

playground/vue/__tests__/vue.spec.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,24 @@ describe('hmr', () => {
221221
await untilUpdated(() => page.textContent('.hmr-number'), '200')
222222
})
223223

224+
test('should reload when script changes after a rerender', async () => {
225+
// rerender
226+
editFile('Hmr.vue', (code) => code.replace('bar-title', 'bar-title1'))
227+
await untilUpdated(() => page.textContent('h2.hmr'), 'bar-title1')
228+
229+
// change 'bar' to 'updated', should reload
230+
editFile('Hmr.vue', (code) =>
231+
code.replace(`let bar = 'bar'`, `let bar = 'updated'`),
232+
)
233+
await untilUpdated(() => page.textContent('.hmr-bar'), 'updated')
234+
235+
// change 'updated' to 'bar', should reload again not rerender
236+
editFile('Hmr.vue', (code) =>
237+
code.replace(`let bar = 'updated'`, `let bar = 'bar'`),
238+
)
239+
await untilUpdated(() => page.textContent('.hmr-bar'), 'bar')
240+
})
241+
224242
test('global hmr for some scenarios', async () => {
225243
editFile('Hmr.vue', (code) =>
226244
code.replace('</template>', ' <Node/>\n' + '</template>'),

0 commit comments

Comments
 (0)