1
0
mirror of https://github.com/github/choosealicense.com synced 2024-07-01 08:03:02 +02:00
choosealicense.com/spec/license_spec.rb
2015-08-22 15:33:46 -04:00

53 lines
1.4 KiB
Ruby

require 'spec_helper'
# List of licenses that need not be OSI approved
LICENSE_WHITELIST = %w[
unlicense
cc0-1.0
wtfpl
]
licenses.each do |license|
describe "The #{license["title"]} license" do
describe "SPDX compliance" do
# "No license" isn't really a license, so no need to test
unless license["id"] == "no-license"
it "#{license["id"]} should be a valid SPDX ID" do
expect(find_spdx(license["id"])).to_not be_nil
end
it "should be the proper SPDX name" do
spdx = find_spdx(license["id"])
expect(spdx[1]["name"].gsub(/ only$/,"")).to eql(license["title"])
end
# CC0 and Unlicense are not OSI approved, but that's okay
unless LICENSE_WHITELIST.include? license["id"]
it "should be OSI approved" do
spdx = find_spdx(license["id"])
approved = spdx[1]["osiApproved"]
expect(approved).to eql(true)
end
end
end
end
["permitted", "required", "forbidden"].each do |group|
describe "#{group} properties" do
it "should list the properties" do
expect(license[group]).to_not be_nil
end
license[group].to_a.each do |tag|
describe "#{tag} tag" do
it "should be a valid tag" do
expect(rule?(tag,group)).to be(true)
end
end
end
end
end
end
end