35 lines
		
	
	
		
			735 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			735 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var GetIntrinsic = require('../GetIntrinsic');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var test = require('tape');
							 | 
						||
| 
								 | 
							
								var forEach = require('foreach');
							 | 
						||
| 
								 | 
							
								var debug = require('object-inspect');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var v = require('./helpers/values');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('export', function (t) {
							 | 
						||
| 
								 | 
							
									t.equal(typeof GetIntrinsic, 'function', 'it is a function');
							 | 
						||
| 
								 | 
							
									t.equal(GetIntrinsic.length, 2, 'function has length of 2');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									t.end();
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('throws', function (t) {
							 | 
						||
| 
								 | 
							
									t['throws'](
							 | 
						||
| 
								 | 
							
										function () { GetIntrinsic('not an intrinsic'); },
							 | 
						||
| 
								 | 
							
										SyntaxError,
							 | 
						||
| 
								 | 
							
										'nonexistent intrinsic throws a syntax error'
							 | 
						||
| 
								 | 
							
									);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									forEach(v.nonBooleans, function (nonBoolean) {
							 | 
						||
| 
								 | 
							
										t['throws'](
							 | 
						||
| 
								 | 
							
											function () { GetIntrinsic('%', nonBoolean); },
							 | 
						||
| 
								 | 
							
											TypeError,
							 | 
						||
| 
								 | 
							
											debug(nonBoolean) + ' is not a Boolean'
							 | 
						||
| 
								 | 
							
										);
							 | 
						||
| 
								 | 
							
									});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									t.end();
							 | 
						||
| 
								 | 
							
								});
							 |