def test_find_main_starting_with_dot(self): temp_dir = tempfile.mkdtemp(prefix='node-require-test') try: os.makedirs(temp_dir + '/node_modules/package/') package_json = open(temp_dir + '/node_modules/package/package.json', 'w') # Create a main file starting with ./ json.dump({'main': './index.js'}, package_json) package_json.close() # Create the required file open(temp_dir + '/node_modules/package/index.js', 'w').close() current_file = temp_dir + '/main.js' require_stmt = 'package' result = main.find_package_require(current_file, require_stmt) expected = temp_dir + '/node_modules/package/index.js' self.assertEqual(expected, result) except Exception as err: self.fail(err) finally: shutil.rmtree(temp_dir)
def test_find_main_file_root_dir(self): ''' Finds a file specified as "main" in package.json directory structure: dir/ main.js <- We are here package.json node_modules/ package/ package.json entry.js <- Find this file ''' temp_dir = tempfile.mkdtemp(prefix='node-require-test') try: os.makedirs(temp_dir + '/node_modules/package') package_json = open(temp_dir + '/node_modules/package/package.json', 'w') json.dump({'main': 'entry.js'}, package_json) package_json.close() open(temp_dir + '/node_modules/package/entry.js', 'w').close() current_file = temp_dir + '/main.js' require_stmt = 'package' result = main.find_package_require(current_file, require_stmt) expected = temp_dir + '/node_modules/package/entry.js' self.assertEqual(expected, result) except Exception as err: self.fail(traceback.format_exc()) finally: shutil.rmtree(temp_dir)
def test_find_main_file_other_dir(self): temp_dir = tempfile.mkdtemp(prefix='node-require-test') try: os.makedirs(temp_dir + '/node_modules/package/lib') package_json = open(temp_dir + '/node_modules/package/package.json', 'w') json.dump({'main': './lib/foo.js'}, package_json) package_json.close() open(temp_dir + '/node_modules/package/lib/foo.js', 'w').close() current_file = temp_dir + '/main.js' require_stmt = 'package' result = main.find_package_require(current_file, 'package') expected = temp_dir + '/node_modules/package/lib/foo.js' self.assertEqual(expected, result) except Exception as err: self.fail(err) finally: shutil.rmtree(temp_dir)