mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2024-12-29 05:55:48 +00:00
33 lines
912 B
JavaScript
33 lines
912 B
JavaScript
|
var template, expect, examples;
|
||
|
|
||
|
if (typeof require !== 'undefined') {
|
||
|
template = require('../lib/url-template.js');
|
||
|
expect = require("expect.js");
|
||
|
examples = require('../uritemplate-test/spec-examples-by-section.json');
|
||
|
} else {
|
||
|
template = window.urltemplate;
|
||
|
expect = window.expect;
|
||
|
examples = window.examples;
|
||
|
}
|
||
|
|
||
|
function createTestContext(c) {
|
||
|
return function (t, r) {
|
||
|
if (typeof r === 'string') {
|
||
|
expect(template.parse(t).expand(c)).to.eql(r);
|
||
|
} else {
|
||
|
expect(r.indexOf(template.parse(t).expand(c)) >= 0).to.be.ok();
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
|
||
|
describe('spec-examples', function () {
|
||
|
Object.keys(examples).forEach(function (section) {
|
||
|
var assert = createTestContext(examples[section].variables);
|
||
|
examples[section].testcases.forEach(function (testcase) {
|
||
|
it(section + ' ' + testcase[0], function () {
|
||
|
assert(testcase[0], testcase[1]);
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|