1
0
mirror of https://github.com/github/choosealicense.com synced 2024-11-05 19:28:50 +01:00
choosealicense.com/spec/license_meta_spec.rb

33 lines
1.0 KiB
Ruby
Raw Normal View History

2015-08-22 21:25:16 +02:00
require 'spec_helper'
licenses.each do |license|
# Manually load the raw license so we don't get thed defaults
raw_fields = SafeYAML.load_file("_licenses/#{license["id"]}.txt")
describe "The #{license["title"]} license" do
it "should only contain supported meta fields" do
extra_fields = raw_fields.keys - meta.map { |m| m["name"] }
expect(extra_fields).to be_empty
end
it "should contain all required meta fields" do
required = meta.select { |m| m["required"] }.map { |m| m["name"] }
missing = required - raw_fields.keys
expect(missing).to be_empty
end
2015-08-22 21:42:12 +02:00
2015-09-09 01:04:34 +02:00
if license["family"]
2015-08-22 21:25:16 +02:00
it "should contain the required license variant fields" do
2015-09-09 01:04:34 +02:00
missing = ["family", "tab-slug"] - license.keys
2015-08-22 21:25:16 +02:00
expect(missing).to be_empty
end
else
it "should not contain license family specific fields" do
2015-09-09 01:04:34 +02:00
extra = ["variant", "family", "tab-slug"].select{ |f| raw_fields.keys.include?(f) }
2015-08-22 21:25:16 +02:00
expect(extra).to be_empty
end
end
end
end