public function testCreate()
 {
     $member = ClassMemberNode::create('lancelot');
     $this->assertInstanceOf('\\Pharborist\\Objects\\ClassMemberListNode', $member);
     $this->assertEquals('public $lancelot;', $member->getText());
     $member = ClassMemberNode::create('robin', StringNode::create("'cowardly'"), 'protected');
     $this->assertInstanceOf('\\Pharborist\\Objects\\ClassMemberListNode', $member);
     $this->assertEquals('protected $robin = \'cowardly\';', $member->getText());
 }
    public function testGetValue()
    {
        $string = StringNode::create('\'Goodbye, cruel world!\'');
        $this->assertEquals('Goodbye, cruel world!', $string->toValue());
        $string = StringNode::create('"I\'ll harrr to that!"');
        $this->assertEquals("I'll harrr to that!", $string->toValue());
        // Test escaped characters in double quoted string.
        $string = <<<'EOF'
"h\145llo\\n\nw\x6Frld"
EOF;
        $this->assertEquals("hello\\n\nworld", StringNode::create($string)->toValue());
        // Test escaped characters in single quoted string.
        $string = <<<'EOF'
'it\'s \a\\\'live'
EOF;
        $this->assertEquals("it's \\a\\'live", StringNode::create($string)->toValue());
    }
示例#3
0
 /**
  * Sets the test's $profile property.
  *
  * @param \Pharborist\Objects\ClassNode $test
  */
 private function setProfile(ClassNode $test)
 {
     if (!$test->hasProperty('profile')) {
         $test->appendProperty(ClassMemberNode::create('profile', StringNode::create("'standard'"), 'protected'));
     }
 }
示例#4
0
文件: Node.php 项目: kidaa30/redcat
 /**
  * Creates a Node from a php value.
  *
  * @param string|integer|float|boolean|array|null $value
  *  The value to create a node for.
  *
  * @return FloatNode|IntegerNode|StringNode|BooleanNode|NullNode|ArrayNode
  *
  * @throws \InvalidArgumentException if $value is not a scalar.
  */
 public static function fromValue($value)
 {
     if (is_array($value)) {
         $elements = [];
         foreach ($value as $k => $v) {
             $elements[] = ArrayPairNode::create(static::fromValue($k), static::fromValue($v));
         }
         return ArrayNode::create($elements);
     } elseif (is_string($value)) {
         return StringNode::create(var_export($value, TRUE));
     } elseif (is_integer($value)) {
         return new IntegerNode(T_LNUMBER, $value);
     } elseif (is_float($value)) {
         return new FloatNode(T_DNUMBER, $value);
     } elseif (is_bool($value)) {
         return BooleanNode::create($value);
     } elseif (is_null($value)) {
         return NullNode::create('NULL');
     } else {
         throw new \InvalidArgumentException();
     }
 }