45 lines
1.2 KiB
45 lines
1.2 KiB
5 months ago
|
'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()
|
||
|
})
|
||
|
})
|