summaryrefslogtreecommitdiff
path: root/spec/unit/pops/parser/parse_conditionals_spec.rb
AgeCommit message (Collapse)AuthorFilesLines
2014-08-01(PUP-2898) Add 4x style resource expressionsHenrik Lindberg1-5/+12
This changes the following: * Assignment has lower precedence than resource expressions * Local defaults are supported in resource instantiation expressions * A Resource body may have a new expression AttributesOperation that must evaluate to a hash. * Stricter validation of resource titles * Changes to TreeModelDumper wrt how BlockExpression is rendered (to improve debugging output). As a consequence many tests needed adjustments. * Tests that previously passed have been modified because of stricter validation. This also includes maintenance. Removing dead code/fixing stale comments and documentation.
2013-12-12(PUP-490) Remove partial import-support from future evaluatorHenrik Lindberg1-9/+0
The support is removed (basically a mapping of a function call to the function "import" to a ImportExpression + removing tests. The intermediate future parser is still using ImportExpression, so model and related logic not changed, but marked with deprecation and "to be removed in Puppet 4" (or whenever the intermediate parser is removed from the code base). The grammar/parser is modified, but this is only a removal of a comment.
2013-04-05Remove comment stack from the future parser's lexerPatrick Carlisle1-0/+5
The lexer tracks comments in a stack. This code is error prone and broke when introducing new language elements. For now we're going to remove it and only use the current parser to get doc information.
2013-04-05(#11331) Allow parenthesized expressions in ifsAndrew Parker1-0/+23
The construction if ($var) { ... } resulted in an error during parsing. The error was Error: nil can't be coerced into Fixnum at ... This was caused by a parenthesized expression not retaining any location information. The grammar needs to retain the location information for the resulting model.
2013-04-05(Maint) Remove API and Impl distinctionsAndrew Parker1-0/+131
The API and Impl modules were an interesting idea that has just been leading to confusion about where things live. Moving forward the public vs. private distinction for API purposes should be handled with @api annotations in documentation and clear responsibilities of classes and modules.