Sha256: 4323c037e66600ce33f1db126a0abd1007f674cd240a6127219296573eb1af4f

Contents?: true

Size: 1.32 KB

Versions: 51

Compression:

Stored size: 1.32 KB

Contents

require 'spec_helper'

describe MetasploitDataModels::IPAddress::Range do
  subject(:range) {
    range_class.new
  }

  #
  # Shared examples
  #

  shared_examples_for 'extreme' do |extreme|
    context "##{extreme}" do
      subject("range_#{extreme}") {
        range.send(extreme)
      }

      before(:each) do
        allow(range).to receive(:value).and_return(value)
      end

      context 'with #value' do
        context 'with Range' do
          let(:value) {
            Range.new(0, 1)
          }

          it "is Range##{extreme} of #value" do
            expect(send("range_#{extreme}")).to eq(value.send(extreme))
          end
        end

        context 'without Range' do
          let(:value) {
            'invalid_value'
          }

          it { should be_nil }
        end
      end

      context 'without #value' do
        let(:value) {
          nil
        }

        it { should be_nil }
      end
    end
  end

  #
  # lets
  #

  let(:range_class) {
    described_class = self.described_class

    Class.new do
      include described_class
    end
  }

  context 'CONSTANTS' do
    context 'SEPARATOR' do
      subject(:separator) {
        described_class::SEPARATOR
      }

      it { should == '-' }
    end
  end

  it_should_behave_like 'extreme', :begin
  it_should_behave_like 'extreme', :end

end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
metasploit_data_models-0.24.5 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.24.1 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-1.0.0.pre.rails.pre.4.0b spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-1.0.0.pre.rails.pre.4.0a spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.24.0 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.23.3.pre.autoload spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.23.2 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.23.2-java spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.23.1 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.23.1-java spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.23.0 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.23.0-java spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.8 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.8-java spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.7 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.7-java spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.6 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.6-java spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.5 spec/lib/metasploit_data_models/ip_address/range_spec.rb
metasploit_data_models-0.22.5-java spec/lib/metasploit_data_models/ip_address/range_spec.rb