puppetlabs/puppet — pull request #2164 by hlindberg (2013-12-17 01:57:23+00:00)
Title: (Maint) make future evaluator pass more acceptance tests

While making the future evaluator pass acceptance tests several issues were discovered. It was also
discovered that some tests were relying on behavior that is different between 3x and 4x (while not being
directly the subject under test). See each commit message for the various problems found and fixed.

In general:

* this moves one acceptance test to integration (where it better belongs)
* issues with virtual and exported class resources was a real parser bug (fixed in the grammar)
* scope and compiler integration tests now run for both current and future parser (i.e. evaluator)
* there were problems with += and -= evaluation in future evaluator
* translation to 3x parameters did not work when value was nil
* error message was missing file/line information
* the methods exist? and bound? in scope (used by new evaluator) were not correctly implemented
* small test refactoring took place when making tests run for both current and future as some tests are supposed
to work in 3x while give an error in future evaluator.