Example #1
0
 /**
  * Particular validation for Upce barcode objects
  * (to suppress checksum character substitution)
  *
  * @param string $value
  * @param array  $options
  * @throws Exception\BarcodeValidationException
  */
 protected function validateSpecificText($value, $options = array())
 {
     $validator = new BarcodeValidator(array('adapter' => 'upce', 'checksum' => false));
     $value = $this->addLeadingZeros($value, true);
     if (!$validator->isValid($value)) {
         $message = implode("\n", $validator->getMessages());
         throw new Exception\BarcodeValidationException($message);
     }
 }
Example #2
0
 /**
  * Test if EAN-13 contains only numeric characters
  *
  * @group ZF-3297
  */
 public function testEan13ContainsOnlyNumeric()
 {
     $barcode = new Barcode('ean13');
     $this->assertFalse($barcode->isValid('3RH1131-1BB40'));
 }
Example #3
0
 /**
  * @group ZF-10116
  */
 public function testArrayLengthMessage()
 {
     $barcode = new Barcode('ean8');
     $this->assertFalse($barcode->isValid('123'));
     $message = $barcode->getMessages();
     $this->assertTrue(array_key_exists('barcodeInvalidLength', $message));
     $this->assertContains("length of 7/8 characters", $message['barcodeInvalidLength']);
 }
Example #4
0
 /**
  * Standard validation for most of barcode objects
  * @param string $value
  * @param array  $options
  */
 protected function _validateText($value, $options = array())
 {
     $validatorName = isset($options['validator']) ? $options['validator'] : $this->getType();
     $validator = new BarcodeValidator(array('adapter' => $validatorName, 'checksum' => false));
     $checksumCharacter = '';
     $withChecksum = false;
     if ($this->_mandatoryChecksum) {
         $checksumCharacter = $this->_substituteChecksumCharacter;
         $withChecksum = true;
     }
     $value = $this->_addLeadingZeros($value, $withChecksum) . $checksumCharacter;
     if (!$validator->isValid($value)) {
         $message = implode("\n", $validator->getMessages());
         throw new Exception($message);
     }
 }
Example #5
0
 /**
  * @group ZF-8674
  */
 public function testCODE128()
 {
     $barcode = new Barcode('code128');
     $this->assertTrue($barcode->isValid('ˆCODE128:Š'));
     $this->assertTrue($barcode->isValid('‡01231[Š'));
     $barcode->setChecksum(false);
     $this->assertTrue($barcode->isValid('012345'));
     $this->assertTrue($barcode->isValid('ABCDEF'));
     $this->assertFalse($barcode->isValid('01234Ê'));
 }