summaryrefslogtreecommitdiff
path: root/spec/integration/parser/collector_spec.rb
AgeCommit message (Collapse)AuthorFilesLines
2014-07-08(PUP-2902) Change error message when attempting to collect classes.Henrik Lindberg1-1/+1
An attempt to collect classes led to an error message that said that 'class' is not a known resource type (in a way that can be misinterpreted). This commit make the error message specific, and clear.
2014-07-07(maint) Fix test to check desired functionalityAndrew Parker1-2/+2
This test had a flaw in it before where if the collection was not even done, the test would still pass. In order to check that collection applies to realized resources the resources need to be changed. This adds an override so that we can see the effect of the collection expression on realized resources.
2014-07-05(PUP-500) Add additional tests casesHenrik Lindberg1-0/+76
Test cases added that test that the current implementation does not regress from its current behavior. Regular resources are collected. Collection with override can be done multiple times. Changing and amedning values work for regular resources as well as virtual.
2014-07-01(PUP-500) Add coverage for +> on collectionAndrew Parker1-3/+23
The +> form of collection hadn't been covered in any test cases that I could find. This adds some coverage.
2014-07-01(PUP-500) Increase coverage of collection queriesAndrew Parker1-0/+36
The tags and array handling of collection queries is "special". This adds some test coverage around that behavior.
2014-07-01(PUP-1811) Fix collection use of include?Andrew Parker1-76/+103
The virtual resource collection uses the comparator for include?, but a previous commit changed the signature. This wasn't caught until the acceptance tests ran because it turns out that the collection tests were not being run against the future parser. This fixes the problem by passing the scope that is available for collection to the method. It also removes two of the acceptance tests in favor of adding a new integration test and running the collection tests with the future parser.
2013-04-05(#11331) Clean up trailing spaces and bad formatting.Henrik Lindberg1-1/+1
This cleans up source formatting (spaces/tabs), dead todo, blank lines, ending without a linebreak, and corrects indentation.
2012-12-13(#10963) Test resource collection inside a class/defineAndrew Parker1-2/+30
This adds a test for the issue reported and fixed in a8aef51. It turns out that the problem only manifests when the collect is done inside a `class` or `define`. This test has been verified to fail without the patch.
2012-12-13(Maint) Change collector tests to be more intent revealingAndrew Parker1-36/+81
The previous tests did very little to inform anyone what the behavior of the collector was expected to be in various situations. This changes the tests to be individually split out, named, and transformed into manifests that use the feature.
2012-12-13(Maint) Reformat collector test to make it easier to readAndrew Parker1-9/+16
The previous layout was very compact and did not make the parts very clear. This simply reformats it some to make the different parts a little clearer.
2012-09-26(Maint) Remove rspec from shebang lineJeff McCune1-1/+1
Without this patch Ruby 1.9 is still complaining loudly about trying to parse the spec files. The previous attempt to clean up this problem in edc3ddf works for Ruby 1.8 but not 1.9. I'd prefer to remove the shebang lines entirely, but doing so will cause encoding errors in Ruby 1.9. This patch strives for a happy middle ground of convincing Ruby it is actually working with Ruby while not confusing it to think it should exec() to rspec. This patch is the result of the following command run against the source tree: find spec -type f -print0 | \ xargs -0 perl -pl -i -e 's,^\#\!\s?/(.*)rspec,\#! /usr/bin/env ruby,'
2012-07-15Drop the hash prefix when passing compiler to scope.Daniel Pittman1-1/+1
Now that the compiler is always required by the scope we can save a few keystrokes by making the non-optional argument a regular value, not a name prefixed option. (...even if I love Objective-C as much as the next developer, having the same text in every call just to name the argument doesn't make much sense in such an internal context.) Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
2012-07-02(maint) Standardize on /usr/bin/env ruby -S rspecJeff McCune1-1/+1
Without this patch some spec files are using `ruby -S rspec` and others are using `rspec`. We should standardize on a single form of the interpreter used for spec files. `ruby -S rspec` is the best choice because it correctly informs editors such as Vim with Syntastic that the file is a Ruby file rather than an Rspec file.
2011-04-13maint: clean up the spec test headers in bulk.Daniel Pittman1-2/+1
We now use a shebang of: #!/usr/bin/env rspec This enables the direct execution of spec tests again, which was lost earlier during the transition to more directly using the rspec2 runtime environment.
2011-04-08maint: just require 'spec_helper', thanks rspec2Daniel Pittman1-1/+1
rspec2 automatically sets a bunch of load-path stuff we were by hand, so we can just stop. As a side-effect we can now avoid a whole pile of stupid things to try and include the spec_helper.rb file... ...and then we can stop protecting spec_helper from evaluating twice, since we now require it with a consistent name. Yay. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
2010-12-06maint: Use expand_path when requiring spec_helper or puppettestMatt Robinson1-1/+1
Doing a require to a relative path can cause files to be required more than once when they're required from different relative paths. If you expand the path fully, this won't happen. Ruby 1.9 also requires that you use expand_path when doing these requires. Paired-with: Jesse Wolfe
2010-08-13[#4496]+[#4521]+[#4522] Add structures to the AST to represent type ↵Paul Berry1-1/+1
definitions (classes, definitions, and nodes). Previously, type definitions were not represented directly in the AST. Instead, the parser would instantiate types and insert them into known_resource_types as soon as they were parsed. This made it difficult to distinguish which types had come from the file that was just parsed and which types had been loaded previously, which led to bug 4496. A side-effect of this change is that the user is no longer allowed to define types inside of conditional constructs (such as if/else). This was allowed before but had unexpected semantics (bugs 4521 and 4522). It is still possible, however, to place an "include" statement inside a conditional construct, and have that "include" statement trigger the autoloading of a file that instantiates types.
2010-07-09Code smell: Two space indentationMarkus Roberts1-25/+25
Replaced 106806 occurances of ^( +)(.*$) with The ruby community almost universally (i.e. everyone but Luke, Markus, and the other eleven people who learned ruby in the 1900s) uses two-space indentation. 3 Examples: The code: end # Tell getopt which arguments are valid def test_get_getopt_args element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args") becomes: end # Tell getopt which arguments are valid def test_get_getopt_args element = Setting.new :name => "foo", :desc => "anything", :settings => Puppet::Util::Settings.new assert_equal([["--foo", GetoptLong::REQUIRED_ARGUMENT]], element.getopt_args, "Did not produce appropriate getopt args") The code: assert_equal(str, val) assert_instance_of(Float, result) end # Now test it with a passed object becomes: assert_equal(str, val) assert_instance_of(Float, result) end # Now test it with a passed object The code: end assert_nothing_raised do klass[:Yay] = "boo" klass["Cool"] = :yayness end becomes: end assert_nothing_raised do klass[:Yay] = "boo" klass["Cool"] = :yayness end
2010-06-28[#3994-part 2] rename integration tests to *_spec.rbMarkus Roberts1-0/+38
Some spec files like active_record.rb had names that would confuse the load path and get loaded instead of the intended implentation when the spec was run from the same directory as the file. Author: Matt Robinson <matt@puppetlabs.com> Date: Fri Jun 11 15:29:33 2010 -0700