public function testInvalidChecksumAdapter() { require_once dirname(__FILE__) . "/_files/MyBarcode1.php"; $barcode = new Barcode\Barcode('MyBarcode1'); $this->assertFalse($barcode->isValid('0000000')); $this->assertTrue(array_key_exists('barcodeFailed', $barcode->getMessages())); $this->assertFalse($barcode->getAdapter()->checksum('0000000')); }
/** * 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\Barcode(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); } }
/** * Particular validation for Upce barcode objects * (to suppress checksum character substitution) * @param string $value * @param array $options */ protected function _validateText($value, $options = array()) { $validator = new BarcodeValidator\Barcode(array('adapter' => 'upce', 'checksum' => false)); $value = $this->_addLeadingZeros($value, true); if (!$validator->isValid($value)) { $message = implode("\n", $validator->getMessages()); throw new Exception($message); } }