Data tests

This commit is contained in:
smiley
2016-02-08 21:03:58 +01:00
parent 897f41ff0a
commit d7ebab92ed
+49 -6
View File
@@ -31,9 +31,11 @@ class DataTest extends \PHPUnit_Framework_TestCase{
public function bitProvider(){
return [
[QRConst::MODE_NUMBER, Number::class, '123456789'],
[QRConst::MODE_NUMBER, Number::class, '1234567890'],
[QRConst::MODE_NUMBER, Number::class, '12345678901'],
[QRConst::MODE_ALPHANUM, AlphaNum::class, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 $%*+-./:'],
[QRConst::MODE_BYTE, Byte::class, '#'],
[QRConst::MODE_BYTE, Byte::class, '#\\'],
[QRConst::MODE_KANJI, Kanji::class, '茗荷'],
];
}
@@ -46,17 +48,58 @@ class DataTest extends \PHPUnit_Framework_TestCase{
* @dataProvider bitProvider
*/
public function testMode($mode, $class, $data){
$module = new $class($data);
$this->assertEquals($mode, $module->mode);
$this->module = new $class($data);
$this->assertEquals($mode, $this->module->mode);
}
/**
* @dataProvider bitProvider
*/
public function testWrite($mode, $class, $data){
$module = new $class($data);
$module->write($this->bitBuffer);
// todo...
$this->bitBuffer->clear();
$this->module = new $class($data);
$this->module->write($this->bitBuffer);
}
/**
* @expectedException \chillerlan\QRCode\Data\QRCodeDataException
* @expectedExceptionMessage illegal char: 92
*/
public function testAlphaNumCharException(){
$this->bitBuffer->clear();
$this->module = new AlphaNum('\\');
$this->module->write($this->bitBuffer);
}
/**
* @expectedException \chillerlan\QRCode\Data\QRCodeDataException
* @expectedExceptionMessage illegal char at 7 (50051)
*/
public function testKanjiCharExceptionA(){
$this->bitBuffer->clear();
$this->module = new Kanji('茗荷Ã');
$this->module->write($this->bitBuffer);
}
/**
* @expectedException \chillerlan\QRCode\Data\QRCodeDataException
* @expectedExceptionMessage illegal char at 7
*/
public function testKanjiCharExceptionB(){
$this->bitBuffer->clear();
$this->module = new Kanji('茗荷\\');
$this->module->write($this->bitBuffer);
}
/**
* @expectedException \chillerlan\QRCode\Data\QRCodeDataException
* @expectedExceptionMessage illegal char: 92
*/
public function testNumberCharException(){
$this->bitBuffer->clear();
$this->module = new Number('\\');
$this->module->write($this->bitBuffer);
}
}