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()); }
/** * 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')); } }
/** * 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(); } }