in elasticsearch-api/api-spec-testing/rspec_matchers.rb [260:281]
def compare_string(expected, actual_value, test, response)
if expected[0] == '/' && expected[-1] == '/'
parsed = expected
expected.scan(/\$\{([a-z_0-9]+)\}/) do |match|
parsed = parsed.gsub(/\$\{?
end
/
elsif !!(expected.match?(/^-?[0-9]{1}\.[0-9]+E[0-9]+/))
actual_value.to_s == expected.gsub('E', 'e+') ||
actual_value == expected ||
expected.to_f.to_s == actual_value.to_f.to_s
elsif expected == '' && actual_value != ''
actual_value == response
else
expected == actual_value
end
end