summaryrefslogtreecommitdiff
path: root/src/ste/Parser.php
diff options
context:
space:
mode:
authorLaria Carolin Chabowski <laria@laria.me>2020-09-15 22:21:04 +0200
committerLaria Carolin Chabowski <laria@laria.me>2020-09-15 22:21:04 +0200
commit71176122872e7d200167cd77d48ed30fda95b3ae (patch)
tree99a5f37ab70d66a5fa222fd0e114899751aa662b /src/ste/Parser.php
parent76a1e915e0eea54b9b9a01d921efa6f9edffb3a8 (diff)
downloadste-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.php9
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);
}