Exemplo n.º 1
0
 public function testConstants()
 {
     $class = new PhpClass();
     $this->assertTrue($class->getConstants()->isEmpty());
     $this->assertSame($class, $class->setConstants(['foo' => 'bar', new PhpConstant('rabimmel', 'rabammel')]));
     $this->assertTrue($class->hasConstant('rabimmel'));
     $this->assertEquals(['foo', 'rabimmel'], $class->getConstantNames()->toArray());
     $this->assertEquals('bar', $class->getConstant('foo')->getValue());
     $this->assertSame($class, $class->setConstant('bar', 'baz'));
     $this->assertEquals(['foo', 'rabimmel', 'bar'], $class->getConstantNames()->toArray());
     $this->assertEquals(3, $class->getConstants()->size());
     $this->assertSame($class, $class->removeConstant('foo'));
     $this->assertEquals(['rabimmel', 'bar'], $class->getConstantNames()->toArray());
     $this->assertSame($class, $class->setConstant($bim = new PhpConstant('bim', 'bam')));
     $this->assertTrue($class->hasConstant('bim'));
     $this->assertSame($bim, $class->getConstant('bim'));
     $this->assertSame($bim, $class->getConstant($bim));
     $this->assertTrue($class->hasConstant($bim));
     $this->assertSame($class, $class->removeConstant($bim));
     $this->assertFalse($class->hasConstant($bim));
     $this->assertFalse($class->getConstants()->isEmpty());
     $class->clearConstants();
     $this->assertTrue($class->getConstants()->isEmpty());
     $class->setConstant('FOO', 'bar');
     $this->assertEquals('bar', $class->getConstant('FOO')->getValue());
     $class->setConstant('NMBR', 300, true);
     $this->assertEquals(300, $class->getConstant('NMBR')->getExpression());
     try {
         $this->assertEmpty($class->getConstant('constant-not-found'));
     } catch (\InvalidArgumentException $e) {
         $this->assertNotNull($e);
     }
 }
Exemplo n.º 2
0
 public function testConstants()
 {
     $class = new PhpClass();
     $this->assertEquals(array(), $class->getConstants());
     $this->assertSame($class, $class->setConstants(array('foo' => 'bar')));
     $this->assertEquals(array('foo' => 'bar'), $class->getConstants());
     $this->assertSame($class, $class->setConstant('bar', 'baz'));
     $this->assertEquals(array('foo' => 'bar', 'bar' => 'baz'), $class->getConstants());
     $this->assertSame($class, $class->removeConstant('foo'));
     $this->assertEquals(array('bar' => 'baz'), $class->getConstants());
     $this->assertSame($class, $class->setConstant($bim = new PhpConstant('bim', 'bam')));
     $this->assertTrue($class->hasConstant('bim'));
     $this->assertSame($bim, $class->getConstant('bim'));
 }