Sha256: baf4b9a1fec246efcf74cbb932d9e2649a72d91b9e0aefa77b58173b7cb0e609

Contents?: true

Size: 1.16 KB

Versions: 17

Compression:

Stored size: 1.16 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'fog'))
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'fog', 'bin'))

# TODO: Currently is true even if some of the keys in format do not appear
def validate_format(original_data, format)
  valid = true
  data = original_data.dup
  for key, value in format
    valid &&= data.has_key?(key)
    datum = data.delete(key)
    case value
    when Array
      valid &&= datum.is_a?(Array)
      for element in datum
        type = value.first
        if type.is_a?(Hash)
          valid &&= validate_format({:element => element}, {:element => type})
        else
          valid &&= element.is_a?(type)
        end
      end
    when Hash
      valid &&= datum.is_a?(Hash)
      valid &&= validate_format(datum, value)
    else
      valid &&= datum.is_a?(value)
    end
  end
  valid &&= data.empty?
  unless valid
    @formatador.display_line("[red]#{original_data.inspect} does not match #{format.inspect}[/]")
  end
  valid
end

def wait_for(timeout = 600, &block)
  start = Time.now
  until instance_eval(&block)
    if Time.now - start > timeout
      break
    end
    sleep(1)
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
fog-0.0.84 tests/helper.rb
fog-0.0.83 tests/helper.rb
fog-0.0.82 tests/helper.rb
fog-0.0.81 tests/helper.rb
fog-0.0.80 tests/helper.rb
fog-0.0.79 tests/helper.rb
fog-0.0.78 tests/helper.rb
fog-0.0.77 tests/helper.rb
fog-0.0.76 tests/helper.rb
fog-0.0.75 tests/helper.rb
fog-0.0.74 tests/helper.rb
fog-0.0.73 tests/helper.rb
fog-0.0.72 tests/helper.rb
fog-0.0.71 tests/helper.rb
fog-0.0.70 tests/helper.rb
fog-0.0.69 tests/helper.rb
fog-0.0.68 tests/helper.rb