Sha256: f904b28f9337dd3e529a4f1224975946329bac8bd756fc8286ceb2c46d2c5770

Contents?: true

Size: 1.47 KB

Versions: 2

Compression:

Stored size: 1.47 KB

Contents

require 'spec_helper'

module LicenseFinder
  describe NpmPackage do
    subject do
      described_class.new(
        "name" => "jasmine-node",
        "version" => "1.3.1",
        "description" => "a description",
        "readme" => "a readme",
        "path" => "some/node/package/path"
      )
    end

    it_behaves_like "it conforms to interface required by PackageSaver"

    its(:name) { should == "jasmine-node" }
    its(:version) { should == "1.3.1" }
    its(:summary) { should == "a description" }
    its(:description) { should == "a readme" }

    describe '#license' do
      def stub_license_files(license_files)
        PossibleLicenseFiles.stub(:find).with("some/node/package/path").and_return(license_files)
      end

      let(:node_module1) { {"license" => "MIT"} }
      let(:node_module2) { {"licenses" => [{"type" => "BSD"}]} }
      let(:node_module3) { {"license" => {"type" => "PSF"}} }

      it 'finds the license for both license structures' do
        NpmPackage.new(node_module1).license.should eq("MIT")
        NpmPackage.new(node_module2).license.should eq("BSD")
        NpmPackage.new(node_module3).license.should eq("PSF")
      end

      it "returns a license in a file if detected" do
        stub_license_files [double(:file, license: 'Detected License')]

        subject.license.should == "Detected License"
      end

      it "returns 'other' otherwise" do
        stub_license_files []

        subject.license.should == "other"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
license_finder-0.9.5 spec/lib/license_finder/npm_package_spec.rb
license_finder-0.9.5-java spec/lib/license_finder/npm_package_spec.rb