summaryrefslogtreecommitdiff
path: root/spec/lib/puppet_spec/pops.rb
diff options
context:
space:
mode:
authorAshley Penney <ashley.penney@puppetlabs.com>2014-03-07 19:48:40 -0500
committerAshley Penney <ashley.penney@puppetlabs.com>2014-03-07 19:48:40 -0500
commit9e1cf99ccf12de2edaf73af73a8410e5cac6dd72 (patch)
tree2624c5c96549324719fbf6eaca781888d6d4646d /spec/lib/puppet_spec/pops.rb
parentfecb53d46ed9e926973cdf5be1289c1ea71c2f68 (diff)
parent3854e076ccb75d1bcb1ddd29f5976b194d857765 (diff)
Merge pull request #230 from apenney/fix-testing
[WIP] Spec overhaul.
Diffstat (limited to 'spec/lib/puppet_spec/pops.rb')
-rw-r--r--spec/lib/puppet_spec/pops.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/spec/lib/puppet_spec/pops.rb b/spec/lib/puppet_spec/pops.rb
new file mode 100644
index 0000000..442c85b
--- /dev/null
+++ b/spec/lib/puppet_spec/pops.rb
@@ -0,0 +1,16 @@
+module PuppetSpec::Pops
+ extend RSpec::Matchers::DSL
+
+ # Checks if an Acceptor has a specific issue in its list of diagnostics
+ matcher :have_issue do |expected|
+ match do |actual|
+ actual.diagnostics.index { |i| i.issue == expected } != nil
+ end
+ failure_message_for_should do |actual|
+ "expected Acceptor[#{actual.diagnostics.collect { |i| i.issue.issue_code }.join(',')}] to contain issue #{expected.issue_code}"
+ end
+ failure_message_for_should_not do |actual|
+ "expected Acceptor[#{actual.diagnostics.collect { |i| i.issue.issue_code }.join(',')}] to not contain issue #{expected.issue_code}"
+ end
+ end
+end