Sha256: 2a5ea55b4eb7dd8eb306167d63859abdf584bb3f52fd4eba33a9e7c7c8dcf816

Contents?: true

Size: 1.43 KB

Versions: 12

Compression:

Stored size: 1.43 KB

Contents

RSpec.describe Licensee::Matchers::NpmBower do
  let(:content) { '"license": "mit"' }
  let(:file) { Licensee::ProjectFiles::LicenseFile.new(content, 'LICENSE.txt') }
  let(:mit) { Licensee::License.find('mit') }
  let(:other) { Licensee::License.find('other') }

  subject { described_class.new(file) }

  it 'matches' do
    expect(subject.match).to eql(mit)
  end

  it 'has a confidence' do
    expect(subject.confidence).to eql(90)
  end

  {
    'double quotes'      => '"license": "mit"',
    'single quotes'      => "'license': 'mit'",
    'mixed quotes'       => "'license': \"mit\"",
    'whitespace'         => "'license' : 'mit'",
    'no whitespace'      => "'license':'mit'",
    'leading whitespace' => " 'license':'mit'"
  }.each do |description, license_declaration|
    context "with a #{description} declaration" do
      let(:content) { license_declaration }

      it 'matches' do
        expect(subject.match).to eql(mit)
      end
    end
  end

  context 'no license field' do
    let(:content) { 'foo: bar' }

    it 'returns nil' do
      expect(subject.match).to be_nil
    end
  end

  context 'an unknown license' do
    let(:content) { "'license': 'foo'" }

    it 'returns other' do
      expect(subject.match).to eql(other)
    end
  end

  context 'a license expression' do
    let(:content) { "'license': '(MIT OR Apache-2.0 OR AGPL-3.0+)'" }

    it 'returns other' do
      expect(subject.match).to eql(other)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
licensee-9.11.0 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.10.1 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.10.0 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.9.4 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.9.3 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.9.2 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.9.1 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.9.0 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.9.0.beta.3 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.9.0.beta.2 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.8.0 spec/licensee/matchers/npm_bower_matcher_spec.rb
licensee-9.7.0 spec/licensee/matchers/npm_bower_matcher_spec.rb