]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/fstream-npm/test/scoped.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / fstream-npm / test / scoped.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/fstream-npm/test/scoped.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/fstream-npm/test/scoped.js
new file mode 100644 (file)
index 0000000..c001c1b
--- /dev/null
@@ -0,0 +1,94 @@
+var fs = require('graceful-fs')
+var join = require('path').join
+
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var Packer = require('..')
+
+var pkg = join(__dirname, 'test-package-scoped')
+
+var elfJS = function () {/*
+module.exports = function () {
+  console.log("i'm a elf")
+}
+*/}.toString().split('\n').slice(1, -1).join()
+
+var json = {
+  'name': 'test-package-scoped',
+  'version': '3.1.4',
+  'main': 'elf.js',
+  'bundledDependencies': [
+    '@npmwombat/scoped'
+  ]
+}
+
+test('setup', function (t) {
+  setup()
+  t.end()
+})
+
+var included = [
+  'package.json',
+  'elf.js',
+  join('node_modules', '@npmwombat', 'scoped', 'index.js')
+]
+
+test('includes bundledDependencies', function (t) {
+  var subject = new Packer({ path: pkg, type: 'Directory', isDirectory: true })
+  var filenames = []
+  subject.on('entry', function (entry) {
+    t.equal(entry.type, 'File', 'only files in this package')
+
+    // include relative path in filename
+    var filename = entry._path.slice(entry.root._path.length + 1)
+
+    filenames.push(filename)
+  })
+  // need to do this so fstream doesn't explode when files are removed from
+  // under it
+  subject.on('end', function () {
+    // ensure we get *exactly* the results we expect by comparing in both
+    // directions
+    filenames.forEach(function (filename) {
+      t.ok(
+        included.indexOf(filename) > -1,
+        filename + ' is included'
+      )
+    })
+    included.forEach(function (filename) {
+      t.ok(
+        filenames.indexOf(filename) > -1,
+        filename + ' is not included'
+      )
+    })
+    t.end()
+  })
+})
+
+test('cleanup', function (t) {
+  // rimraf.sync chokes here for some reason
+  rimraf(pkg, function () { t.end() })
+})
+
+function setup () {
+  rimraf.sync(pkg)
+  mkdirp.sync(pkg)
+  fs.writeFileSync(
+    join(pkg, 'package.json'),
+    JSON.stringify(json, null, 2)
+  )
+
+  fs.writeFileSync(
+    join(pkg, 'elf.js'),
+    elfJS
+  )
+
+  var scopedDir = join(pkg, 'node_modules', '@npmwombat', 'scoped')
+  mkdirp.sync(scopedDir)
+  fs.writeFileSync(
+    join(scopedDir, 'index.js'),
+    "console.log('hello wombat')"
+  )
+}