1 | var addonUtils = require('../lib/addon-utils');
|
2 | var assert = require('chai').assert;
|
3 |
|
4 | describe('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 | });
|