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
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()
|
|
})
|
|
})
|
|
|