Merge pull request #303 from theofidry/bugfix/stringeable-object

Allow stringeable objects to be serialized by StringType
This commit is contained in:
Vladimir Razuvaev 2018-07-08 04:40:16 +07:00 committed by GitHub
commit 17392e05dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 0 deletions

View File

@ -40,6 +40,9 @@ represent free-form human-readable text.';
if ($value === null) {
return 'null';
}
if (is_object($value) && method_exists($value, '__toString')) {
return (string) $value;
}
if (!is_scalar($value)) {
throw new Error("String cannot represent non scalar value: " . Utils::printSafe($value));
}

View File

@ -150,6 +150,7 @@ class ScalarSerializationTest extends \PHPUnit_Framework_TestCase
$this->assertSame('true', $stringType->serialize(true));
$this->assertSame('false', $stringType->serialize(false));
$this->assertSame('null', $stringType->serialize(null));
$this->assertSame('2', $stringType->serialize(new ObjectIdStub(2)));
}
public function testSerializesOutputStringsCannotRepresentArray()