compare_string

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