@@ -28,14 +28,32 @@ describe('template-instance', () => {
2828 root . appendChild ( instance )
2929 expect ( root . innerHTML ) . to . equal ( `<div>Hello world</div>` )
3030 } )
31- it ( 'applies data to nested templated element nodes' , ( ) => {
31+ it ( 'applies data to nested templated element nodes with the default processPropertyIdentity ' , ( ) => {
3232 const root = document . createElement ( 'div' )
3333 const template = Object . assign ( document . createElement ( 'template' ) , {
3434 innerHTML : '<template><div>{{x}}</div></template>' ,
3535 } )
36- root . appendChild ( new TemplateInstance ( template , { x : 'Hello world' } ) )
36+ const instance = new TemplateInstance ( template , { x : 'Hello world' } )
3737
38+ root . appendChild ( instance )
3839 expect ( root . innerHTML ) . to . equal ( '<template><div>Hello world</div></template>' )
40+ expect ( template . innerHTML ) . to . equal ( '<template><div>{{x}}</div></template>' )
41+ instance . update ( { x : 'Goodbye world' } )
42+ expect ( root . innerHTML ) . to . equal ( '<template><div>Goodbye world</div></template>' )
43+ expect ( template . innerHTML ) . to . equal ( '<template><div>{{x}}</div></template>' )
44+ } )
45+ it ( 'applies data to nested templated element nodes with propertyIdentityOrBooleanAttribute' , ( ) => {
46+ const template = Object . assign ( document . createElement ( 'template' ) , {
47+ innerHTML : '<template><div hidden="{{hidden}}"></div></template>' ,
48+ } )
49+ const instance = new TemplateInstance ( template , { hidden : true } , propertyIdentityOrBooleanAttribute )
50+
51+ const root = document . createElement ( 'div' )
52+ root . appendChild ( instance )
53+ expect ( root . innerHTML ) . to . equal ( '<template><div hidden=""></div></template>' )
54+ expect ( template . innerHTML ) . to . equal ( '<template><div hidden="{{hidden}}"></div></template>' )
55+ instance . update ( { hidden : false } )
56+ expect ( root . innerHTML ) . to . equal ( '<template><div></div></template>' )
3957 } )
4058 it ( 'applies data to templated DocumentFragment nodes' , ( ) => {
4159 const template = document . createElement ( 'template' )
@@ -357,7 +375,7 @@ describe('template-instance', () => {
357375 } )
358376
359377 describe ( 'handling InnerTemplatePart' , ( ) => {
360- it ( 'makes outer state available to inner parts ' , ( ) => {
378+ it ( 'makes outer state available to InnerTemplatePart elements with [directive] ' , ( ) => {
361379 const processor = createProcessor ( ( part , value , state ) => {
362380 if ( part instanceof InnerTemplatePart && part . directive === 'if' ) {
363381 if ( typeof state === 'object' && ( state as Record < string , unknown > ) [ part . expression ] ) {
0 commit comments