mirror of https://github.com/vuejs/core.git
				
				
				
			
		
			
				
	
	
		
			116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
| import {
 | |
|   ssrGetDynamicModelProps,
 | |
|   ssrRenderDynamicModel,
 | |
|   // ssrGetDynamicModelProps
 | |
| } from '../src/helpers/ssrVModelHelpers'
 | |
| 
 | |
| describe('ssr: v-model helpers', () => {
 | |
|   test('ssrRenderDynamicModel', () => {
 | |
|     expect(ssrRenderDynamicModel(null, 'foo', null)).toBe(` value="foo"`)
 | |
|     expect(ssrRenderDynamicModel('text', 'foo', null)).toBe(` value="foo"`)
 | |
|     expect(ssrRenderDynamicModel('email', 'foo', null)).toBe(` value="foo"`)
 | |
| 
 | |
|     expect(ssrRenderDynamicModel('checkbox', true, null)).toBe(` checked`)
 | |
|     expect(ssrRenderDynamicModel('checkbox', false, null)).toBe(``)
 | |
|     expect(ssrRenderDynamicModel('checkbox', [1], '1')).toBe(` checked`)
 | |
|     expect(ssrRenderDynamicModel('checkbox', [1], 1)).toBe(` checked`)
 | |
|     expect(ssrRenderDynamicModel('checkbox', [1], 0)).toBe(``)
 | |
| 
 | |
|     expect(ssrRenderDynamicModel('radio', 'foo', 'foo')).toBe(` checked`)
 | |
|     expect(ssrRenderDynamicModel('radio', 1, '1')).toBe(` checked`)
 | |
|     expect(ssrRenderDynamicModel('radio', 1, 0)).toBe(``)
 | |
|   })
 | |
| 
 | |
|   test('ssrGetDynamicModelProps', () => {
 | |
|     expect(ssrGetDynamicModelProps({}, 'foo')).toMatchObject({ value: 'foo' })
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'text',
 | |
|         },
 | |
|         'foo',
 | |
|       ),
 | |
|     ).toMatchObject({ value: 'foo' })
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'email',
 | |
|         },
 | |
|         'foo',
 | |
|       ),
 | |
|     ).toMatchObject({ value: 'foo' })
 | |
| 
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'checkbox',
 | |
|         },
 | |
|         true,
 | |
|       ),
 | |
|     ).toMatchObject({ checked: true })
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'checkbox',
 | |
|         },
 | |
|         false,
 | |
|       ),
 | |
|     ).toBe(null)
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'checkbox',
 | |
|           value: '1',
 | |
|         },
 | |
|         [1],
 | |
|       ),
 | |
|     ).toMatchObject({ checked: true })
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'checkbox',
 | |
|           value: 1,
 | |
|         },
 | |
|         [1],
 | |
|       ),
 | |
|     ).toMatchObject({ checked: true })
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'checkbox',
 | |
|           value: 0,
 | |
|         },
 | |
|         [1],
 | |
|       ),
 | |
|     ).toBe(null)
 | |
| 
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'radio',
 | |
|           value: 'foo',
 | |
|         },
 | |
|         'foo',
 | |
|       ),
 | |
|     ).toMatchObject({ checked: true })
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'radio',
 | |
|           value: '1',
 | |
|         },
 | |
|         1,
 | |
|       ),
 | |
|     ).toMatchObject({ checked: true })
 | |
|     expect(
 | |
|       ssrGetDynamicModelProps(
 | |
|         {
 | |
|           type: 'radio',
 | |
|           value: 0,
 | |
|         },
 | |
|         1,
 | |
|       ),
 | |
|     ).toBe(null)
 | |
|   })
 | |
| })
 |