diff options
author | Laria Carolin Chabowski <laria@laria.me> | 2020-09-15 22:21:04 +0200 |
---|---|---|
committer | Laria Carolin Chabowski <laria@laria.me> | 2020-09-15 22:21:04 +0200 |
commit | 71176122872e7d200167cd77d48ed30fda95b3ae (patch) | |
tree | 99a5f37ab70d66a5fa222fd0e114899751aa662b /src/ste/Parser.php | |
parent | 76a1e915e0eea54b9b9a01d921efa6f9edffb3a8 (diff) | |
download | ste-71176122872e7d200167cd77d48ed30fda95b3ae.tar.gz ste-71176122872e7d200167cd77d48ed30fda95b3ae.tar.bz2 ste-71176122872e7d200167cd77d48ed30fda95b3ae.zip |
Add some unit tests for the parser
So far only testing success, we should also test failing parse inputs.
Diffstat (limited to 'src/ste/Parser.php')
-rw-r--r-- | src/ste/Parser.php | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ste/Parser.php b/src/ste/Parser.php index a588203..a2f966c 100644 --- a/src/ste/Parser.php +++ b/src/ste/Parser.php @@ -443,12 +443,15 @@ class Parser */ private function parse_var(int $openedat, bool $curly): VariableNode { - $varnode = new VariableNode($this->name, $openedat); - $varnode->name = $this->get_name(); + $varname = $this->get_name(); + + $arrayfields = []; if (!$this->eof()) { - $varnode->arrayfields = $this->parse_array(); + $arrayfields = $this->parse_array(); } + $varnode = new VariableNode($this->name, $openedat, $varname, $arrayfields); + if ($curly && ($this->next() != "}")) { throw new ParseCompileError("Unclosed '\${'", $this->name, $openedat); } |