| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 'use strict'var test = require('tape')var path = require('path')var requireInject = require('require-inject')var configure = requireInject('../lib/configure', {  'graceful-fs': {    'closeSync': function (fd) { return undefined },    'openSync': function (path) {      if (readableFiles.some(function (f) { return f === path} )) {        return 0      } else {        var error = new Error('ENOENT - not found')        throw error      }    }  }})var dir = path.sep + 'testdir'var readableFile = 'readable_file'var anotherReadableFile = 'another_readable_file'var readableFileInDir = 'somedir' + path.sep + readableFilevar readableFiles = [  path.resolve(dir, readableFile),  path.resolve(dir, anotherReadableFile),  path.resolve(dir, readableFileInDir)]test('find accessible - empty array', function (t) {  t.plan(1)  var candidates = []  var found = configure.test.findAccessibleSync('test', dir, candidates)  t.strictEqual(found, undefined)})test('find accessible - single item array, readable', function (t) {  t.plan(1)  var candidates = [ readableFile ]  var found = configure.test.findAccessibleSync('test', dir, candidates)  t.strictEqual(found, path.resolve(dir, readableFile))})test('find accessible - single item array, readable in subdir', function (t) {  t.plan(1)  var candidates = [ readableFileInDir ]  var found = configure.test.findAccessibleSync('test', dir, candidates)  t.strictEqual(found, path.resolve(dir, readableFileInDir))})test('find accessible - single item array, unreadable', function (t) {  t.plan(1)  var candidates = [ 'unreadable_file' ]  var found = configure.test.findAccessibleSync('test', dir, candidates)  t.strictEqual(found, undefined)})test('find accessible - multi item array, no matches', function (t) {  t.plan(1)  var candidates = [ 'non_existent_file', 'unreadable_file' ]  var found = configure.test.findAccessibleSync('test', dir, candidates)  t.strictEqual(found, undefined)})test('find accessible - multi item array, single match', function (t) {  t.plan(1)  var candidates = [ 'non_existent_file', readableFile ]  var found = configure.test.findAccessibleSync('test', dir, candidates)  t.strictEqual(found, path.resolve(dir, readableFile))})test('find accessible - multi item array, return first match', function (t) {  t.plan(1)  var candidates = [ 'non_existent_file', anotherReadableFile, readableFile ]  var found = configure.test.findAccessibleSync('test', dir, candidates)  t.strictEqual(found, path.resolve(dir, anotherReadableFile))})
 |