Sha256: 9a28395c9f0c2cac38de291ec7f81b76de53f09f269c4e7e549582c74d3c973c

Contents?: true

Size: 1.1 KB

Versions: 18

Compression:

Stored size: 1.1 KB

Contents

module VirtualBox
  module IntegrationHelpers
    # Tests that given a mappings hash (see `VM_MAPPINGS` in env.rb),
    # a model, and an output hash (string to string), that all the
    # mappings from model match output.
    def test_mappings(mappings, model, output)
      mappings.each do |model_key, output_key|
        value = model.send(model_key)

        if [TrueClass, FalseClass].include?(value.class)
          # Convert true/false to VirtualBox-style string boolean values
          value = value ? "on" : "off"
        end

        output_value = output[output_key.to_sym] || output[output_key]
        value, output_value = yield value, output_value if block_given?
        value.to_s.should == output_value
      end
    end

    # Applies a function to every snapshot.
    def snapshot_map(snapshots, &block)
      applier = lambda do |snapshot|
        return if !snapshot || snapshot.empty?

        snapshot[:children].each do |child|
          applier.call(child)
        end

        block.call(snapshot)
      end

      applier.call(snapshots)
    end
  end
end

World(VirtualBox::IntegrationHelpers)

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
virtualbox-0.9.2 features/support/helpers.rb
virtualbox-0.9.1 features/support/helpers.rb
virtualbox-0.9.0 features/support/helpers.rb
virtualbox-0.8.6 features/support/helpers.rb
virtualbox-0.8.5 features/support/helpers.rb
virtualbox-0.8.4 features/support/helpers.rb
velir_virtualbox-0.8.4 features/support/helpers.rb
virtualbox-0.8.3 features/support/helpers.rb
virtualbox-0.8.2 features/support/helpers.rb
virtualbox-0.8.1 features/support/helpers.rb
virtualbox-0.8.0 features/support/helpers.rb
virtualbox-0.7.9 features/support/helpers.rb
virtualbox-0.7.8 features/support/helpers.rb
virtualbox-0.7.7 features/support/helpers.rb
virtualbox-0.7.6 features/support/helpers.rb
bbrowning-virtualbox-0.7.6.dev features/support/helpers.rb
virtualbox-0.7.5 features/support/helpers.rb
virtualbox-0.7.4 features/support/helpers.rb