lib/teuton/case/dsl/expect.rb in teuton-2.7.3 vs lib/teuton/case/dsl/expect.rb in teuton-2.8.0
- old
+ new
@@ -16,14 +16,18 @@
end
def expect2(cond, args = {})
@action_counter += 1
@action[:id] = @action_counter
- @action[:check] = cond
+ if @result.exitcode < 0
+ @action[:check] = false
+ @action[:result] = @action[:output]
+ else
+ @action[:check] = cond
+ @action[:result] = (args[:value] || @result.value)
+ end
- @action[:result] = (args[:value] || @result.value)
-
@action[:alterations] = @result.alterations
@action[:expected] = (args[:expected] || @result.expected)
@report.lines << @action.clone
weight(1.0)
@@ -55,10 +59,18 @@
(real_value == value.to_i)
end
expect2 cond, value: real_value, expected: expect_value
end
+ def expect_fail
+ @result.alterations = "Read exit code"
+ real_value = result.exitcode
+ expect_value = "Greater than 0"
+ cond = (real_value > 0)
+ expect2 cond, value: real_value, expected: expect_value
+ end
+
def expect_first(input, args = {})
@result.first
output = input
output = args[:expected] if args[:expected]
expect2 input, expected: output
@@ -91,9 +103,13 @@
input.each { |i| result.find(i) }
else
result.find(input)
end
expect2 result.count.eq(1), args
+ end
+
+ def expect_ok
+ expect_exit 0
end
def weight(value = nil)
# Set weight value for the action
if value.nil?