1
0
mirror of https://github.com/github/choosealicense.com synced 2024-06-29 15:13:04 +02:00
choosealicense.com/spec/license_meta_spec.rb

34 lines
1.1 KiB
Ruby
Raw Normal View History

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