MACHIN
This commit is contained in:
		
							
								
								
									
										77
									
								
								32/node_modules/jake/test/unit/namespace.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								32/node_modules/jake/test/unit/namespace.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Jake JavaScript build tool
 | 
			
		||||
 * Copyright 2112 Matthew Eernisse (mde@fleegix.org)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *         http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 *
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
const PROJECT_DIR = process.env.PROJECT_DIR;
 | 
			
		||||
 | 
			
		||||
// Load the jake global
 | 
			
		||||
require(`${PROJECT_DIR}/lib/jake`);
 | 
			
		||||
let { Namespace } = require(`${PROJECT_DIR}/lib/namespace`);
 | 
			
		||||
 | 
			
		||||
require('./jakefile');
 | 
			
		||||
 | 
			
		||||
let assert = require('assert');
 | 
			
		||||
 | 
			
		||||
suite('namespace', function () {
 | 
			
		||||
 | 
			
		||||
  this.timeout(7000);
 | 
			
		||||
 | 
			
		||||
  test('resolve namespace by relative name', function () {
 | 
			
		||||
    let aaa, bbb, ccc;
 | 
			
		||||
    aaa = namespace('aaa', function () {
 | 
			
		||||
      bbb = namespace('bbb', function () {
 | 
			
		||||
        ccc = namespace('ccc', function () {
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    assert.ok(aaa, Namespace.ROOT_NAMESPACE.resolveNamespace('aaa'));
 | 
			
		||||
    assert.ok(bbb === aaa.resolveNamespace('bbb'));
 | 
			
		||||
    assert.ok(ccc === aaa.resolveNamespace('bbb:ccc'));
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  test('resolve task in sub-namespace by relative path', function () {
 | 
			
		||||
    let curr = Namespace.ROOT_NAMESPACE.resolveNamespace('zooby');
 | 
			
		||||
    let task = curr.resolveTask('frang:w00t:bar');
 | 
			
		||||
    assert.ok(task.action.toString().indexOf('zooby:frang:w00t:bar') > -1);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  test('prefer local to top-level', function () {
 | 
			
		||||
    let curr = Namespace.ROOT_NAMESPACE.resolveNamespace('zooby:frang:w00t');
 | 
			
		||||
    let task = curr.resolveTask('bar');
 | 
			
		||||
    assert.ok(task.action.toString().indexOf('zooby:frang:w00t:bar') > -1);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  test('does resolve top-level', function () {
 | 
			
		||||
    let curr = Namespace.ROOT_NAMESPACE.resolveNamespace('zooby:frang:w00t');
 | 
			
		||||
    let task = curr.resolveTask('foo');
 | 
			
		||||
    assert.ok(task.action.toString().indexOf('top-level foo') > -1);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  test('absolute lookup works from sub-namespaces', function () {
 | 
			
		||||
    let curr = Namespace.ROOT_NAMESPACE.resolveNamespace('hurr:durr');
 | 
			
		||||
    let task = curr.resolveTask('zooby:frang:w00t:bar');
 | 
			
		||||
    assert.ok(task.action.toString().indexOf('zooby:frang:w00t:bar') > -1);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  test('resolution miss with throw error', function () {
 | 
			
		||||
    let curr = Namespace.ROOT_NAMESPACE;
 | 
			
		||||
    let task = curr.resolveTask('asdf:qwer');
 | 
			
		||||
    assert.ok(!task);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user