<?php 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								namespace yiiunit\extensions\bootstrap;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								use yii\bootstrap\Collapse;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * @group bootstrap
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class CollapseTest extends TestCase
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public function testRender()
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    {
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Collapse::$counter = 0;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $output = Collapse::widget([
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'items' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'label' => 'Collapsible Group Item #1',
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    'content' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'test content1',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'test content2'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'label' => 'Collapsible Group Item #2',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'content' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'test content1',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'test content2'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'contentOptions' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'class' => 'testContentOptions'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'options' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'class' => 'testClass',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'id' => 'testId'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'footer' => 'Footer'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                [
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    'label' => '< h1 > Collapsible Group Item #3< / h1 > ',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'content' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '< h2 > test content1< / h2 > ',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '< h2 > test content2< / h2 > '
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'contentOptions' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'class' => 'testContentOptions2'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'options' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'class' => 'testClass2',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'id' => 'testId2'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    'encode' => false,
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'footer' => 'Footer2'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                [
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    'label' => '< h1 > Collapsible Group Item #4< / h1 > ',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'content' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '< h2 > test content1< / h2 > ',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        '< h2 > test content2< / h2 > '
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'contentOptions' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'class' => 'testContentOptions3'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'options' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'class' => 'testClass3',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        'id' => 'testId3'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ],
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    'encode' => true,
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'footer' => 'Footer3'
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ]
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ]);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this->assertEqualsWithoutLE(< < < HTML 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  id = "w0"  class = "panel-group" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "panel panel-default" > < div  class = "panel-heading" > < h4  class = "panel-title" > < a  class = "collapse-toggle"  href = "#w0-collapse1"  data-toggle = "collapse"  data-parent = "#w0" > Collapsible Group Item #1< / a > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / h4 > < / div > 
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  id = "w0-collapse1"  class = "panel-collapse collapse" > < ul  class = "list-group" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > test content1< / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > test content2< / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / ul > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < / div > 
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  id = "testId"  class = "testClass panel panel-default" > < div  class = "panel-heading" > < h4  class = "panel-title" > < a  class = "collapse-toggle"  href = "#w0-collapse2"  data-toggle = "collapse"  data-parent = "#w0" > Collapsible Group Item #2< / a > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / h4 > < / div > 
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  id = "w0-collapse2"  class = "testContentOptions panel-collapse collapse" > < ul  class = "list-group" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > test content1< / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > test content2< / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / ul > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "panel-footer" > Footer< / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < / div > 
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  id = "testId2"  class = "testClass2 panel panel-default" > < div  class = "panel-heading" > < h4  class = "panel-title" > < a  class = "collapse-toggle"  href = "#w0-collapse3"  data-toggle = "collapse"  data-parent = "#w0" > < h1 > Collapsible Group Item #3< / h1 > < / a > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / h4 > < / div > 
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  id = "w0-collapse3"  class = "testContentOptions2 panel-collapse collapse" > < ul  class = "list-group" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > < h2 > test content1< / h2 > < / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > < h2 > test content2< / h2 > < / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / ul > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "panel-footer" > Footer2< / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < / div > 
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  id = "testId3"  class = "testClass3 panel panel-default" > < div  class = "panel-heading" > < h4  class = "panel-title" > < a  class = "collapse-toggle"  href = "#w0-collapse4"  data-toggle = "collapse"  data-parent = "#w0" > < h1> Collapsible Group Item #4< /h1> < / a > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / h4 > < / div > 
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  id = "w0-collapse4"  class = "testContentOptions3 panel-collapse collapse" > < ul  class = "list-group" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > < h2 > test content1< / h2 > < / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< li  class = "list-group-item" > < h2 > test content2< / h2 > < / li > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / ul > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "panel-footer" > Footer3< / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HTML
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        , $output);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     * @see https://github.com/yiisoft/yii2/issues/8357
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     */
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public function testRenderObject()
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    {
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $template = ['template' => '{input}'];
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ob_start();
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $form = \yii\widgets\ActiveForm::begin(['action' => '/something']);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ob_end_clean();
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $model = new data\Singer;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Collapse::$counter = 0;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $output = Collapse::widget([
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            'items' => [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                [
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'label' => 'Collapsible Group Item #1',
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    'content' => $form->field($model, 'firstName', $template)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                ],
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ]
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ]);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this->assertEqualsWithoutLE(< < < HTML 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  id = "w0"  class = "panel-group" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = "panel panel-default" > < div  class = "panel-heading" > < h4  class = "panel-title" > < a  class = "collapse-toggle"  href = "#w0-collapse1"  data-toggle = "collapse"  data-parent = "#w0" > Collapsible Group Item #1< / a > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / h4 > < / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  id = "w0-collapse1"  class = "panel-collapse collapse" > < div  class = "panel-body" > < div  class = "form-group field-singer-firstname" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  type = "text"  id = "singer-firstname"  class = "form-control"  name = "Singer[firstName]" > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > 
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HTML
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        , $output);
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}