summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/tests/unit/Common/JsonPathTest.php
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
commit26d10bc0fa4befbac54453228ae1ce89021bdec2 (patch)
tree029d7240ecf7416205e5f76cf9107a6b5bdf8ca3 /server/vendor/php-opencloud/common/tests/unit/Common/JsonPathTest.php
parent8ad216dedf017f3d6de047a25d08db3b98e16361 (diff)
parent03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff)
Merge branch 'develop' into loic
Diffstat (limited to 'server/vendor/php-opencloud/common/tests/unit/Common/JsonPathTest.php')
-rw-r--r--server/vendor/php-opencloud/common/tests/unit/Common/JsonPathTest.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/JsonPathTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/JsonPathTest.php
new file mode 100644
index 0000000..1410076
--- /dev/null
+++ b/server/vendor/php-opencloud/common/tests/unit/Common/JsonPathTest.php
@@ -0,0 +1,70 @@
+<?php
+
+namespace OpenCloud\Test\Common;
+
+use OpenCloud\Common\JsonPath;
+
+class JsonPathTest extends \PHPUnit_Framework_TestCase
+{
+ private $jsonPath;
+
+ public function setUp()
+ {
+ $this->jsonPath = new JsonPath([]);
+ }
+
+ public function test_it_sets_values_according_to_paths()
+ {
+ $this->jsonPath->set('foo.bar.baz', 'VALUE');
+
+ $expected = [
+ 'foo' => [
+ 'bar' => [
+ 'baz' => 'VALUE',
+ ]
+ ]
+ ];
+
+ $this->assertEquals($expected, $this->jsonPath->getStructure());
+ }
+
+ public function test_it_sets_arrays_according_to_paths()
+ {
+ $jsonPath = new JsonPath([
+ 'foo' => [
+ 'bar' => [
+ 'value' => 'VALUE',
+ ]
+ ]
+ ]);
+
+ $jsonPath->set('foo.bar.items', ['item_1', 'item_2']);
+
+ $expected = [
+ 'foo' => [
+ 'bar' => [
+ 'value' => 'VALUE',
+ 'items' => ['item_1', 'item_2'],
+ ]
+ ]
+ ];
+
+ $this->assertEquals($expected, $jsonPath->getStructure());
+ }
+
+ public function test_it_gets_values_according_to_paths()
+ {
+ $jsonPath = new JsonPath([
+ 'foo' => [
+ 'bar' => [
+ 'baz' => 'VALUE_1',
+ 'lol' => 'VALUE_2',
+ ]
+ ]
+ ]);
+
+ $this->assertEquals('VALUE_1', $jsonPath->get('foo.bar.baz'));
+ $this->assertEquals('VALUE_2', $jsonPath->get('foo.bar.lol'));
+ $this->assertNull($jsonPath->get('foo.bar.boo'));
+ }
+}