mirror of
https://github.com/chillerlan/php-qrcode.git
synced 2026-11-04 10:05:14 +00:00
added string output type exception test
This commit is contained in:
+10
-9
@@ -25,6 +25,7 @@ class QRString extends QROutputBase implements QROutputInterface{
|
||||
|
||||
/**
|
||||
* @var \chillerlan\QRCode\Output\QRStringOptions $outputOptions
|
||||
* @throws \chillerlan\QRCode\Output\QRCodeOutputException
|
||||
*/
|
||||
public function __construct(QRStringOptions $outputOptions = null){
|
||||
$this->options = $outputOptions;
|
||||
@@ -33,6 +34,10 @@ class QRString extends QROutputBase implements QROutputInterface{
|
||||
$this->options = new QRStringOptions;
|
||||
}
|
||||
|
||||
if(!in_array($this->options->type ,[QRCode::OUTPUT_STRING_TEXT, QRCode::OUTPUT_STRING_JSON, QRCode::OUTPUT_STRING_HTML])){
|
||||
throw new QRCodeOutputException('Invalid string output type!');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -40,15 +45,11 @@ class QRString extends QROutputBase implements QROutputInterface{
|
||||
* @throws \chillerlan\QRCode\Output\QRCodeOutputException
|
||||
*/
|
||||
public function dump(){
|
||||
|
||||
switch($this->options->type){
|
||||
case QRCode::OUTPUT_STRING_TEXT: return $this->toText();
|
||||
case QRCode::OUTPUT_STRING_JSON: return $this->toJSON();
|
||||
case QRCode::OUTPUT_STRING_HTML: return $this->toHTML();
|
||||
default:
|
||||
throw new QRCodeOutputException('Invalid string output type!');
|
||||
}
|
||||
|
||||
return call_user_func([$this, [
|
||||
QRCode::OUTPUT_STRING_TEXT => 'toText',
|
||||
QRCode::OUTPUT_STRING_JSON => 'toJSON',
|
||||
QRCode::OUTPUT_STRING_HTML => 'toHTML',
|
||||
][$this->options->type]]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user