mirror of
https://github.com/github/choosealicense.com
synced 2024-12-22 21:00:10 +01:00
34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'license meta' do
|
|
licenses.each do |license|
|
|
# Manually load the raw license so we don't get thed defaults
|
|
raw_fields = SafeYAML.load_file("_licenses/#{license['id']}.html")
|
|
|
|
context "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
|
|
|
|
if license['family']
|
|
it 'should contain the required license variant fields' do
|
|
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
|