function test_replace_vars() { $t = new Template('UTF-8'); $this->assertEquals($t->replace_vars('foo'), '<?php echo Template::sanitize ($data->foo, \'UTF-8\'); ?>'); $this->assertEquals($t->replace_vars('foo|none'), '<?php echo $data->foo; ?>'); $this->assertEquals($t->replace_vars('foo|strtoupper|strtolower'), '<?php echo strtolower (strtoupper ($data->foo)); ?>'); $this->assertEquals($t->replace_vars('foo|date (\'F j\', %s)'), '<?php echo date (\'F j\', $data->foo); ?>'); $this->assertEquals($t->replace_vars('User::foo|none'), '<?php echo User::foo; ?>'); $this->assertEquals($t->replace_vars('User::foo ()|none'), '<?php echo User::foo (); ?>'); $this->assertEquals($t->replace_vars('DB::shift (\'select * from foo\')|none'), '<?php echo DB::shift (\'select * from foo\'); ?>'); $this->assertEquals($t->replace_vars('user.name|none'), '<?php echo $GLOBALS[\'user\']->name; ?>'); $this->assertEquals($t->replace_vars('$_POST[value]|none'), '<?php echo $_POST[value]; ?>'); $this->assertEquals($t->replace_vars('$_POST[\'value\']|none'), '<?php echo $_POST[\'value\']; ?>'); $this->assertEquals($t->replace_vars('$_POST.value|none'), '<?php echo $_POST[\'value\']; ?>'); $this->assertEquals($t->replace_vars('foo = true'), '<?php $data->foo = true; ?>'); $this->assertEquals($t->replace_vars('foo = "bar"'), '<?php $data->foo = "bar"; ?>'); }