You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							146 lines
						
					
					
						
							5.4 KiB
						
					
					
				
			
		
		
	
	
							146 lines
						
					
					
						
							5.4 KiB
						
					
					
				| <?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); | |
|     } | |
| }
 | |
| 
 |