@@ -33,6 +33,56 @@ describe('vscode-single-select', () => {
3333 expect ( el . value ) . to . eq ( 'Ipsum' ) ;
3434 } ) ;
3535
36+ it ( 'should display selected value when value prop is changed' , async ( ) => {
37+ const el = ( await fixture ( html `
38+ < vscode-single-select >
39+ < vscode-option > Lorem</ vscode-option >
40+ < vscode-option > Ipsum</ vscode-option >
41+ < vscode-option > Dolor</ vscode-option >
42+ </ vscode-single-select >
43+ ` ) ) as VscodeSingleSelect ;
44+
45+ el . value = 'Ipsum' ;
46+ await el . updateComplete ;
47+
48+ expect ( el ) . shadowDom . to . equal ( `
49+ <slot class="main-slot"></slot>
50+ <div class="select-face">
51+ <span class="text">
52+ Ipsum
53+ </span>
54+ <span class="icon">
55+ </span>
56+ </div>
57+ ` ) ;
58+ expect ( el . value ) . to . eq ( 'Ipsum' ) ;
59+ } ) ;
60+
61+ it ( 'select face should be empty when the value is invalid' , async ( ) => {
62+ const el = ( await fixture ( html `
63+ < vscode-single-select >
64+ < vscode-option > Lorem</ vscode-option >
65+ < vscode-option > Ipsum</ vscode-option >
66+ < vscode-option > Dolor</ vscode-option >
67+ </ vscode-single-select >
68+ ` ) ) as VscodeSingleSelect ;
69+
70+ el . value = 'trololo' ;
71+ await el . updateComplete ;
72+
73+ expect ( el ) . shadowDom . to . equal ( `
74+ <slot class="main-slot"></slot>
75+ <div class="select-face">
76+ <span class="text">
77+ <span class="empty-label-placeholder"></span>
78+ </span>
79+ <span class="icon">
80+ </span>
81+ </div>
82+ ` ) ;
83+ expect ( el . value ) . to . eq ( 'trololo' ) ;
84+ } ) ;
85+
3686 it ( 'should display selected value when an option is clicked' , async ( ) => {
3787 const el = ( await fixture ( html `
3888 < vscode-single-select >
0 commit comments