Sha256: 33ed849e39446d8934df050b2ea3ff9a12bff98ec74ba16d1f90777243b0683f

Contents?: true

Size: 1.22 KB

Versions: 43

Compression:

Stored size: 1.22 KB

Contents

/* globals describe, it */
var chai = require('chai')
chai.should()
var expect = chai.expect
var moquire = require('moquire')

var MODULE = '../'

describe('find-root', function () {
  it('recursively looks for package.json', function () {
    var checked = []
    var fs = {
      existsSync: function (path) {
        checked.push(path)
        return path === '/foo/package.json'
      }
    }

    var findRoot = moquire(MODULE, {fs: fs})

    findRoot('/foo/bar/baz')
      .should.equal('/foo')

    checked.should.deep.equal([
      '/foo/bar/baz/package.json',
      '/foo/bar/package.json',
      '/foo/package.json'
    ])
  })

  it('can take a custom check argument', function () {
    var checked = []

    var findRoot = require(MODULE)

    findRoot('/foo/bar/baz', function (dir) {
      checked.push(dir)
      return dir === '/foo/bar'
    })
    .should.equal('/foo/bar')

    checked.should.deep.equal([
      '/foo/bar/baz',
      '/foo/bar'
    ])
  })

  it('throws if not found', function () {
    var fs = {
      statSync: function (path) {
        throw new Error()
      }
    }

    var findRoot = moquire(MODULE, {fs: fs})

    expect(function () {
      findRoot('/foo/bar/baz/')
    }).to.throw('not found')
  })
})

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
govuk_publishing_components-18.0.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.21.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.20.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.19.1 node_modules/find-root/test/test.js
govuk_publishing_components-17.19.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.18.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.17.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.16.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.15.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.14.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.13.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.12.2 node_modules/find-root/test/test.js
govuk_publishing_components-17.12.1 node_modules/find-root/test/test.js
govuk_publishing_components-17.12.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.11.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.10.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.9.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.8.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.7.0 node_modules/find-root/test/test.js
govuk_publishing_components-17.6.1 node_modules/find-root/test/test.js