mirror of https://github.com/vuejs/core.git
				
				
				
			
		
			
				
	
	
		
			31 lines
		
	
	
		
			742 B
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			742 B
		
	
	
	
		
			TypeScript
		
	
	
	
| import { createSSRApp, defineComponent, h, ref, watch } from 'vue'
 | |
| import { type SSRContext, renderToString } from '../src'
 | |
| 
 | |
| describe('ssr: watch', () => {
 | |
|   // #6013
 | |
|   test('should work w/ flush:sync', async () => {
 | |
|     const App = defineComponent(() => {
 | |
|       const count = ref(0)
 | |
|       let msg = ''
 | |
|       watch(
 | |
|         count,
 | |
|         () => {
 | |
|           msg = 'hello world'
 | |
|         },
 | |
|         { flush: 'sync' },
 | |
|       )
 | |
|       count.value = 1
 | |
|       expect(msg).toBe('hello world')
 | |
|       return () => h('div', null, msg)
 | |
|     })
 | |
| 
 | |
|     const app = createSSRApp(App)
 | |
|     const ctx: SSRContext = {}
 | |
|     const html = await renderToString(app, ctx)
 | |
| 
 | |
|     expect(ctx.__watcherHandles!.length).toBe(1)
 | |
| 
 | |
|     expect(html).toMatch('hello world')
 | |
|   })
 | |
| })
 |