diff --git a/src/Support/XmlElement.php b/src/Support/XmlElement.php index c8186e7..6420424 100644 --- a/src/Support/XmlElement.php +++ b/src/Support/XmlElement.php @@ -16,7 +16,7 @@ class XmlElement extends \SimpleXMLElement */ public function get($attr, $default = null) { - if (empty($this->{$attr})) { + if (is_null($this->{$attr})) { return $default; } diff --git a/tests/ExampleTest.php b/tests/ExampleTest.php index 45a14b2..3fe6188 100644 --- a/tests/ExampleTest.php +++ b/tests/ExampleTest.php @@ -152,11 +152,25 @@ public function testXmlStrIsValidAgainstXsdSchema() public function testXmlElementGetter() { - $user = new XmlElement('jdoe'); - - static::assertSame('jdoe', (string) $user->get('alias')); - static::assertNull($user->get('email')); - static::assertFalse((bool) $user->get('is_admin', false)); + $xmlStr = << + + 0 + false + + value + 3 + +XML; + + $variables = new XmlElement($xmlStr); + + static::assertEmpty((string) $variables->get('empty')); + static::assertSame('0', (string) $variables->get('zero')); + static::assertSame(0, (int) $variables->get('zero')); + static::assertSame('false', (string) $variables->get('false')); + static::assertSame('value', (string) $variables->get('key')); + static::assertSame(3, (int) $variables->get('number')); } // Bmatovu\LaravelXml\Http\Middleware\RequireXml