assertInstanceOfCompiledExpression() protected méthode

protected assertInstanceOfCompiledExpression ( CompiledExpression | null $actual, string $message = '' )
$actual PHPSA\CompiledExpression | null
$message string
Exemple #1
0
 public function testFromZvalNull()
 {
     $result = CompiledExpression::fromZvalValue(null);
     parent::assertInstanceOfCompiledExpression($result);
     parent::assertSame(CompiledExpression::NULL, $result->getType());
     parent::assertSame(null, $result->getValue());
 }
Exemple #2
0
 public function testEvalOpSuccess()
 {
     $baseExpression = new Node\Expr\Eval_($this->newScalarExpr("echo 'test';"));
     $compiledExpression = $this->compileExpression($baseExpression);
     parent::assertInstanceOfCompiledExpression($compiledExpression);
     parent::assertSame(CompiledExpression::NULL, $compiledExpression->getType());
     parent::assertSame(null, $compiledExpression->getValue());
 }
Exemple #3
0
 public function testExitOpSuccess()
 {
     $baseExpression = new Node\Expr\Exit_($this->newScalarExpr("test"));
     $compiledExpression = $this->compileExpression($baseExpression);
     parent::assertInstanceOfCompiledExpression($compiledExpression);
     parent::assertSame(CompiledExpression::STRING, $compiledExpression->getType());
     parent::assertSame("test", $compiledExpression->getValue());
 }
Exemple #4
0
 public function testErrorSuppressSuccess()
 {
     $baseExpression = new Node\Expr\ErrorSuppress(new Node\Expr\Print_($this->newScalarExpr("test")));
     $compiledExpression = $this->compileExpression($baseExpression);
     parent::assertInstanceOfCompiledExpression($compiledExpression);
     parent::assertSame(CompiledExpression::INTEGER, $compiledExpression->getType());
     parent::assertSame(1, $compiledExpression->getValue());
 }
Exemple #5
0
 public function testTernaryFalse()
 {
     // (2 == 3) ? "if" : "else"
     $baseExpression = new Node\Expr\Ternary(new Node\Expr\BinaryOp\Equal($this->newScalarExpr(2), $this->newScalarExpr(3)), $this->newScalarExpr("if"), $this->newScalarExpr("else"));
     $compiledExpression = $this->compileExpression($baseExpression);
     parent::assertInstanceOfCompiledExpression($compiledExpression);
     parent::assertSame(CompiledExpression::STRING, $compiledExpression->getType());
     parent::assertSame("else", $compiledExpression->getValue());
 }
Exemple #6
0
 public function testEmptyVarNotExisting()
 {
     $context = $this->getContext();
     $baseExpression = new Node\Expr\Empty_(new Node\Expr\Variable(new Node\Name("name")));
     $compiledExpression = $this->compileExpression($baseExpression, $context);
     parent::assertInstanceOfCompiledExpression($compiledExpression);
     parent::assertSame(CompiledExpression::BOOLEAN, $compiledExpression->getType());
     parent::assertFalse($compiledExpression->getValue());
 }
Exemple #7
0
 public function testCoalesceVarNotExisting()
 {
     $context = $this->getContext();
     $variable = new VariableNode(new Name("name"));
     $else = parent::newScalarExpr("else");
     $baseExpression = new Node\Expr\BinaryOp\Coalesce($variable, $else);
     $compiledExpression = $this->compileExpression($baseExpression, $context);
     parent::assertInstanceOfCompiledExpression($compiledExpression);
     parent::assertSame(CompiledExpression::STRING, $compiledExpression->getType());
     parent::assertSame("else", $compiledExpression->getValue());
 }