| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | 
							- <?php
 
- /*
 
-  * This file is part of the Recursion Context package.
 
-  *
 
-  * (c) Sebastian Bergmann <sebastian@phpunit.de>
 
-  *
 
-  * For the full copyright and license information, please view the LICENSE
 
-  * file that was distributed with this source code.
 
-  */
 
- namespace SebastianBergmann\RecursionContext;
 
- use PHPUnit_Framework_TestCase;
 
- /**
 
-  * @covers SebastianBergmann\RecursionContext\Context
 
-  */
 
- class ContextTest extends PHPUnit_Framework_TestCase
 
- {
 
-     /**
 
-      * @var \SebastianBergmann\RecursionContext\Context
 
-      */
 
-     private $context;
 
-     protected function setUp()
 
-     {
 
-         $this->context = new Context();
 
-     }
 
-     public function failsProvider()
 
-     {
 
-         return array(
 
-             array(true),
 
-             array(false),
 
-             array(null),
 
-             array('string'),
 
-             array(1),
 
-             array(1.5),
 
-             array(fopen('php://memory', 'r'))
 
-         );
 
-     }
 
-     public function valuesProvider()
 
-     {
 
-         $obj2      = new \stdClass();
 
-         $obj2->foo = 'bar';
 
-         $obj3 = (object) array(1,2,"Test\r\n",4,5,6,7,8);
 
-         $obj = new \stdClass();
 
-         //@codingStandardsIgnoreStart
 
-         $obj->null = null;
 
-         //@codingStandardsIgnoreEnd
 
-         $obj->boolean     = true;
 
-         $obj->integer     = 1;
 
-         $obj->double      = 1.2;
 
-         $obj->string      = '1';
 
-         $obj->text        = "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext";
 
-         $obj->object      = $obj2;
 
-         $obj->objectagain = $obj2;
 
-         $obj->array       = array('foo' => 'bar');
 
-         $obj->array2      = array(1,2,3,4,5,6);
 
-         $obj->array3      = array($obj, $obj2, $obj3);
 
-         $obj->self        = $obj;
 
-         $storage = new \SplObjectStorage();
 
-         $storage->attach($obj2);
 
-         $storage->foo = $obj2;
 
-         return array(
 
-             array($obj, spl_object_hash($obj)),
 
-             array($obj2, spl_object_hash($obj2)),
 
-             array($obj3, spl_object_hash($obj3)),
 
-             array($storage, spl_object_hash($storage)),
 
-             array($obj->array, 0),
 
-             array($obj->array2, 0),
 
-             array($obj->array3, 0)
 
-         );
 
-     }
 
-     /**
 
-      * @covers       SebastianBergmann\RecursionContext\Context::add
 
-      * @uses         SebastianBergmann\RecursionContext\InvalidArgumentException
 
-      * @dataProvider failsProvider
 
-      */
 
-     public function testAddFails($value)
 
-     {
 
-         $this->setExpectedException(
 
-           'SebastianBergmann\\RecursionContext\\Exception',
 
-           'Only arrays and objects are supported'
 
-         );
 
-         $this->context->add($value);
 
-     }
 
-     /**
 
-      * @covers       SebastianBergmann\RecursionContext\Context::contains
 
-      * @uses         SebastianBergmann\RecursionContext\InvalidArgumentException
 
-      * @dataProvider failsProvider
 
-      */
 
-     public function testContainsFails($value)
 
-     {
 
-         $this->setExpectedException(
 
-           'SebastianBergmann\\RecursionContext\\Exception',
 
-           'Only arrays and objects are supported'
 
-         );
 
-         $this->context->contains($value);
 
-     }
 
-     /**
 
-      * @covers       SebastianBergmann\RecursionContext\Context::add
 
-      * @dataProvider valuesProvider
 
-      */
 
-     public function testAdd($value, $key)
 
-     {
 
-         $this->assertEquals($key, $this->context->add($value));
 
-         // Test we get the same key on subsequent adds
 
-         $this->assertEquals($key, $this->context->add($value));
 
-     }
 
-     /**
 
-      * @covers       SebastianBergmann\RecursionContext\Context::contains
 
-      * @uses         SebastianBergmann\RecursionContext\Context::add
 
-      * @depends      testAdd
 
-      * @dataProvider valuesProvider
 
-      */
 
-     public function testContainsFound($value, $key)
 
-     {
 
-         $this->context->add($value);
 
-         $this->assertEquals($key, $this->context->contains($value));
 
-         // Test we get the same key on subsequent calls
 
-         $this->assertEquals($key, $this->context->contains($value));
 
-     }
 
-     /**
 
-      * @covers       SebastianBergmann\RecursionContext\Context::contains
 
-      * @dataProvider valuesProvider
 
-      */
 
-     public function testContainsNotFound($value)
 
-     {
 
-         $this->assertFalse($this->context->contains($value));
 
-     }
 
- }
 
 
  |