summaryrefslogtreecommitdiff
path: root/spec/lib/puppet_spec/pops.rb
diff options
context:
space:
mode:
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