/**
* @covers merry\Config
*/
-class ConfigTest extends \PHPUnit_Framework_TestCase {
-
- public function testBasic() {
- $config = ["foo" => "bar", "bar" => "foo"];
- $object = new Config($config);
- $this->assertEquals($config, $object->toArray());
- $this->assertEquals("bar", $object->foo);
- $this->assertEquals("foo", $object->bar);
- $this->assertTrue(isset($object->foo));
- $this->assertFalse(isset($object->foobar));
- unset($object->bar);
- $this->assertFalse(isset($object->bar));
- }
-
- public function testBasicOffset() {
- $config = ["foo" => "bar", "bar" => "foo"];
- $object = new Config($config);
- $this->assertEquals("bar", $object["foo"]);
- $this->assertEquals("foo", $object["bar"]);
- $this->assertTrue(isset($object["foo"]));
- $this->assertFalse(isset($object["foobar"]));
- unset($object["bar"]);
- $this->assertFalse(isset($object["bar"]));
- }
-
+class ConfigTest extends \PHPUnit_Framework_TestCase
+{
public function testBasicSection() {
$config = [
"primary" => [
$object = new Config($config, "alternative");
$this->assertEquals($config["alternative : primary"] + $config["primary"], $object->toArray());
}
-
- public function testSetArray() {
- $config = ["foo" => "bar", "arr" => [1,2,3]];
- $object = new Config($config);
- $object["foo"] = [$object->foo, "baz"];
- $object["arr"][] = 4;
-
- $this->assertEquals(["bar", "baz"], $object["foo"]->toArray());
- $this->assertEquals([1,2,3,4], $object["arr"]->toArray());
-
- $this->assertEquals(["foo"=>["bar","baz"], "arr"=>[1,2,3,4]], $object->toArray());
- }
-
- public function testApply() {
- $config = [
- "level1" => [
- "level2" => [
- "level3" => "123"
- ],
- "level2-1" => [
- "level3-1" => "321"
- ]
- ]
- ];
- $object = new Config($config);
- $this->assertEquals("123", $object->level1["level2"]->level3);
- $reverse = function ($v){return strrev($v);};
- $object->apply([
- "level1" => [
- "level2" => [
- "level3" => $reverse
- ],
- "level2-1" => [
- "level3-1" => $reverse
- ]
- ]
- ]);
- $compare = [
- "level1" => [
- "level2" => [
- "level3" => "321"
- ],
- "level2-1" => [
- "level3-1" => "123"
- ]
- ]
- ];
- $this->assertEquals($compare, $object->toArray());
-
- $object->apply(function() {
- return null;
- });
- $this->assertEquals(["level1" => null], $object->toArray());
- }
-
- public function testIterator() {
- $config = [
- "level1-0" => [
- "level2-0" => "1-0.2-0",
- "level2-1" => "1-0.2-1",
- "level2-2" => [
- "level3" => "1-0.2-2.3"
- ]
- ],
- "level1-1" => [
- 1,2,3
- ]
- ];
- $object = new Config($config);
- $array = [];
- foreach (new \RecursiveIteratorIterator($object) as $key => $val) {
- $array[$key] = $val;
- }
- $compare = [
- 'level2-0' => '1-0.2-0',
- 'level2-1' => '1-0.2-1',
- 'level3' => '1-0.2-2.3',
- 1, 2, 3
- ];
- $this->assertEquals($compare, $array);
- }
}