UNPKG

1.99 kBJavaScriptView Raw
1var addonUtils = require('../lib/addon-utils');
2var assert = require('chai').assert;
3
4describe('Addon Utils', function() {
5 describe('#hasKeyword', function() {
6 it('returns true if addon has given keyword', function() {
7 var addon = { pkg: { keywords: ['foo', 'bar', 'baz'] } };
8 assert.equal(addonUtils.hasKeyword(addon, 'bar'), true, 'Addon should have given keyword');
9 });
10
11 it('returns false if addon does not have given keyword', function() {
12 var addon = { pkg: { keywords: ['foo', 'bar', 'baz'] } };
13 assert.equal(addonUtils.hasKeyword(addon, 'quux'), false, 'Addon should not have given keyword');
14 });
15 });
16
17 describe('#filterByKeyword', function() {
18 it('returns the addons that have give keyword', function() {
19 var addons = [
20 { pkg: { name: 'a', keywords: ['foo', 'bar', 'baz'] } },
21 { pkg: { name: 'b', keywords: ['foo', 'baz'] } },
22 { pkg: { name: 'c', keywords: ['foo', 'bar'] } },
23 { pkg: { name: 'd', keywords: ['baz'] } },
24 ];
25
26 var result = addonUtils.filterByKeyword(addons, 'bar');
27 assert.equal(result.length, 2, 'Two addons should have been found');
28 assert.equal(result[0].pkg.name, 'a', 'First addon found should be "a"');
29 assert.equal(result[1].pkg.name, 'c', 'Second addon found should be "b"');
30 });
31 });
32
33 describe('#getName', function() {
34 it('returns the package name if available', function() {
35 var addon = { pkg: { name: 'foo' } };
36 assert.equal(addonUtils.getName(addon), 'foo', 'Should return "foo"');
37 });
38
39 it('returns the addon\'s name if the package name is not specified', function() {
40 var addon = { name: 'foo' };
41 assert.equal(addonUtils.getName(addon), 'foo', 'Should return "foo"');
42 });
43
44 it('returns the package name over addon name', function() {
45 var addon = { name: 'bar', pkg: { name: 'foo' } };
46 assert.equal(addonUtils.getName(addon), 'foo', 'Should return "foo"');
47 });
48 });
49});