Sha256: 9303bc4e569fe84a03c22a46b1ec5ef78b2aaf9619288243a66f90243c095122

Contents?: true

Size: 1.53 KB

Versions: 30

Compression:

Stored size: 1.53 KB

Contents

RSpec.shared_examples_for 'Metasploit::Model::Search::Operation::Value::Integer' do
  let(:operation_class) do
    described_class
  end

  context '#class' do
    subject do
      operation_class
    end

    it { is_expected.to include Metasploit::Model::Search::Operation::Value::Integer }
  end

  context '#value' do
    subject(:value) do
      operation.value
    end

    let(:operation) do
      operation_class.new(:value => formatted_value)
    end

    context 'with Integer' do
      let(:formatted_value) do
        1
      end

      it 'should pass through Integer' do
        expect(value).to eq(formatted_value)
      end
    end

    context 'with Integer#to_s' do
      let(:formatted_value) do
        integer.to_s
      end

      let(:integer) do
        1
      end

      it 'should convert String to Integer' do
        expect(value).to eq(integer)
      end
    end

    context 'with mix text and numerals' do
      let(:formatted_value) do
        "#{integer}mix"
      end

      let(:integer) do
        123
      end

      it 'should not extract the number' do
        expect(value).not_to eq(integer)
      end

      it 'should pass through the full value' do
        expect(value).to eq(formatted_value)
      end
    end

    context 'with Float' do
      let(:formatted_value) do
        0.1
      end

      it 'should not truncate Float to Integer' do
        expect(value).not_to eq(formatted_value.to_i)
      end

      it 'should pass through Float' do
        expect(value).to eq(formatted_value)
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
metasploit-model-5.0.2 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-5.0.1 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-5.0.0 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-4.0.6 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-4.0.5 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-4.0.4 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-4.0.3 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-4.0.2 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-4.0.1 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-4.0.0 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-3.1.4 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-3.1.3 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-3.1.2 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-3.1.1 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-3.1.0 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-3.0.0 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-2.0.4 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-2.0.3 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-2.0.2 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb
metasploit-model-2.0.1 spec/support/shared/examples/metasploit/model/search/operation/value/integer.rb