From fdbe2e9521aa54ec6e0b70c1cb0f532248e531e4 Mon Sep 17 00:00:00 2001 From: Kevin Chabowski Date: Sat, 24 May 2014 01:29:11 +0200 Subject: Fixed ste:get Didn't work at all before. The varname was not passed correctly. Also added the test case that showed this. --- Transcompiler.php | 3 +-- tests/test.php | 1 + tests/test_getset/.gitignore | 3 +++ tests/test_getset/code.php | 5 +++++ tests/test_getset/test.tpl | 5 +++++ tests/test_getset/want | 4 ++++ 6 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 tests/test_getset/.gitignore create mode 100644 tests/test_getset/code.php create mode 100644 tests/test_getset/test.tpl create mode 100644 tests/test_getset/want diff --git a/Transcompiler.php b/Transcompiler.php index 26011f3..8b52fa2 100644 --- a/Transcompiler.php +++ b/Transcompiler.php @@ -342,8 +342,7 @@ class Transcompiler { } list($val, $pre) = self::_transcompile($ast->params["var"], true); - $code .= $pre; - return "\$outputstack[\$outputstack_i] .= \$ste->get_var_by_name(" . $val . ");"; + return "$pre\$outputstack[\$outputstack_i] .= \$ste->get_var_by_name(" . $val . ");"; }, "calc" => function($ast) { $code = "\$outputstack[] = '';\n\$outputstack_i++;\n"; diff --git a/tests/test.php b/tests/test.php index c765fb4..79fb69d 100644 --- a/tests/test.php +++ b/tests/test.php @@ -19,5 +19,6 @@ class TestStorage implements \ste\StorageAccess { } $ste = new \ste\STECore(new TestStorage()); +$ste->mute_runtime_errors = false; test_func($ste); echo $ste->exectemplate("test.tpl"); diff --git a/tests/test_getset/.gitignore b/tests/test_getset/.gitignore new file mode 100644 index 0000000..de2a41b --- /dev/null +++ b/tests/test_getset/.gitignore @@ -0,0 +1,3 @@ +have +*.ast +*.transc.php diff --git a/tests/test_getset/code.php b/tests/test_getset/code.php new file mode 100644 index 0000000..19a7ecd --- /dev/null +++ b/tests/test_getset/code.php @@ -0,0 +1,5 @@ +vars["foo"] = "bar"; +} diff --git a/tests/test_getset/test.tpl b/tests/test_getset/test.tpl new file mode 100644 index 0000000..06f865a --- /dev/null +++ b/tests/test_getset/test.tpl @@ -0,0 +1,5 @@ +\$foo = $foo +\$foo = +baz +\$foo = $foo +\$foo = diff --git a/tests/test_getset/want b/tests/test_getset/want new file mode 100644 index 0000000..567c753 --- /dev/null +++ b/tests/test_getset/want @@ -0,0 +1,4 @@ +$foo = bar +$foo = bar +$foo = baz +$foo = baz -- cgit v1.2.3-54-g00ecf