diff options
author | Joas Schilling <coding@schilljs.com> | 2021-10-25 13:58:30 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2021-10-25 16:26:29 +0300 |
commit | da101eea6966338bc18b2ef113471e59693c0b96 (patch) | |
tree | 304db760f6e0d457c02fbf500ee61c31b910d64f /tests | |
parent | c3c93a61b016fde973d2c6163bd6736ecfc1798f (diff) |
Fix XML parsing fails
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/features/bootstrap/SharingContext.php | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/integration/features/bootstrap/SharingContext.php b/tests/integration/features/bootstrap/SharingContext.php index 73ece647f..7a66ea4e5 100644 --- a/tests/integration/features/bootstrap/SharingContext.php +++ b/tests/integration/features/bootstrap/SharingContext.php @@ -620,7 +620,12 @@ class SharingContext implements Context { } foreach ($expectedFields as $field => $value) { - $this->assertFieldIsInReturnedShare($field, $value, $returnedShare); + $share = json_decode(json_encode($returnedShare), true); + if (isset($share[$field]) && empty($share[$field]) && is_array($share[$field])) { + // Fix XML parsing fails + $share[$field] = ''; + } + $this->assertFieldIsInReturnedShare($field, $value, $share); } } @@ -940,7 +945,7 @@ class SharingContext implements Context { * @param string $contentExpected * @param \SimpleXMLElement $returnedShare */ - private function assertFieldIsInReturnedShare(string $field, string $contentExpected, \SimpleXMLElement $returnedShare) { + private function assertFieldIsInReturnedShare(string $field, string $contentExpected, array $returnedShare) { if ($contentExpected === 'IGNORE') { return; } @@ -954,15 +959,15 @@ class SharingContext implements Context { } if ($contentExpected === 'A_NUMBER') { - \PHPUnit\Framework\Assert::assertTrue(is_numeric((string)$returnedShare->$field), "Field '$field' is not a number: " . $returnedShare->$field); + \PHPUnit\Framework\Assert::assertTrue(is_numeric((string)$returnedShare[$field]), "Field '$field' is not a number: " . $returnedShare[$field]); } elseif ($contentExpected === 'A_TOKEN') { // A token is composed by 15 characters from // ISecureRandom::CHAR_HUMAN_READABLE. - \PHPUnit\Framework\Assert::assertRegExp('/^[abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789]{15}$/', (string)$returnedShare->$field, "Field '$field' is not a token"); + \PHPUnit\Framework\Assert::assertRegExp('/^[abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789]{15}$/', (string)$returnedShare[$field], "Field '$field' is not a token"); } elseif (strpos($contentExpected, 'REGEXP ') === 0) { - \PHPUnit\Framework\Assert::assertRegExp(substr($contentExpected, strlen('REGEXP ')), (string)$returnedShare->$field, "Field '$field' does not match"); + \PHPUnit\Framework\Assert::assertRegExp(substr($contentExpected, strlen('REGEXP ')), (string)$returnedShare[$field], "Field '$field' does not match"); } else { - \PHPUnit\Framework\Assert::assertEquals($contentExpected, (string)$returnedShare->$field, "Field '$field' does not match"); + \PHPUnit\Framework\Assert::assertEquals($contentExpected, (string)$returnedShare[$field], "Field '$field' does not match"); } } |