QUnit.module( 've.ui.MWTransclusionOutlinePlaceholderWidget' ); QUnit.test( 'Constructor', ( assert ) => { const transclusion = new ve.dm.MWTransclusionModel(), placeholder = new ve.dm.MWTemplatePlaceholderModel( transclusion ); let widget = new ve.ui.MWTransclusionOutlinePlaceholderWidget( placeholder ); assert.strictEqual( widget.getData(), 'part_0' ); assert.strictEqual( widget.$element.find( '.ve-ui-mwTransclusionOutlineButtonWidget' ).text(), 'visualeditor-dialog-transclusion-add-template', 'Outline item says "Add template" by default' ); // Bypass the asynchronous .addPart() and the API request it does transclusion.parts.push( placeholder ); widget = new ve.ui.MWTransclusionOutlinePlaceholderWidget( placeholder ); assert.strictEqual( widget.$element.find( '.ve-ui-mwTransclusionOutlineButtonWidget' ).text(), 'visualeditor-dialog-transclusion-template-search', 'Outline item says "Template search" when this placeholder is the only part' ); } );