class Inspec::OrTest
def initialize(tests)
def initialize(tests) @tests = tests @negated = false end
def negate!
def negate! @negated = !@negated end
def skip
def skip nil end
def to_hash
def to_hash { describe_one: @tests.map(&:to_hash) } end
def to_ruby
def to_ruby if @negated # We don't use the describe.one wrapper when negated because: # !(test1 || test2) same as (!test1 && !test2) where && is implicit in inspec all_tests = @tests.map { |test| test.negate! test }.map(&:to_ruby).join("\n") all_tests else all_tests = @tests.map(&:to_ruby).join("\n").gsub("\n", "\n ") format("describe.one do\n %s\nend", all_tests) end end