1
0
mirror of https://github.com/github/choosealicense.com synced 2024-12-24 13:50:09 +01:00
choosealicense.com/spec/license_meta_spec.rb

52 lines
1.4 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2017-03-26 17:19:44 -07:00
2015-08-22 15:25:16 -04:00
require 'spec_helper'
2016-02-08 15:37:19 -05:00
describe 'license meta' do
2016-01-20 10:20:04 -05:00
licenses.each do |license|
# Manually load the raw license so we don't get the defaults
raw_fields = SafeYAML.load_file("_licenses/#{license['spdx-lcase']}.txt")
2015-08-22 15:25:16 -04:00
2016-02-08 15:37:19 -05:00
context "The #{license['title']} license" do
it 'should only contain supported meta fields' do
2017-03-26 17:19:44 -07:00
extra_fields = raw_fields.keys - (meta.map { |m| m['name'] })
2016-01-20 10:20:04 -05:00
expect(extra_fields).to be_empty
end
2015-08-22 15:25:16 -04:00
2016-02-08 15:37:19 -05:00
it 'should contain all required meta fields' do
required = meta.select { |m| m['required'] }.map { |m| m['name'] }
2016-01-20 10:20:04 -05:00
missing = required - raw_fields.keys
2015-08-22 15:25:16 -04:00
expect(missing).to be_empty
end
2017-05-30 14:17:13 -07:00
it 'using contains 3 examples' do
legacy = [
'afl-3.0',
'agpl-3.0',
'artistic-2.0',
'bsd-2-clause',
'bsd-3-clause',
'bsd-3-clause-clear',
'bsl-1.0',
'cc0-1.0',
'cc-by-4.0',
'cc-by-sa-4.0',
'eupl-1.1',
'gpl-2.0',
'lgpl-2.1',
'lgpl-3.0',
'lppl-1.3c',
'ms-pl',
'ms-rl',
'ofl-1.1',
'wtfpl',
'zlib'
]
skip 'added before 3 using examples required' if legacy.include?(license['slug'])
examples = raw_fields['using'] || []
expect(examples.length).to eq(3)
end
2015-08-22 15:25:16 -04:00
end
end
end