@@ -40,92 +40,109 @@ tape( 'main export is a function', function test( t ) {
4040} ) ;
4141
4242tape ( 'feature detection result is a boolean' , function test ( t ) {
43- t . strictEqual ( typeof detect ( ) , 'boolean' , 'detection result is a boolean ' ) ;
43+ t . strictEqual ( typeof detect ( ) , 'boolean' , 'returns expected value ' ) ;
4444 t . end ( ) ;
4545} ) ;
4646
4747tape ( 'if `Float16Array` is supported, detection result is `true`' , function test ( t ) {
4848 var mocked ;
4949 if ( hasFloat16Array ) {
50- t . strictEqual ( detect ( ) , true , 'detection result is `true` ' ) ;
50+ t . strictEqual ( detect ( ) , true , 'returns expected value ' ) ;
5151 } else {
52- t . strictEqual ( detect ( ) , false , 'detection result is `false` ' ) ;
52+ t . strictEqual ( detect ( ) , false , 'returns expected value ' ) ;
5353 }
5454 mocked = proxyquire ( './../lib/main.js' , {
55- './float16array.js' : Mock ,
56- '@stdlib/assert-is-float16array' : isArray
55+ './float16array.js' : Mock
5756 } ) ;
58- t . strictEqual ( mocked ( ) , true , 'detection result is `true` (mocked) ' ) ;
57+ t . strictEqual ( mocked ( ) , true , 'returns expected value ' ) ;
5958
6059 t . end ( ) ;
6160
62- function isArray ( ) {
63- return true ;
64- }
65-
6661 function Mock ( ) {
67- return [
68- 1.0 ,
69- 3.0 ,
70- - 3.0 ,
71- Number . POSITIVE_INFINITY
72- ] ;
62+ var mock = {
63+ '0' : 1.0 ,
64+ '1' : 3.0 ,
65+ '2' : - 3.0 ,
66+ '3' : Number . POSITIVE_INFINITY ,
67+ 'length' : 4 ,
68+ 'constructor' : {
69+ 'name' : 'Float16Array'
70+ } ,
71+ 'BYTES_PER_ELEMENT' : 2
72+ } ;
73+ return mock ;
7374 }
7475} ) ;
7576
7677tape ( 'if `Float16Array` is not supported, detection result is `false`' , function test ( t ) {
7778 var mocked ;
7879 if ( hasFloat16Array ) {
79- t . strictEqual ( detect ( ) , true , 'detection result is `true` ' ) ;
80+ t . strictEqual ( detect ( ) , true , 'returns expected value ' ) ;
8081 } else {
81- t . strictEqual ( detect ( ) , false , 'detection result is `false` ' ) ;
82+ t . strictEqual ( detect ( ) , false , 'returns expected value ' ) ;
8283 }
8384 mocked = proxyquire ( './../lib/main.js' , {
8485 './float16array.js' : { }
8586 } ) ;
86- t . strictEqual ( mocked ( ) , false , 'detection result is `false` ' ) ;
87+ t . strictEqual ( mocked ( ) , false , 'returns expected value ' ) ;
8788
8889 mocked = proxyquire ( './../lib/main.js' , {
8990 './float16array.js' : Mock1
9091 } ) ;
91- t . strictEqual ( mocked ( ) , false , 'detection result is `false` ' ) ;
92+ t . strictEqual ( mocked ( ) , false , 'returns expected value ' ) ;
9293
9394 mocked = proxyquire ( './../lib/main.js' , {
94- './float16array.js' : Mock2 ,
95- '@stdlib/assert-is-float16array' : isArray
95+ './float16array.js' : Mock2
9696 } ) ;
97- t . strictEqual ( mocked ( ) , false , 'detection result is `false` ' ) ;
97+ t . strictEqual ( mocked ( ) , false , 'returns expected value ' ) ;
9898
9999 mocked = proxyquire ( './../lib/main.js' , {
100- './float16array.js' : Mock3 ,
101- '@stdlib/assert-is-float16array' : isArray
100+ './float16array.js' : Mock3
102101 } ) ;
103- t . strictEqual ( mocked ( ) , false , 'detection result is `false` ' ) ;
102+ t . strictEqual ( mocked ( ) , false , 'returns expected value ' ) ;
104103
105104 mocked = proxyquire ( './../lib/main.js' , {
106105 './float16array.js' : Mock4
107106 } ) ;
108- t . strictEqual ( mocked ( ) , false , 'detection result is `false` ' ) ;
107+ t . strictEqual ( mocked ( ) , false , 'returns expected value ' ) ;
109108
110109 t . end ( ) ;
111110
112- function isArray ( ) {
113- return true ;
114- }
115-
116111 function Mock1 ( ) {
117112 // Not a typed array:
118113 return [ ] ;
119114 }
120115
121116 function Mock2 ( ) {
122117 // Does not lose precision...
123- return [ 1.0 , 3.14 , - 3.14 , Number . POSITIVE_INFINITY ] ;
118+ var mock = {
119+ '0' : 1.0 ,
120+ '1' : 3.14 ,
121+ '2' : - 3.14 ,
122+ '3' : Number . POSITIVE_INFINITY ,
123+ 'length' : 4 ,
124+ 'constructor' : {
125+ 'name' : 'Float16Array'
126+ } ,
127+ 'BYTES_PER_ELEMENT' : 2
128+ } ;
129+ return mock ;
124130 }
125131
126132 function Mock3 ( ) {
127133 // Does not overflow...
128- return [ 1.0 , 3.140625 , - 3.140625 , 5.0e40 ] ;
134+ var mock = {
135+ '0' : 1.0 ,
136+ '1' : 3.140625 ,
137+ '2' : - 3.140625 ,
138+ '3' : 5.0e40 ,
139+ 'length' : 4 ,
140+ 'constructor' : {
141+ 'name' : 'Float16Array'
142+ } ,
143+ 'BYTES_PER_ELEMENT' : 2
144+ } ;
145+ return mock ;
129146 }
130147
131148 function Mock4 ( ) {
0 commit comments