'{{text}}', ]; $this->templates = new StringTemplate($templates); $this->context = $this->getMockBuilder('Cake\View\Form\ContextInterface')->getMock(); } /** * test render * * @return void */ public function testRender() { $label = new LabelWidget($this->templates); $data = [ 'text' => 'My text', ]; $result = $label->render($data, $this->context); $expected = [ 'label' => [], 'My text', '/label' ]; $this->assertHtml($expected, $result); } /** * test render escape * * @return void */ public function testRenderEscape() { $label = new LabelWidget($this->templates); $data = [ 'text' => 'My > text', 'for' => 'Some > value', 'escape' => false, ]; $result = $label->render($data, $this->context); $expected = [ 'label' => ['for' => 'Some > value'], 'My > text', '/label' ]; $this->assertHtml($expected, $result); } /** * test render escape * * @return void */ public function testRenderAttributes() { $label = new LabelWidget($this->templates); $data = [ 'text' => 'My > text', 'for' => 'some-id', 'id' => 'some-id', 'data-foo' => 'value', ]; $result = $label->render($data, $this->context); $expected = [ 'label' => ['id' => 'some-id', 'data-foo' => 'value', 'for' => 'some-id'], 'My > text', '/label' ]; $this->assertHtml($expected, $result); } /** * Ensure templateVars option is hooked up. * * @return void */ public function testRenderTemplateVars() { $this->templates->add([ 'label' => '', ]); $label = new LabelWidget($this->templates); $data = [ 'templateVars' => ['custom' => 'value'], 'text' => 'Label Text', ]; $result = $label->render($data, $this->context); $expected = [ 'label' => ['custom' => 'value'], 'Label Text', '/label' ]; $this->assertHtml($expected, $result); } }