true
false
XML;
$xml = Braintree\Xml::buildXmlFromArray([
'root' => ['yes' => true, 'no' => false]
]);
$this->assertEquals($expected, $xml);
}
public function testCreatesArrays()
{
$expected = <<
- foo
- bar
XML;
$xml = Braintree\Xml::buildXmlFromArray([
'root' => ['stuff' => ['foo', 'bar']]
]);
$this->assertEquals($expected, $xml);
}
public function testCreatesWithDashes()
{
$expected = <<
42
3
XML;
$xml = Braintree\Xml::buildXmlFromArray([
'root' => ['someStuff' => ['innerFoo' => 42, 'barBarBar' => 3]]
]);
$this->assertEquals($expected, $xml);
}
public function testCreatesArraysWithBooleans()
{
$expected = <<
- true
- false
XML;
$xml = Braintree\Xml::buildXmlFromArray([
'root' => ['stuff' => [true, false]]
]);
$this->assertEquals($expected, $xml);
}
public function testHandlesEmptyArrays()
{
$expected = <<
XML;
$xml = Braintree\Xml::buildXmlFromArray([
'root' => ['stuff' => []]
]);
$this->assertEquals($expected, $xml);
}
public function testEscapingSpecialChars()
{
$expected = <<
<>&'"
XML;
$xml = Braintree\Xml::buildXmlFromArray([
'root' => ['stuff' => '<>&\'"']
]);
$this->assertEquals($expected, $xml);
}
public function testDoesNotModifyDateTime()
{
$date = new \DateTime();
$date->setTimestamp(strtotime('2016-05-17T21:22:26Z'));
$date->setTimezone(new \DateTimeZone('Europe/Paris'));
$originalDate = clone $date;
$expected = <<
2016-05-17T21:22:26Z
XML;
$xml = Braintree\Xml::buildXmlFromArray([
'root' => ['stuff' => $date]
]);
$this->assertEquals($originalDate, $date);
$this->assertEquals($expected, $xml);
}
}