From fb2e152d127f52c00ad9f816eddd20edec593a85 Mon Sep 17 00:00:00 2001 From: salehhashemi1992 <81674631+salehhashemi1992@users.noreply.github.com> Date: Fri, 6 Oct 2023 23:41:27 +0330 Subject: [PATCH] implement masked input tests --- tests/framework/widgets/MaskedInputTest.php | 72 +++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 tests/framework/widgets/MaskedInputTest.php 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; + } +}