コード例 #1
0
 /**
  * Data provider for
  *
  * @return array
  */
 public function createValidatorDataProvider()
 {
     $result = array();
     /** @var Magento_Translate_AdapterAbstract $translator */
     $translator = $this->getMockBuilder('Magento_Translate_AdapterAbstract')->getMockForAbstractClass();
     Magento_Validator_ValidatorAbstract::setDefaultTranslator($translator);
     // Case 1. Check constructor with arguments
     $actualConstraints = array(array('alias' => 'name_alias', 'class' => 'Magento_Validator_Test_StringLength', 'options' => array('arguments' => array(1, new Magento_Validator_Constraint_Option(20))), 'property' => 'name', 'type' => 'property'));
     $expectedValidator = new Magento_Validator();
     $expectedValidator->addValidator(new Magento_Validator_Constraint_Property(new Magento_Validator_Test_StringLength(1, 20), 'name', 'name_alias'));
     $result[] = array($actualConstraints, $expectedValidator);
     // Case 2. Check method calls
     $actualConstraints = array(array('alias' => 'description_alias', 'class' => 'Magento_Validator_Test_StringLength', 'options' => array('methods' => array(array('method' => 'setMin', 'arguments' => array(10)), array('method' => 'setMax', 'arguments' => array(1000)))), 'property' => 'description', 'type' => 'property'));
     $expectedValidator = new Magento_Validator();
     $expectedValidator->addValidator(new Magento_Validator_Constraint_Property(new Magento_Validator_Test_StringLength(10, 1000), 'description', 'description_alias'));
     $result[] = array($actualConstraints, $expectedValidator);
     // Case 3. Check callback on validator
     $actualConstraints = array(array('alias' => 'sku_alias', 'class' => 'Magento_Validator_Test_StringLength', 'options' => array('callback' => array(new Magento_Validator_Constraint_Option_Callback(function ($validator) {
         $validator->setMin(20);
         $validator->setMax(100);
     }))), 'property' => 'sku', 'type' => 'property'));
     $expectedValidator = new Magento_Validator();
     $expectedValidator->addValidator(new Magento_Validator_Constraint_Property(new Magento_Validator_Test_StringLength(20, 100), 'sku', 'sku_alias'));
     $result[] = array($actualConstraints, $expectedValidator);
     return $result;
 }
コード例 #2
0
 /**
  * Check that default translator returned if set and no translator set
  */
 public function testGetTranslatorDefault()
 {
     /** @var Magento_Validator_ValidatorAbstract $validator */
     $validator = $this->getMockBuilder('Magento_Validator_ValidatorAbstract')->getMockForAbstractClass();
     $translator = $this->_getTranslator();
     Magento_Validator_ValidatorAbstract::setDefaultTranslator($translator);
     $this->assertEquals($translator, $validator->getTranslator());
     $this->assertFalse($validator->hasTranslator());
 }
コード例 #3
0
 /**
  * Create and set default translator to Magento_Validator_ValidatorAbstract.
  */
 protected function _initializeDefaultTranslator()
 {
     $translateAdapter = $this->_translator;
     $objectManager = $this->_objectManager;
     // Pass translations to Mage_Core_Model_Translate from validators
     $translatorCallback = function () use($translateAdapter, $objectManager) {
         /** @var Mage_Core_Model_Translate $translateAdapter */
         $args = func_get_args();
         $expr = $objectManager->create('Mage_Core_Model_Translate_Expr');
         $expr->setText($args[0]);
         array_unshift($args, $expr);
         return $translateAdapter->translate($args);
     };
     /** @var Magento_Translate_Adapter $translator */
     $translator = $this->_objectManager->create('Magento_Translate_Adapter');
     $translator->setOptions(array('translator' => $translatorCallback));
     Magento_Validator_ValidatorAbstract::setDefaultTranslator($translator);
 }
コード例 #4
0
 /**
  * Test addValidator
  */
 public function testAddValidator()
 {
     $fooValidator = new Magento_Validator_Test_True();
     $classConstraint = new Magento_Validator_Constraint($fooValidator, 'id');
     $propertyValidator = new Magento_Validator_Constraint_Property($classConstraint, 'name', 'id');
     /** @var Magento_Translate_AdapterAbstract $translator */
     $translator = $this->getMockBuilder('Magento_Translate_AdapterAbstract')->getMockForAbstractClass();
     Magento_Validator_ValidatorAbstract::setDefaultTranslator($translator);
     $this->_validator->addValidator($classConstraint);
     $this->_validator->addValidator($propertyValidator);
     $expected = array(array('instance' => $classConstraint, 'breakChainOnFailure' => false), array('instance' => $propertyValidator, 'breakChainOnFailure' => false));
     $this->assertAttributeEquals($expected, '_validators', $this->_validator);
     $this->assertEquals($translator, $fooValidator->getTranslator(), 'Translator was not set');
 }
コード例 #5
0
 /**
  * Restore default translator
  */
 protected function tearDown()
 {
     Magento_Validator_ValidatorAbstract::setDefaultTranslator($this->_defaultTranslator);
     unset($this->_defaultTranslator);
 }