Sha256: 3668161ed25d68669a8d53058b01da10c361d819d571089b1c2cca988f64e5cd

Contents?: true

Size: 1.31 KB

Versions: 5

Compression:

Stored size: 1.31 KB

Contents

require 'spec_helper'

describe CMSScanner::Version do
  it_behaves_like CMSScanner::Finders::Finding

  subject(:version) { described_class.new(number, opts) }
  let(:opts)        { {} }
  let(:number)      { '1.0' }

  its(:to_s)        { should eql '1.0' }

  describe '#number' do
    its(:number) { should eql '1.0' }

    context 'when float number supplied' do
      let(:number) { 2.0 }

      its(:number) { should eql '2.0' }
      its(:to_s)   { should eql '2.0' }
    end

    context 'when starting with a dot' do
      let(:number) { '.2' }

      its(:number) { should eql '0.2' }
    end
  end

  describe '#<=>, #==, #>, #<' do
    it 'returns true' do
      expect(version == '1.0').to be true
      expect(version == 1.0).to be true
      expect(version == described_class.new('1.0')).to be true
      expect(version > '0.9').to be true
      expect(version < '2').to be true

      expect(described_class.new('0.1') == '.1').to be true
      expect(described_class.new('.1') == '0.1').to be true
    end

    it 'returns false' do
      expect(version == '2.0').to be false
      expect(version == described_class.new('2')).to be false
      expect(version > '2.0').to be false
      expect(version < '1.0').to be false

      expect(version < 'gg').to be false
      expect(version == '').to be false
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cms_scanner-0.0.18 spec/app/models/version_spec.rb
cms_scanner-0.0.17 spec/app/models/version_spec.rb
cms_scanner-0.0.16 spec/app/models/version_spec.rb
cms_scanner-0.0.15 spec/app/models/version_spec.rb
cms_scanner-0.0.14 spec/app/models/version_spec.rb