mirror of
https://github.com/github/choosealicense.com
synced 2024-12-22 12:50:24 +01:00
better error output
This commit is contained in:
parent
b7204165de
commit
5531742d10
@ -1,29 +1,31 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
families.each do |family|
|
describe "license categories" do
|
||||||
describe "the #{family} family" do
|
families.each do |family|
|
||||||
family_licenses = licenses.select { |l| l["family"] == family }
|
context "the #{family} family" do
|
||||||
primary = family_licenses.select { |l| l["variant"] == false }
|
family_licenses = licenses.select { |l| l["family"] == family }
|
||||||
variants = family_licenses.select { |l| l["variant"] == true }
|
primary = family_licenses.select { |l| l["variant"] == false }
|
||||||
|
variants = family_licenses.select { |l| l["variant"] == true }
|
||||||
|
|
||||||
it "should only have one primary license" do
|
it "should only have one primary license" do
|
||||||
expect(primary.count).to eql(1)
|
expect(primary.count).to eql(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "all other licenses should be variants" do
|
it "all other licenses should be variants" do
|
||||||
expected = family_licenses.count - 1
|
expected = family_licenses.count - 1
|
||||||
expect(variants.count).to eql(expected)
|
expect(variants.count).to eql(expected)
|
||||||
end
|
end
|
||||||
|
|
||||||
family_licenses.each do |license|
|
family_licenses.each do |license|
|
||||||
describe "the #{license["title"]} license" do
|
context "the #{license["title"]} license" do
|
||||||
it "should have a unique slug" do
|
it "should have a unique slug" do
|
||||||
dupes = family_licenses.select { |l| l["tab-slug"] == license["tab-slug"] }.count
|
dupes = family_licenses.select { |l| l["tab-slug"] == license["tab-slug"] }.count
|
||||||
expect(dupes).to eql(1)
|
expect(dupes).to eql(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should have a valid tab-slug" do
|
it "should have a valid tab-slug" do
|
||||||
expect(license["tab-slug"]).to match(/[a-z0-9_]/)
|
expect(license["tab-slug"]).to match(/[a-z0-9_]/)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
licenses.each do |license|
|
describe "license fillable fields" do
|
||||||
describe "The #{license["title"]} license" do
|
licenses.each do |license|
|
||||||
it "should only contain supported fields" do
|
context "The #{license["title"]} license" do
|
||||||
matches = license["content"].scan /\[([a-z]+)\]/
|
it "should only contain supported fillable fields" do
|
||||||
extra_fields = matches.flatten - fields.map { |f| f["name"] }
|
matches = license["content"].scan(/\[([a-z]+)\]/)
|
||||||
expect(extra_fields).to be_empty
|
extra_fields = matches.flatten - fields.map { |f| f["name"] }
|
||||||
|
expect(extra_fields).to be_empty
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,31 +1,33 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
licenses.each do |license|
|
describe "license meta" do
|
||||||
|
licenses.each do |license|
|
||||||
|
|
||||||
# Manually load the raw license so we don't get thed defaults
|
# Manually load the raw license so we don't get thed defaults
|
||||||
raw_fields = SafeYAML.load_file("_licenses/#{license["id"]}.txt")
|
raw_fields = SafeYAML.load_file("_licenses/#{license["id"]}.txt")
|
||||||
|
|
||||||
describe "The #{license["title"]} license" do
|
context "The #{license["title"]} license" do
|
||||||
it "should only contain supported meta fields" do
|
it "should only contain supported meta fields" do
|
||||||
extra_fields = raw_fields.keys - meta.map { |m| m["name"] }
|
extra_fields = raw_fields.keys - meta.map { |m| m["name"] }
|
||||||
expect(extra_fields).to be_empty
|
expect(extra_fields).to be_empty
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should contain all required meta fields" do
|
it "should contain all required meta fields" do
|
||||||
required = meta.select { |m| m["required"] }.map { |m| m["name"] }
|
required = meta.select { |m| m["required"] }.map { |m| m["name"] }
|
||||||
missing = required - raw_fields.keys
|
missing = required - raw_fields.keys
|
||||||
expect(missing).to be_empty
|
|
||||||
end
|
|
||||||
|
|
||||||
if license["family"]
|
|
||||||
it "should contain the required license variant fields" do
|
|
||||||
missing = ["family", "tab-slug"] - license.keys
|
|
||||||
expect(missing).to be_empty
|
expect(missing).to be_empty
|
||||||
end
|
end
|
||||||
else
|
|
||||||
it "should not contain license family specific fields" do
|
if license["family"]
|
||||||
extra = ["variant", "family", "tab-slug"].select{ |f| raw_fields.keys.include?(f) }
|
it "should contain the required license variant fields" do
|
||||||
expect(extra).to be_empty
|
missing = ["family", "tab-slug"] - license.keys
|
||||||
|
expect(missing).to be_empty
|
||||||
|
end
|
||||||
|
else
|
||||||
|
it "should not contain license family specific fields" do
|
||||||
|
extra = ["variant", "family", "tab-slug"].select{ |f| raw_fields.keys.include?(f) }
|
||||||
|
expect(extra).to be_empty
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,22 +1,24 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
licenses.each do |license|
|
describe "license rules" do
|
||||||
|
licenses.each do |license|
|
||||||
|
|
||||||
groups = rules.keys
|
groups = rules.keys
|
||||||
|
|
||||||
describe "The #{license["title"]} license" do
|
context "The #{license["title"]} license" do
|
||||||
groups.each do |group|
|
groups.each do |group|
|
||||||
|
|
||||||
valid_tags = rules[group].map { |r| r["tag"] }
|
valid_tags = rules[group].map { |r| r["tag"] }
|
||||||
|
|
||||||
describe "the #{group} group" do
|
context "the #{group} group" do
|
||||||
it "should exist" do
|
it "should exist" do
|
||||||
expect(license[group]).to_not be_nil
|
expect(license[group]).to_not be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should only contain valid tags" do
|
it "should only contain valid tags" do
|
||||||
extra = license[group] - valid_tags
|
extra = license[group] - valid_tags
|
||||||
expect(extra).to be_empty
|
expect(extra).to be_empty
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,26 +1,28 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
licenses.each do |license|
|
describe "licenses" do
|
||||||
|
licenses.each do |license|
|
||||||
|
|
||||||
# "No license" isn't really a license, so no need to test
|
# "No license" isn't really a license, so no need to test
|
||||||
next if license["id"] == "no-license"
|
next if license["id"] == "no-license"
|
||||||
|
|
||||||
describe "The #{license["title"]} license" do
|
context "The #{license["title"]} license" do
|
||||||
|
|
||||||
let(:id) { license["id"] }
|
let(:id) { license["id"] }
|
||||||
|
|
||||||
it "has an SPDX ID" do
|
it "has an SPDX ID" do
|
||||||
expect(spdx_ids).to include(id)
|
expect(spdx_ids).to include(id)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "uses its SPDX name" do
|
it "uses its SPDX name" do
|
||||||
spdx = find_spdx(id)
|
spdx = find_spdx(id)
|
||||||
expect(spdx[1]["name"].gsub(/ only$/,"")).to eql(license["title"])
|
expect(spdx[1]["name"].gsub(/ only$/,"")).to eql(license["title"])
|
||||||
end
|
end
|
||||||
|
|
||||||
context "industry approval" do
|
context "industry approval" do
|
||||||
it "should be approved by OSI or FSF or OD" do
|
it "should be approved by OSI or FSF or OD" do
|
||||||
expect(approved_licenses).to include(id), "See https://git.io/vzCTV."
|
expect(approved_licenses).to include(id), "See https://git.io/vzCTV."
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user