@@ -52,6 +52,52 @@ describe('ssr: v-model', () => {
5252      }" 
5353    ` ) 
5454
55+     expect ( 
56+       compileWithWrapper ( 
57+         `<select v-model="model"><option v-for="i in items" :value="i"></option></select>` , 
58+       ) . code , 
59+     ) . toMatchInlineSnapshot ( ` 
60+       "const { ssrRenderAttr: _ssrRenderAttr, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require("vue/server-renderer") 
61+ 
62+       return function ssrRender(_ctx, _push, _parent, _attrs) { 
63+         _push(\`<div\${_ssrRenderAttrs(_attrs)}><select><!--[-->\`) 
64+         _ssrRenderList(_ctx.items, (i) => { 
65+           _push(\`<option\${ 
66+             _ssrRenderAttr("value", i) 
67+           }\${ 
68+             (_ssrIncludeBooleanAttr((Array.isArray(_ctx.model)) 
69+               ? _ssrLooseContain(_ctx.model, i) 
70+               : _ssrLooseEqual(_ctx.model, i))) ? " selected" : "" 
71+           }></option>\`) 
72+         }) 
73+         _push(\`<!--]--></select></div>\`) 
74+       }" 
75+     ` ) 
76+ 
77+     expect ( 
78+       compileWithWrapper ( 
79+         `<select v-model="model"><option v-if="true" :value="i"></option></select>` , 
80+       ) . code , 
81+     ) . toMatchInlineSnapshot ( ` 
82+       "const { ssrRenderAttr: _ssrRenderAttr, ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer") 
83+ 
84+       return function ssrRender(_ctx, _push, _parent, _attrs) { 
85+         _push(\`<div\${_ssrRenderAttrs(_attrs)}><select>\`) 
86+         if (true) { 
87+           _push(\`<option\${ 
88+             _ssrRenderAttr("value", _ctx.i) 
89+           }\${ 
90+             (_ssrIncludeBooleanAttr((Array.isArray(_ctx.model)) 
91+               ? _ssrLooseContain(_ctx.model, _ctx.i) 
92+               : _ssrLooseEqual(_ctx.model, _ctx.i))) ? " selected" : "" 
93+           }></option>\`) 
94+         } else { 
95+           _push(\`<!---->\`) 
96+         } 
97+         _push(\`</select></div>\`) 
98+       }" 
99+     ` ) 
100+ 
55101    expect ( 
56102      compileWithWrapper ( 
57103        `<select multiple v-model="model"><option value="1" selected></option><option value="2"></option></select>` , 
0 commit comments