lib/cucumber/pickles/steps/check_in/factory.rb in pickles-0.1.10 vs lib/cucumber/pickles/steps/check_in/factory.rb in pickles-0.1.12
- old
+ new
@@ -7,20 +7,35 @@
@value = value
@within = within
end
def call
- if !@value.nil? && @value[':']
+ if in_quotes?
+ remove_quotes!
+ end
+
+ if !@value.nil? && @value[':'] && !in_quotes?
step = CheckIn::ComplexInput
# return if text_complex_input(label, value, within)
elsif @label =~ TAG
@label = $1
- tag = $2
- step = Pickles.config.check_step_by_tag(tag) || CheckIn::Input
+ tag = $2
+ step = Pickles.config.check_step_by_tag(tag) || CheckIn::Input
else
step = CheckIn::Input
end
step.new(@label, @value, @within)
+ end
+
+private
+
+ def in_quotes?
+ @in_quotes ||= @value && @value[0] == "\"" && @value[-1] == "\""
+ end
+
+ def remove_quotes!
+ @value[0] = ''
+ @value[-1] = ''
end
end