Skip to content

Commit 9b30274

Browse files
committed
Add tests
1 parent d297f30 commit 9b30274

File tree

1 file changed

+137
-0
lines changed

1 file changed

+137
-0
lines changed
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
'use strict';
2+
3+
// MODULES //
4+
5+
var tape = require( 'tape' );
6+
var proxyquire = require( 'proxyquire' );
7+
var alias2pkg = require( './../lib/functions/alias2pkg.js' );
8+
9+
10+
// FIXTURES //
11+
12+
function namespace() {
13+
var ns = [
14+
{
15+
'alias': 'beep',
16+
'path': '@stdlib/beep',
17+
'value': {}
18+
},
19+
{
20+
'alias': 'boop',
21+
'path': '@stdlib/foo/boop',
22+
'value': []
23+
},
24+
{
25+
'value': {}
26+
}
27+
];
28+
ns[ '@noCallThru' ] = true;
29+
return ns;
30+
}
31+
32+
33+
// TESTS //
34+
35+
tape( 'main export is a function', function test( t ) {
36+
t.ok( true, __filename );
37+
t.strictEqual( typeof alias2pkg, 'function', 'main export is a function' );
38+
t.end();
39+
});
40+
41+
tape( 'the function resolves an alias to a package name (alias)', function test( t ) {
42+
var alias2pkg;
43+
var mock;
44+
var ns;
45+
46+
mock = {
47+
'log': log
48+
};
49+
50+
ns = namespace();
51+
52+
alias2pkg = proxyquire( './../lib/functions/alias2pkg.js', {
53+
'./../namespace.js': ns,
54+
'./../console.js': mock
55+
});
56+
57+
alias2pkg( 'beep' );
58+
59+
function log( str ) {
60+
t.strictEqual( str, '@stdlib/beep', 'logs expected value' );
61+
t.end();
62+
}
63+
});
64+
65+
tape( 'the function resolves an alias to a package name (known value reference)', function test( t ) {
66+
var alias2pkg;
67+
var mock;
68+
var ns;
69+
70+
mock = {
71+
'log': log
72+
};
73+
74+
ns = namespace();
75+
76+
alias2pkg = proxyquire( './../lib/functions/alias2pkg.js', {
77+
'./../namespace.js': ns,
78+
'./../console.js': mock
79+
});
80+
81+
alias2pkg( ns[ 1 ].value );
82+
83+
function log( str ) {
84+
t.strictEqual( str, '@stdlib/foo/boop', 'logs expected value' );
85+
t.end();
86+
}
87+
});
88+
89+
tape( 'if unable to resolve a package name, the function logs a message (alias)', function test( t ) {
90+
var alias2pkg;
91+
var mock;
92+
var ns;
93+
94+
mock = {
95+
'log': log
96+
};
97+
98+
ns = namespace();
99+
100+
alias2pkg = proxyquire( './../lib/functions/alias2pkg.js', {
101+
'./../namespace.js': ns,
102+
'./../console.js': mock
103+
});
104+
105+
alias2pkg( 'adkfjadkfjsldjjfasdlfsdj' );
106+
107+
function log( str ) {
108+
t.notEqual( str, '@stdlib/beep', 'logs a different string' );
109+
t.notEqual( str, '@stdlib/foo/boop', 'logs a different string' );
110+
t.end();
111+
}
112+
});
113+
114+
tape( 'if unable to resolve a package name, the function logs a message (value; no alias)', function test( t ) {
115+
var alias2pkg;
116+
var mock;
117+
var ns;
118+
119+
mock = {
120+
'log': log
121+
};
122+
123+
ns = namespace();
124+
125+
alias2pkg = proxyquire( './../lib/functions/alias2pkg.js', {
126+
'./../namespace.js': ns,
127+
'./../console.js': mock
128+
});
129+
130+
alias2pkg( ns[ 2 ].value );
131+
132+
function log( str ) {
133+
t.notEqual( str, '@stdlib/beep', 'logs a different string' );
134+
t.notEqual( str, '@stdlib/foo/boop', 'logs a different string' );
135+
t.end();
136+
}
137+
});

0 commit comments

Comments
 (0)