diff --git a/tests/framework/widgets/MaskedInputTest.php b/tests/framework/widgets/MaskedInputTest.php new file mode 100644 index 00000000000..093ac3b569d --- /dev/null +++ b/tests/framework/widgets/MaskedInputTest.php @@ -0,0 +1,72 @@ +mockApplication(); + + Yii::setAlias('@testWeb', '/'); + Yii::setAlias('@testWebRoot', '@yiiunit/data/web'); + Yii::setAlias('@bower', '@app/../vendor/bower-asset'); + + $this->maskedInput = new MaskedInput([ + 'name' => 'phone', + 'mask' => '999-999-9999' + ]); + + $this->maskedInput->setView($this->getView()); + + } + + public function testMaskedInputValidState() + { + $this->maskedInput->name = 'phone'; + $this->maskedInput->mask = '999-999-9999'; + + $this->maskedInput->init(); + + ob_start(); + $this->maskedInput->run(); + $output = ob_get_clean(); + + $expected = ''; + + $this->assertEqualsWithoutLE($expected, $output); + } + + /** + * Helper methods. + */ + protected function getView() + { + $view = new View(); + $view->setAssetManager(new AssetManager([ + 'basePath' => '@testWebRoot/assets', + 'baseUrl' => '@testWeb/assets', + ])); + + return $view; + } +}