徐总多门店
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
1.2 KiB

'use strict';
/*jshint asi: true */
var test = require('tap').test
var path = require('path')
var fs = require('fs')
var findParentDir = require('..')
test('finding .git root relative to the test dir', function (t) {
findParentDir(__dirname, '.git', function (err, dir) {
t.equals(dir, path.resolve(__dirname, '..') + '/')
t.end()
});
})
test('finding this dir relative to the test dir', function (t) {
findParentDir(__dirname, 'find-parent-dir.js', function (err, dir) {
t.equals(dir, path.resolve(__dirname))
t.end()
});
})
test('sync finding .git root relative to the test dir', function (t) {
var dir = findParentDir.sync(__dirname, '.git')
t.equals(dir, path.resolve(__dirname, '..') + '/')
t.end()
})
test('sync finding this dir relative to the test dir', function (t) {
var dir = findParentDir.sync(__dirname, 'find-parent-dir.js')
t.equals(dir, path.resolve(__dirname))
t.end()
})
test('find no dir when file is in the test dir', function(t) {
var filepath = path.join(__dirname, 'shazam.txt')
fs.writeFileSync(filepath, 'shaq attack')
findParentDir('/etc', 'shazam.txt', function (err, dir) {
fs.unlinkSync(filepath)
t.equals(err, null)
t.equals(dir, null)
t.end()
})
})