summaryrefslogtreecommitdiffstats
path: root/t/recipes/checks/languages/javascript
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/debian/install10
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/fill-values3
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap-1.1.js1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap.js1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/doxygen.css1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.js1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.min.js1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.css1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.js1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/rss_parse.php1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/streams.php0
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/tiny_mce_popup.js1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/eval/desc3
-rw-r--r--t/recipes/checks/languages/javascript/embedded/files-embedded/eval/hints6
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/changelog.in78
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/control42
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/doc-base11
-rwxr-xr-xt/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/rules231
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/fill-values5
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/ .tif2
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/".tif1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/Maelstrom Sound1
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/hints11
-rw-r--r--t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/post-test3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/debian/control.in17
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/fill-values4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/package.json5
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/hints3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/install1
-rwxr-xr-xt/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/rules16
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/fill-values3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.json1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/hints2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/install2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/rules4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/tests/pkg-js/test3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/watch42
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/fill-values4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/package.json1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/test/nestedTest/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/hints17
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/additional_components2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/root_modules1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/rules4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/tests/pkg-js/test2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/watch6
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/fill-values4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/hints8
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/install1
-rwxr-xr-xt/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/rules13
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/fill-values3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.json1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/hints2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/install1
-rwxr-xr-xt/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/rules13
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/fill-values3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.json1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/hints2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/additional_components2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/root_modules1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/rules4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/tests/pkg-js/test2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/watch6
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/fill-values4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/package.json1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/package.json4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/hints7
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/control.in18
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/files5
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/test3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/fill-values3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/lib/a/file.js0
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/package.json5
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/test/test.js0
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/hints2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/control.in18
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/tests/pkg-js/test3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/fill-values3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/package.json5
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/hints1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/debian/control.in18
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/fill-values3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/package.json5
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/hints1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/rules4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/tests/pkg-js/test3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/fill-values4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/package.json5
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/hints3
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/debian/rules4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/fill-values4
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/index.js1
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/package.json5
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/desc2
-rw-r--r--t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/hints3
146 files changed, 879 insertions, 0 deletions
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/debian/install b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/debian/install
new file mode 100644
index 0000000..104313f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/debian/install
@@ -0,0 +1,10 @@
+jquery* usr/share/php
+mocha.* usr/share/javascript/mocha
+bootstrap-* usr/share/php
+bootstrap.js usr/share/xul-ext/lintian
+streams.php usr/share/php
+streams.php usr/share/php/pomo
+rss_parse.php usr/share/php
+tiny_mce_popup.js usr/share/php
+jquery.js usr/share/doxygen-test/
+doxygen.css usr/share/doxygen-test
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/fill-values b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/fill-values
new file mode 100644
index 0000000..8c48bea
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: upload-native
+Testname: files-embedded
+Description: Check for detection of embedded PEAR modules
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap-1.1.js b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap-1.1.js
new file mode 100644
index 0000000..d9c3762
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap-1.1.js
@@ -0,0 +1 @@
+This is an embedded javascript library from Twitter that uses "var Carousel";
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap.js b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap.js
new file mode 100644
index 0000000..896075b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/bootstrap.js
@@ -0,0 +1 @@
+// https://developer.mozilla.org/en-US/docs/Extensions/bootstrap.js false positive
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/doxygen.css b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/doxygen.css
new file mode 100644
index 0000000..43dd760
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/doxygen.css
@@ -0,0 +1 @@
+Dummy CSS file so that we do not emit embedded-javascript-library in jQuery docs.
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.js b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.js
new file mode 100644
index 0000000..6d56007
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.js
@@ -0,0 +1 @@
+This is an embedded javascript library
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.min.js b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.min.js
new file mode 100644
index 0000000..6d56007
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/jquery.min.js
@@ -0,0 +1 @@
+This is an embedded javascript library
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.css b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.css
new file mode 100644
index 0000000..6d56007
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.css
@@ -0,0 +1 @@
+This is an embedded javascript library
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.js b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.js
new file mode 100644
index 0000000..6d56007
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/mocha.js
@@ -0,0 +1 @@
+This is an embedded javascript library
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/rss_parse.php b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/rss_parse.php
new file mode 100644
index 0000000..95afc6a
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/rss_parse.php
@@ -0,0 +1 @@
+This is not a php file.
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/streams.php b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/streams.php
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/streams.php
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/tiny_mce_popup.js b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/tiny_mce_popup.js
new file mode 100644
index 0000000..6d56007
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/build-spec/orig/tiny_mce_popup.js
@@ -0,0 +1 @@
+This is an embedded javascript library
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/eval/desc b/t/recipes/checks/languages/javascript/embedded/files-embedded/eval/desc
new file mode 100644
index 0000000..1e47ec3
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/eval/desc
@@ -0,0 +1,3 @@
+Testname: files-embedded
+See-Also: <g8t2fb$r9t$4@ger.gmane.org>
+Check: languages/javascript/embedded
diff --git a/t/recipes/checks/languages/javascript/embedded/files-embedded/eval/hints b/t/recipes/checks/languages/javascript/embedded/files-embedded/eval/hints
new file mode 100644
index 0000000..ea6df11
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/files-embedded/eval/hints
@@ -0,0 +1,6 @@
+files-embedded (binary): embedded-javascript-library please use tinymce [usr/share/php/tiny_mce_popup.js]
+files-embedded (binary): embedded-javascript-library please use libjs-mocha [usr/share/javascript/mocha/mocha.js]
+files-embedded (binary): embedded-javascript-library please use libjs-mocha [usr/share/javascript/mocha/mocha.css]
+files-embedded (binary): embedded-javascript-library please use libjs-jquery [usr/share/php/jquery.min.js]
+files-embedded (binary): embedded-javascript-library please use libjs-jquery [usr/share/php/jquery.js]
+files-embedded (binary): embedded-javascript-library please use libjs-bootstrap [usr/share/php/bootstrap-1.1.js]
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/changelog.in b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/changelog.in
new file mode 100644
index 0000000..b79c4ca
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/changelog.in
@@ -0,0 +1,78 @@
+filenames ([% $version %]) [% $distribution %]; urgency=low
+
+ * /me is doing a correct NMU of this package, bumping the epoch too.
+
+ -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Sun, 18 Apr 2004 02:04:39 +0200
+
+filenames (11) unstable; urgency=low
+
+ * Add a README.macos.
+
+ -- Marc 'HE' Brockschmidt <he@debian.org> Mon, 12 Apr 2004 23:35:24 +0200
+
+filenames (10) unstable; urgency=low
+
+ * Some new files to check the checks for the use of /usr/*/X11 and
+ /usr/X11R6/*.
+
+ -- Marc 'HE' Brockschmidt <he@debian.org> Sun, 11 Apr 2004 17:35:20 +0200
+
+filenames (9) unstable; urgency=low
+
+ * Add a two *.ali files, one with the right permission, one with
+ the more common, but false one.
+
+ -- Marc 'HE' Brockschmidt <he@debian.org> Sun, 11 Apr 2004 00:18:16 +0200
+
+filenames (8) unstable; urgency=low
+
+ * Add a real ancient file
+
+ -- Frank Lichtenheld <djpig@debian.org> Thu, 8 Apr 2004 22:22:40 +0200
+
+filenames (7) unstable; urgency=low
+
+ * Add a dozen symlinks, some correct, some not
+
+ -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Fri, 27 Feb 2004 01:28:42 +0100
+
+filenames (6) unstable; urgency=low
+
+ * Add perl files to check if
+ package-installs-nonbinary-perl-in-usr-lib-perl5 is correctly
+ issued even after attempting to suppress it in some cases
+
+ -- Frank Lichtenheld <djpig@debian.org> Fri, 27 Feb 2004 00:49:44 +0100
+
+filenames (5) unstable; urgency=low
+
+ * Added check for too long symlink
+
+ -- Sean 'Shaleh' Perry <shaleh@debian.org> Wed, 3 Jan 2001 13:20:31 -0800
+
+filenames (4) unstable; urgency=low
+
+ * Add /usr/lib/menu/menu file to test the bad-menu-file-name tag.
+ * Add /usr/lib/menu/README to test the new execption for it.
+
+ -- Richard Braakman <dark@xs4all.nl> Thu, 22 Oct 1998 15:42:52 +0200
+
+filenames (3) unstable; urgency=low
+
+ * Don't rely on the installer's umask.
+
+ -- Richard Braakman <dark@xs4all.nl> Thu, 20 Aug 1998 12:45:47 +0200
+
+filenames (2) unstable; urgency=low
+
+ * Noted more limitations on what filenames lintian handles.
+ * Added Changes.gz in /usr/doc/filenames and made a symlink from changelog.gz
+ to Changes.gz.
+
+ -- Richard Braakman <dark@xs4all.nl> Sat, 4 Jul 1998 15:46:11 +0200
+
+filenames (1) unstable; urgency=low
+
+ * Initial version
+
+ -- Richard Braakman <dark@xs4all.nl> Sat, 4 Jul 1998 15:25:01 +0200
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/control b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/control
new file mode 100644
index 0000000..1ff9c50
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/control
@@ -0,0 +1,42 @@
+Source: filenames
+Maintainer: Lintian Maintainer <lintian-maint@debian.org>
+Standards-Version: 3.1.1
+Rules-Requires-Root: binary-targets
+
+Package: filenames
+Architecture: any
+Description: see how lintian reacts to weird filenames
+ This package contains files with the most evil names I could find,
+ except for ones that lintian is explicitly not designed to handle.
+ .
+ Lintian does not handle filenames containing newlines, or filenames
+ that contain the strings " link to ", " -> ", or ": ". The last one
+ is used as a separator by the file command, the others are used as
+ separators by tar.
+ .
+ Lintian also does not handle filenames that contain backslashes, or
+ other characters that are mangled by tar's -tv output.
+
+Package: filename-games
+Architecture: all
+Depends: filenames
+Section: games
+Description: Test game filename/location checks
+ This package contains files with slightly less evil names than
+ filenames.
+ .
+ This is a test package designed to exercise some feature or tag of
+ Lintian. It is part of the Lintian test suite and may do very odd
+ things. It should not be installed like a regular package.
+
+Package: more-filename-games
+Architecture: all
+Depends: filenames, filename-games
+Section: games
+Priority: optional
+Description: More test for game filename/location checks
+ This package contains no evil names, only evil locations.
+ .
+ This is a test package designed to exercise some feature or tag of
+ Lintian. It is part of the Lintian test suite and may do very odd
+ things. It should not be installed like a regular package.
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/doc-base b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/doc-base
new file mode 100644
index 0000000..e5a611b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/doc-base
@@ -0,0 +1,11 @@
+Document: testing
+Title: Working doc-base control file
+Author: Russ Allbery
+Abstract: This control file ensures that we don't get false positives for
+ correct doc-base files.
+ .
+ There isn't anything wrong with this one.
+Section: Education
+
+Format: Text
+Files: /usr/share/doc/filenames/README.macosx
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/rules b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/rules
new file mode 100755
index 0000000..0b9e87c
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/debian/rules
@@ -0,0 +1,231 @@
+#!/usr/bin/make -f
+
+# Copyright (C) 1998 Richard Braakman
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, you can find it on the World Wide
+# Web at https://www.gnu.org/copyleft/gpl.html, or write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)')
+
+clean:
+ mkdir -p .svn CVS "{arch}" .arch-ids .bzr
+ touch data/.cvsignore data/svn-commit.tmp data/svk-commitsEr9P.tmp
+ touch data/.arch-inventory
+ touch 'data/.#Maelstrom Sound.1.1.1' 'data/Maelstrom Sounce.r121'
+ touch 'data/Maelstrom Sound.mine'
+ touch "data/'\\ "
+ touch filenames.c~
+
+build-arch:
+
+build-indep:
+
+build: build-arch build-indep
+
+
+binary-arch:
+
+binary-indep:
+ install -d debian/tmp/DEBIAN
+ cp -a data debian/tmp/files
+ chmod -R go=rX debian/tmp/files
+
+ install -d debian/tmp/usr/lib/filenames
+ install -m 555 -d debian/tmp/usr/lib/filenames/readonly
+ touch debian/tmp/usr/lib/filenames/readonly/test
+
+ install -d debian/tmp/usr/lib/menu
+ install -d debian/tmp/usr/share/menu
+ touch debian/tmp/usr/lib/menu/README
+ touch debian/tmp/usr/share/menu/README
+ touch debian/tmp/usr/lib/menu/menu
+ touch debian/tmp/usr/share/menu/menu
+ chmod 644 debian/tmp/usr/lib/menu/*
+
+ install -d debian/tmp/$(VENDORARCH)/foo
+ mkdir debian/tmp/$(VENDORARCH)/.svn
+ mkdir debian/tmp/$(VENDORARCH)/CVS
+ mkdir "debian/tmp/$(VENDORARCH)/{arch}"
+ mkdir debian/tmp/$(VENDORARCH)/.arch-ids
+ mkdir debian/tmp/$(VENDORARCH)/.bzr
+ mkdir debian/tmp/$(VENDORARCH)/.be
+ mkdir debian/tmp/$(VENDORARCH)/.ditrack
+ install -d debian/tmp/usr/share/perl5
+ echo foo > debian/tmp/$(VENDORARCH)/foo/.gitignore
+ echo foo > debian/tmp/$(VENDORARCH)/foo/.hgignore
+ echo foo > debian/tmp/$(VENDORARCH)/foo/.hgtags
+ echo foo > debian/tmp/$(VENDORARCH)/foo/.hg_archival.txt
+
+ touch debian/tmp/$(VENDORARCH)/foo/.packlist
+ chmod 644 debian/tmp/$(VENDORARCH)/foo/.packlist
+ touch debian/tmp/$(VENDORARCH)/foo/bar.pm
+ TZ=UTC touch -t 197501010101 debian/tmp/$(VENDORARCH)/foo/ancient.pm
+ chmod 644 debian/tmp/$(VENDORARCH)/foo/bar.pm
+
+ install -d debian/tmp/usr/share/pixmaps
+ install -d debian/tmp/usr/share/pixmaps/foo
+ touch debian/tmp/usr/share/pixmaps/license.jpeg
+ touch debian/tmp/usr/share/pixmaps/licence.jpg
+ touch debian/tmp/usr/share/pixmaps/copying.xpm
+ touch debian/tmp/usr/share/pixmaps/foo/COPYING.svg
+ touch debian/tmp/usr/share/pixmaps/foo/copying.png
+ touch debian/tmp/usr/share/pixmaps/license.txt
+ touch debian/tmp/usr/share/pixmaps/license.foo
+ touch debian/tmp/usr/share/pixmaps/COPYING
+
+ install -d debian/tmp/usr/share/linda/overrides
+ echo 'foo' > debian/tmp/usr/share/linda/overrides/filenames
+
+ install -d debian/tmp/usr/share/doc/filenames
+ touch debian/tmp/usr/share/doc/filenames/README.macosx
+
+ echo foo > debian/tmp/usr/share/doc/filenames/bokmål
+ echo foo > debian/tmp/usr/share/doc/filenames/bokm\\Ã¥l
+ echo foo > debian/tmp/usr/share/doc/filenames/bokmål
+ echo foo > debian/tmp/usr/share/doc/filenames/bokm\\ål
+
+ echo foo > debian/tmp/usr/share/doc/filenames/Thumbs.db
+ echo foo > debian/tmp/usr/share/doc/filenames/.DS_Store
+ echo foo > debian/tmp/usr/share/doc/filenames/._NEWS.Debian
+
+ touch debian/tmp/usr/share/doc/filenames/news.debian
+ gzip -n debian/tmp/usr/share/doc/filenames/news.debian
+ touch debian/tmp/usr/share/doc/filenames/NEWS.Debian
+
+ echo foo > debian/tmp/usr/share/doc/filenames/link-one
+ ln debian/tmp/usr/share/doc/filenames/link-one \
+ debian/tmp/usr/share/doc/filenames/link-two
+
+ install -d debian/tmp/usr/share/doc/filenames/examples
+ touch debian/tmp/usr/share/doc/filenames/examples/__init__.py
+ touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example
+ touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2
+ gzip -n debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2
+
+ install -d debian/tmp/usr/lib/ada/adalib/
+ touch debian/tmp/usr/lib/ada/adalib/test.ali debian/tmp/usr/lib/ada/adalib/test2.ali
+ chmod 0644 debian/tmp/usr/lib/ada/adalib/test.ali
+ chmod 0444 debian/tmp/usr/lib/ada/adalib/test2.ali
+
+ install -d debian/tmp/usr/bin/X11/
+ touch debian/tmp/usr/bin/X11/testxbin
+ install -d debian/tmp/usr/X11R6/bin
+ touch debian/tmp/usr/X11R6/bin/testxbin2
+ install -d debian/tmp/usr/include/X11
+ touch debian/tmp/usr/include/X11/foo.h
+
+ install -d debian/tmp/usr/bin/mh
+ touch debian/tmp/usr/bin/mh/read
+ chmod 755 debian/tmp/usr/bin/mh/read
+ install -d debian/tmp/usr/bin/bin
+ touch debian/tmp/usr/bin/bin/bad
+ chmod 755 debian/tmp/usr/bin/bin/bad
+
+ install -m 644 debian/changelog debian/tmp/usr/share/doc/filenames/Changes
+ gzip -n -9 debian/tmp/usr/share/doc/filenames/Changes
+ ln -s Changes.gz debian/tmp/usr/share/doc/filenames/changelog.gz
+
+ install -d debian/tmp/var/www
+ echo foo > debian/tmp/var/www/foo
+
+ install -d debian/tmp/srv/foo
+ touch debian/tmp/srv/foo/bar
+ install -d debian/tmp/opt/foo
+ touch debian/tmp/opt/foo/bar
+
+ install -d debian/tmp/etc/gconf/schemas
+ touch debian/tmp/etc/gconf/schemas/test.schema
+
+ install -d debian/tmp/usr/lib/sgml
+ touch debian/tmp/usr/lib/sgml/package
+
+ install -d debian/tmp/usr/share/gnome/apps/System
+ touch debian/tmp/usr/share/gnome/apps/System/foo.desktop
+
+ install -d debian/tmp/usr/share/filenames
+ touch debian/tmp/usr/share/filenames/jquery.js
+ touch debian/tmp/usr/share/filenames/jquery.lite.js
+ touch debian/tmp/usr/share/filenames/jquery.min.js
+ touch debian/tmp/usr/share/filenames/jquery.pack.js
+ touch debian/tmp/usr/share/filenames/mochikit.js
+ touch debian/tmp/usr/share/filenames/prototype-1.2.3.4.js
+ touch debian/tmp/usr/share/filenames/prototype.js
+ touch debian/tmp/usr/share/filenames/prototype.js.gz
+ touch debian/tmp/usr/share/filenames/scriptaculous.js
+ touch debian/tmp/usr/share/filenames/yahoo-dom-event.js
+ touch debian/tmp/usr/share/filenames/yahoo-min.js
+
+ ln -s '../filenames/doc/version6.txt.gz' debian/tmp/usr/share/doc/filenames/version.txt.gz
+ ln -s ../../share/symlink debian/tmp/usr/lib/filenames/symlink1ok
+ ln -s ../../../etc/symlink debian/tmp/usr/lib/filenames/symlink1wrong
+ ln -s ../../../../etc/symlink debian/tmp/usr/lib/filenames/symlink2wrong
+ ln -s /etc/symlink debian/tmp/usr/lib/filenames/symlink2ok
+ ln -s /usr/lib/filenames/symlink2 debian/tmp/usr/lib/filenames/symlink3wrong
+ ln -s test debian/tmp/usr/lib/filenames/symlink3ok
+ ln -s ../filenames/symlink2 debian/tmp/usr/lib/filenames/symlink4wrong
+ ln -s ../menu/../somethingelse debian/tmp/usr/lib/filenames/symlink5wrong
+ ln -s ../menu/somethingelse debian/tmp/usr/lib/filenames/symlink4ok
+ ln -s ./file4 debian/tmp/usr/lib/filenames/symlink6wrong
+ ln -s ../menu/./something debian/tmp/usr/lib/filenames/symlink7wrong
+ ln -s ../menu//something debian/tmp/usr/lib/filenames/symlink8wrong
+ ln -s ../menu/something/ debian/tmp/usr/lib/filenames/symlink9wrong
+ ln -s .. debian/tmp/usr/lib/filenames/symlink5ok+warn
+ ln -s . debian/tmp/usr/lib/filenames/symlink6ok+warn
+ ln -s / debian/tmp/usr/lib/filenames/symlink7ok+warn
+ ln -s ../../.. debian/tmp/usr/lib/filenames/symlink10wrong
+
+# devhelp tests. Files in /usr/share/gtk-doc/html or /usr/share/devhelp/books
+# are okay. Files elsewhere are okay iff their parent path is symlinked into
+# one of those paths.
+ install -d debian/tmp/usr/share/devhelp/books/filenames
+ echo 'Not really XML' > debian/tmp/usr/share/devhelp/books/filenames/a.devhelp
+ echo 'Not really XML' > debian/tmp/usr/share/devhelp/books/filenames/.devhelp2
+ gzip -n -9 debian/tmp/usr/share/devhelp/books/filenames/.devhelp2
+ install -d debian/tmp/usr/share/gtk-doc/html/filenames
+ echo 'Not really XML' > debian/tmp/usr/share/gtk-doc/html/filenames/b.devhelp
+ gzip -n -9 debian/tmp/usr/share/gtk-doc/html/filenames/b.devhelp
+ install -d debian/tmp/usr/share/doc/filenames/good-devhelp
+ echo 'Not really XML' > debian/tmp/usr/share/doc/filenames/good-devhelp/.devhelp2
+ install -d debian/tmp/usr/share/doc/filenames/bad-devhelp
+ echo 'Not really XML' > debian/tmp/usr/share/doc/filenames/bad-devhelp/c.devhelp
+ gzip -n -9 debian/tmp/usr/share/doc/filenames/bad-devhelp/c.devhelp
+ ln -s ../../doc/filenames/good-devhelp debian/tmp/usr/share/gtk-doc/html/good
+ ln -s ../doc/filenames/bad-devhelp debian/tmp/usr/share/gtk-doc/html/bad
+
+ install -d debian/tmp/usr/share/doc-base
+ install -m 644 debian/doc-base debian/tmp/usr/share/doc-base/filenames
+
+ dpkg-gencontrol -pfilenames -Pdebian/tmp
+ dpkg --build debian/tmp ..
+
+ install -d debian/filename-games debian/filename-games/DEBIAN
+ install -d debian/filename-games/usr debian/filename-games/usr/games debian/filename-games/usr/bin
+ echo '#! /bin/sh' > debian/filename-games/usr/bin/test-game
+ chmod 755 debian/filename-games/usr/bin/test-game
+ dpkg-gencontrol -pfilename-games -Pdebian/filename-games
+ dpkg --build debian/filename-games ..
+
+ install -d debian/more-filename-games debian/more-filename-games/DEBIAN
+ install -d debian/more-filename-games/usr debian/more-filename-games/usr/games debian/more-filename-games/usr/bin
+ echo '#! /bin/sh' > debian/more-filename-games/usr/bin/another-test-game
+ echo '#! /bin/sh' > debian/more-filename-games/usr/games/yet-another-test-game
+ chmod 755 debian/more-filename-games/usr/bin/another-test-game debian/more-filename-games/usr/games/yet-another-test-game
+ dpkg-gencontrol -pmore-filename-games -Pdebian/more-filename-games
+ dpkg --build debian/more-filename-games ..
+
+binary: binary-arch binary-indep
+
+.PHONY: build-indep build-arch build binary-arch binary-indep binary clean
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/fill-values b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/fill-values
new file mode 100644
index 0000000..062a1ea
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/fill-values
@@ -0,0 +1,5 @@
+Skeleton: upload-non-native
+Testname: legacy-filenames
+Source: filenames
+Version: 1:12-0.1
+Description: Legacy test "filenames"
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/ .tif b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/ .tif
new file mode 100644
index 0000000..07fd914
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/ .tif
@@ -0,0 +1,2 @@
+This filename was inspired by the ".tif used by fnlib. The real package
+uses space.tif.
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/".tif b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/".tif
new file mode 100644
index 0000000..e005775
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/".tif
@@ -0,0 +1 @@
+This filename is really used, by fnlib.
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/Maelstrom Sound b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/Maelstrom Sound
new file mode 100644
index 0000000..4110410
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/build-spec/orig/data/Maelstrom Sound
@@ -0,0 +1 @@
+This filename occurs in the maelstrom package.
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/desc b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/desc
new file mode 100644
index 0000000..86c9842
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/desc
@@ -0,0 +1,2 @@
+Testname: legacy-filenames
+Check: languages/javascript/embedded
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/hints b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/hints
new file mode 100644
index 0000000..c5e3602
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/hints
@@ -0,0 +1,11 @@
+filenames (binary): embedded-javascript-library please use libjs-yui [usr/share/filenames/yahoo-min.js]
+filenames (binary): embedded-javascript-library please use libjs-yui [usr/share/filenames/yahoo-dom-event.js]
+filenames (binary): embedded-javascript-library please use libjs-scriptaculous [usr/share/filenames/scriptaculous.js]
+filenames (binary): embedded-javascript-library please use libjs-prototype [usr/share/filenames/prototype.js]
+filenames (binary): embedded-javascript-library please use libjs-prototype [usr/share/filenames/prototype.js.gz]
+filenames (binary): embedded-javascript-library please use libjs-prototype [usr/share/filenames/prototype-1.2.3.4.js]
+filenames (binary): embedded-javascript-library please use libjs-mochikit [usr/share/filenames/mochikit.js]
+filenames (binary): embedded-javascript-library please use libjs-jquery [usr/share/filenames/jquery.pack.js]
+filenames (binary): embedded-javascript-library please use libjs-jquery [usr/share/filenames/jquery.min.js]
+filenames (binary): embedded-javascript-library please use libjs-jquery [usr/share/filenames/jquery.lite.js]
+filenames (binary): embedded-javascript-library please use libjs-jquery [usr/share/filenames/jquery.js]
diff --git a/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/post-test b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/post-test
new file mode 100644
index 0000000..571e35d
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/embedded/legacy-filenames/eval/post-test
@@ -0,0 +1,3 @@
+s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/
+s,usr/lib/([^\/]*/)?perl[0-9]*(/[0-9]*\.[0-9]*)?/,usr/lib/ma-dir/perl/version/,g
+/package-installs-packlist/ d
diff --git a/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/debian/control.in b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/debian/control.in
new file mode 100644
index 0000000..ca61aec
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/debian/control.in
@@ -0,0 +1,17 @@
+Source: [% $source %]
+Priority: optional
+Section: libs
+Maintainer: [% $author %]
+Standards-Version: [% $standards_version %]
+Build-Depends: [% $build_depends %], dh-sequence-nodejs
+Rules-Requires-Root: no
+
+Package: [% $source %]
+Architecture: [% $package_architecture %]
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: [% $description %]
+ This is a test package designed to exercise some feature or tag of
+ Lintian. It is part of the Lintian test suite and may do very odd
+ things. It should not be installed like a regular package. It may
+ be an empty package.
diff --git a/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/fill-values
new file mode 100644
index 0000000..652b02b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/fill-values
@@ -0,0 +1,4 @@
+Testname: pkg-js-tools-test-is-missing
+Skeleton: upload-native
+Description: Test if debian/tests/pkg-js/test exists
+Extra-Build-Depends: pkg-js-tools (>= 0.9.6~), nodejs (>= 8.11.1)
diff --git a/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/package.json
new file mode 100644
index 0000000..889ee8e
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/build-spec/orig/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "test",
+ "version": "0.1",
+ "main": "index.js"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/desc b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/desc
new file mode 100644
index 0000000..3270ad1
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/desc
@@ -0,0 +1,2 @@
+Testname: dh-sequence-nodejs-test-is-missing
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/hints b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/hints
new file mode 100644
index 0000000..1cc9594
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/dh-sequence-nodejs-test-is-missing/eval/hints
@@ -0,0 +1,3 @@
+pkg-js-tools-test-is-missing (source): pkg-js-tools-test-is-missing
+pkg-js-tools-test-is-missing (binary): nodejs-module-not-declared node-test [usr/share/nodejs/test/package.json]
+pkg-js-tools-test-is-missing (binary): nodejs-module test 0.1 [usr/share/nodejs/test/package.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/install b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/install
new file mode 100644
index 0000000..1b91047
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/install
@@ -0,0 +1 @@
+usr/
diff --git a/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/rules
new file mode 100755
index 0000000..22e3438
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/debian/rules
@@ -0,0 +1,16 @@
+#!/usr/bin/make -f
+PKG:=files-nodejs
+INSTPATH:=$(CURDIR)/debian/tmp/usr/share/nodejs
+
+
+%:
+ dh $@
+
+override_dh_install:
+ mkdir -p $(INSTPATH)
+ cp src/test.js $(INSTPATH)/test.js
+ cp src/test.json $(INSTPATH)/package.json
+ dh_install
+
+
+
diff --git a/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/fill-values
new file mode 100644
index 0000000..36fb14a
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: upload-native
+Testname: files-nodejs
+Description: Check for nodejs problems
diff --git a/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.js b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.js
new file mode 100644
index 0000000..ca538a6
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.js
@@ -0,0 +1 @@
+/* test.js */ \ No newline at end of file
diff --git a/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.json b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.json
new file mode 100644
index 0000000..f0a3f50
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/build-spec/orig/src/test.json
@@ -0,0 +1 @@
+/* json test */ \ No newline at end of file
diff --git a/t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/desc b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/desc
new file mode 100644
index 0000000..a86d3e5
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/desc
@@ -0,0 +1,2 @@
+Testname: files-nodejs
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/hints b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/hints
new file mode 100644
index 0000000..bd11eea
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/files-nodejs/eval/hints
@@ -0,0 +1,2 @@
+files-nodejs (binary): node-package-install-in-nodejs-rootdir [usr/share/nodejs/test.js]
+files-nodejs (binary): node-package-install-in-nodejs-rootdir [usr/share/nodejs/package.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/install b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/install
new file mode 100644
index 0000000..28705a7
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/install
@@ -0,0 +1,2 @@
+bson/* /usr/share/nodejs/badname/
+foobar/* /usr/share/nodejs/@bar/foo/
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/rules
new file mode 100644
index 0000000..9edc8dc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@ --with nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/tests/pkg-js/test b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/tests/pkg-js/test
new file mode 100644
index 0000000..bc7b127
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/tests/pkg-js/test
@@ -0,0 +1,3 @@
+# Does nothing
+
+
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/watch b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/watch
new file mode 100644
index 0000000..e6e86de
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/debian/watch
@@ -0,0 +1,42 @@
+version=4
+
+opts=\
+dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$//,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-mongodb-native-$1.tar.gz/ \
+ https://github.com/mongodb/node-mongodb-native/tags .*/archive/v?([\d\.]+).tar.gz group
+
+opts="searchmode=plain,pgpmode=none,component=mongodb-core" \
+ https://registry.npmjs.org/mongodb-core https://registry.npmjs.org/mongodb-core/-/mongodb-core-(\d[\d\.]*)@ARCHIVE_EXT@ group
+
+opts="searchmode=plain,pgpmode=none,component=requireoptional" \
+ https://registry.npmjs.org/require_optional https://registry.npmjs.org/require_optional/-/require_optional-(\d[\d\.]*)@ARCHIVE_EXT@ ignore
+
+opts="searchmode=plain,pgpmode=none,component=bson" \
+ https://registry.npmjs.org/bson https://registry.npmjs.org/bson/-/bson-(1[\d\.]*)@ARCHIVE_EXT@ ignore
+
+opts="searchmode=plain,pgpmode=none,component=foobar" \
+ https://registry.npmjs.org/bson https://registry.npmjs.org/foobar/-/foobar-(1[\d\.]*)@ARCHIVE_EXT@ ignore
+
+# It is not recommended use npmregistry. Please investigate more.
+# Take a look at https://wiki.debian.org/debian/watch/
+opts="searchmode=plain,component=denque,pgpmode=none" \
+ https://registry.npmjs.org/denque https://registry.npmjs.org/denque/-/denque-([\d\.]+)@ARCHIVE_EXT@ ignore
+
+opts=\
+component=saslprep,\
+dversionmangle=auto,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-saslprep-$1.tar.gz/ \
+ https://github.com/reklatsmasters/saslprep/tags .*/archive/v?([\d\.]+).tar.gz ignore
+
+opts=\
+component=sparse-bitfield,\
+dversionmangle=auto,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-sparse-bitfield-$1.tar.gz/ \
+ https://github.com/mafintosh/sparse-bitfield/tags .*/archive/v?([\d\.]+).tar.gz ignore
+
+opts=\
+component=memory-pager,\
+dversionmangle=auto,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-memory-pager-$1.tar.gz/ \
+ https://github.com/mafintosh/memory-pager/tags .*/archive/v?([\d\.]+).tar.gz ignore
+
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/fill-values
new file mode 100644
index 0000000..28ad15b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/fill-values
@@ -0,0 +1,4 @@
+Testname: multiple-nodejs-components
+Skeleton: upload-native
+Description: Test if debian/tests/pkg-js/test contains a command
+Extra-Build-Depends: pkg-js-tools (>= 0.9.6~), nodejs (>= 8.11.1)
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/package.json
new file mode 100644
index 0000000..fb10cf1
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/browser_build/package.json
@@ -0,0 +1 @@
+{ "name": "bson" }
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/package.json
new file mode 100644
index 0000000..745d4e7
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/bson/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "bson",
+ "version": "1.1.3"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/package.json
new file mode 100644
index 0000000..8e07817
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/denque/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "denque",
+ "version": "1.4.1"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/package.json
new file mode 100644
index 0000000..694a18b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/foobar/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "@foo/bar",
+ "version": "1.2.0"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/package.json
new file mode 100644
index 0000000..6d5e475
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/memory-pager/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "memory-pager",
+ "version": "1.5.0"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/package.json
new file mode 100644
index 0000000..0c136ce
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/mongodb-core/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "mongodb-core",
+ "version": "3.2.7"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/package.json
new file mode 100644
index 0000000..d60e40f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "mongodb",
+ "version": "3.5.2"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/package.json
new file mode 100644
index 0000000..e3bbffa
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "require_optional",
+ "version": "1.0.1"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/test/nestedTest/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/test/nestedTest/package.json
new file mode 100644
index 0000000..85c7a79
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/requireoptional/test/nestedTest/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "nestedtest",
+ "version": "1.0.0"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/package.json
new file mode 100644
index 0000000..536f56d
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/saslprep/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "saslprep",
+ "version": "1.0.3"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/index.js b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/package.json b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/package.json
new file mode 100644
index 0000000..309af23
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/build-spec/orig/sparse-bitfield/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "sparse-bitfield",
+ "version": "3.0.3"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/desc b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/desc
new file mode 100644
index 0000000..a356c1f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/desc
@@ -0,0 +1,2 @@
+Testname: multiple-nodejs-components
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/hints b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/hints
new file mode 100644
index 0000000..66aa966
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/multiple-nodejs-components/eval/hints
@@ -0,0 +1,17 @@
+multiple-nodejs-components (source): pkg-js-tools-test-is-empty [debian/tests/pkg-js/test]
+multiple-nodejs-components (binary): nodejs-module-not-declared node-mongodb [usr/share/nodejs/mongodb/package.json]
+multiple-nodejs-components (binary): nodejs-module-installed-in-bad-directory bson badname [usr/share/nodejs/badname/package.json]
+multiple-nodejs-components (binary): nodejs-module-installed-in-bad-directory @foo/bar @bar/foo [usr/share/nodejs/@bar/foo/package.json]
+multiple-nodejs-components (binary): nodejs-module sparse-bitfield 3.0.3 [usr/share/nodejs/mongodb/node_modules/sparse-bitfield/package.json]
+multiple-nodejs-components (binary): nodejs-module saslprep 1.0.3 [usr/share/nodejs/mongodb/node_modules/saslprep/package.json]
+multiple-nodejs-components (binary): nodejs-module require_optional 1.0.1 [usr/share/nodejs/mongodb/node_modules/require_optional/package.json]
+multiple-nodejs-components (binary): nodejs-module mongodb-core 3.2.7 [usr/share/nodejs/mongodb/node_modules/mongodb-core/package.json]
+multiple-nodejs-components (binary): nodejs-module mongodb 3.5.2 [usr/share/nodejs/mongodb/package.json]
+multiple-nodejs-components (binary): nodejs-module memory-pager 1.5.0 [usr/share/nodejs/mongodb/node_modules/memory-pager/package.json]
+multiple-nodejs-components (binary): nodejs-module denque 1.4.1 [usr/share/nodejs/mongodb/node_modules/denque/package.json]
+multiple-nodejs-components (binary): nodejs-module bson undef [usr/share/nodejs/mongodb/node_modules/bson/browser_build/package.json]
+multiple-nodejs-components (binary): nodejs-module bson undef [usr/share/nodejs/badname/browser_build/package.json]
+multiple-nodejs-components (binary): nodejs-module bson 1.1.3 [usr/share/nodejs/mongodb/node_modules/bson/package.json]
+multiple-nodejs-components (binary): nodejs-module bson 1.1.3 [usr/share/nodejs/badname/package.json]
+multiple-nodejs-components (binary): nodejs-module @foo/bar 1.2.0 [usr/share/nodejs/mongodb/node_modules/@foo/bar/package.json]
+multiple-nodejs-components (binary): nodejs-module @foo/bar 1.2.0 [usr/share/nodejs/@bar/foo/package.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/additional_components b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/additional_components
new file mode 100644
index 0000000..0b11676
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/additional_components
@@ -0,0 +1,2 @@
+bson
+foobar
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/root_modules b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/root_modules
new file mode 100644
index 0000000..323fae0
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/nodejs/root_modules
@@ -0,0 +1 @@
+foobar
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/rules
new file mode 100644
index 0000000..9edc8dc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@ --with nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/tests/pkg-js/test b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/tests/pkg-js/test
new file mode 100644
index 0000000..babcb6f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/tests/pkg-js/test
@@ -0,0 +1,2 @@
+# Does nothing
+echo OK
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/watch b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/watch
new file mode 100644
index 0000000..59625c6
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/debian/watch
@@ -0,0 +1,6 @@
+version=4
+
+opts=\
+dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$//,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-mongodb-native-$1.tar.gz/ \
+ https://github.com/mongodb/node-mongodb-native/tags .*/archive/v?([\d\.]+).tar.gz group
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/fill-values
new file mode 100644
index 0000000..939e0b8
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/fill-values
@@ -0,0 +1,4 @@
+Testname: nodejs-missing-version-override
+Skeleton: upload-native
+Description: Test if nodejs modules have a valid version
+Extra-Build-Depends: pkg-js-tools (>= 0.9.6~), nodejs (>= 8.11.1)
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/index.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/package.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/package.json
new file mode 100644
index 0000000..0b293f1
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/bson/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "bson",
+ "version": "0.0.0-development"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/index.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/package.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/package.json
new file mode 100644
index 0000000..8ddf1cc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/foobar/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "@foo/bar",
+ "version": "0.0.0-development"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/package.json
new file mode 100644
index 0000000..fa746a2
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/build-spec/orig/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "mongodb",
+ "version": "0.0.0-development"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/desc b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/desc
new file mode 100644
index 0000000..ef8383a
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/desc
@@ -0,0 +1,2 @@
+Testname: nodejs-missing-version-override
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/hints b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/hints
new file mode 100644
index 0000000..e00c819
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-missing-version-override/eval/hints
@@ -0,0 +1,8 @@
+nodejs-missing-version-override (binary): nodejs-module-not-declared node-mongodb [usr/share/nodejs/mongodb/package.json]
+nodejs-missing-version-override (binary): nodejs-module-not-declared node-foo-bar [usr/share/nodejs/@foo/bar/package.json]
+nodejs-missing-version-override (binary): nodejs-module mongodb 0.0.0-development [usr/share/nodejs/mongodb/package.json]
+nodejs-missing-version-override (binary): nodejs-module bson 0.0.0-development [usr/share/nodejs/mongodb/node_modules/bson/package.json]
+nodejs-missing-version-override (binary): nodejs-module @foo/bar 0.0.0-development [usr/share/nodejs/@foo/bar/package.json]
+nodejs-missing-version-override (binary): nodejs-missing-version-override mongodb 0.0.0-development [usr/share/nodejs/mongodb/package.json]
+nodejs-missing-version-override (binary): nodejs-missing-version-override bson 0.0.0-development [usr/share/nodejs/mongodb/node_modules/bson/package.json]
+nodejs-missing-version-override (binary): nodejs-missing-version-override @foo/bar 0.0.0-development [usr/share/nodejs/@foo/bar/package.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/install b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/install
new file mode 100644
index 0000000..1b91047
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/install
@@ -0,0 +1 @@
+usr/
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/rules
new file mode 100755
index 0000000..0b4a889
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/debian/rules
@@ -0,0 +1,13 @@
+#!/usr/bin/make -f
+PKG:=nodejs-module-installed-in-usr-lib
+INSTPATH:=$(CURDIR)/debian/tmp/usr/lib/nodejs/module-installed-in-usr-lib
+
+
+%:
+ dh $@
+
+override_dh_install:
+ mkdir -p $(INSTPATH)
+ cp src/test.js $(INSTPATH)/test.js
+ cp src/test.json $(INSTPATH)/package.json
+ dh_install
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/fill-values
new file mode 100644
index 0000000..89cbeb6
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: upload-native
+Testname: nodejs-module-installed-in-usr-lib
+Description: Check if nodejs modules are no more installed in /usr/lib/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.js
new file mode 100644
index 0000000..ca538a6
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.js
@@ -0,0 +1 @@
+/* test.js */ \ No newline at end of file
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.json
new file mode 100644
index 0000000..f0a3f50
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/build-spec/orig/src/test.json
@@ -0,0 +1 @@
+/* json test */ \ No newline at end of file
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/desc b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/desc
new file mode 100644
index 0000000..ed2f889
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/desc
@@ -0,0 +1,2 @@
+Testname: nodejs-module-installed-in-usr-lib
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/hints b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/hints
new file mode 100644
index 0000000..74b9c37
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installed-in-usr-lib/eval/hints
@@ -0,0 +1,2 @@
+nodejs-module-installed-in-usr-lib (binary): nodejs-module-installed-in-usr-lib [usr/lib/nodejs/module-installed-in-usr-lib/test.js]
+nodejs-module-installed-in-usr-lib (binary): nodejs-module-installed-in-usr-lib [usr/lib/nodejs/module-installed-in-usr-lib/package.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/install b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/install
new file mode 100644
index 0000000..1b91047
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/install
@@ -0,0 +1 @@
+usr/
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/rules
new file mode 100755
index 0000000..9dc0a66
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/debian/rules
@@ -0,0 +1,13 @@
+#!/usr/bin/make -f
+PKG:=nodejs-module-installed-in-usr-lib
+INSTPATH:=$(CURDIR)/debian/tmp/usr/share/nodejs/module-installs-lock-file
+
+
+%:
+ dh $@
+
+override_dh_install:
+ mkdir -p $(INSTPATH)
+ cp src/test.js $(INSTPATH)/yarn.lock
+ cp src/test.json $(INSTPATH)/package-lock.json
+ dh_install
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/fill-values
new file mode 100644
index 0000000..e8df969
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: upload-native
+Testname: nodejs-module-installs-lock-file
+Description: Check if nodejs modules are no more installed in /usr/lib/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.js
new file mode 100644
index 0000000..ca538a6
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.js
@@ -0,0 +1 @@
+/* test.js */ \ No newline at end of file
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.json
new file mode 100644
index 0000000..f0a3f50
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/build-spec/orig/src/test.json
@@ -0,0 +1 @@
+/* json test */ \ No newline at end of file
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/desc b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/desc
new file mode 100644
index 0000000..4072be6
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/desc
@@ -0,0 +1,2 @@
+Testname: nodejs-module-installs-lock-file
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/hints b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/hints
new file mode 100644
index 0000000..19313b4
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-installs-lock-file/eval/hints
@@ -0,0 +1,2 @@
+nodejs-module-installs-lock-file (binary): nodejs-lock-file [usr/share/nodejs/module-installs-lock-file/yarn.lock]
+nodejs-module-installs-lock-file (binary): nodejs-lock-file [usr/share/nodejs/module-installs-lock-file/package-lock.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/additional_components b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/additional_components
new file mode 100644
index 0000000..0b11676
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/additional_components
@@ -0,0 +1,2 @@
+bson
+foobar
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/root_modules b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/root_modules
new file mode 100644
index 0000000..72e8ffc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/nodejs/root_modules
@@ -0,0 +1 @@
+*
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/rules
new file mode 100644
index 0000000..9edc8dc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@ --with nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/tests/pkg-js/test b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/tests/pkg-js/test
new file mode 100644
index 0000000..babcb6f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/tests/pkg-js/test
@@ -0,0 +1,2 @@
+# Does nothing
+echo OK
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/watch b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/watch
new file mode 100644
index 0000000..59625c6
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/debian/watch
@@ -0,0 +1,6 @@
+version=4
+
+opts=\
+dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$//,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-mongodb-native-$1.tar.gz/ \
+ https://github.com/mongodb/node-mongodb-native/tags .*/archive/v?([\d\.]+).tar.gz group
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/fill-values
new file mode 100644
index 0000000..87b010a
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/fill-values
@@ -0,0 +1,4 @@
+Testname: nodejs-module-not-declared
+Skeleton: upload-native
+Description: Test if nodejs modules are declared
+Extra-Build-Depends: pkg-js-tools (>= 0.9.6~), nodejs (>= 8.11.1)
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/index.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/package.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/package.json
new file mode 100644
index 0000000..fb10cf1
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/browser_build/package.json
@@ -0,0 +1 @@
+{ "name": "bson" }
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/index.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/package.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/package.json
new file mode 100644
index 0000000..745d4e7
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/bson/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "bson",
+ "version": "1.1.3"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/index.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/package.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/package.json
new file mode 100644
index 0000000..694a18b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/foobar/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "@foo/bar",
+ "version": "1.2.0"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/package.json
new file mode 100644
index 0000000..d60e40f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/build-spec/orig/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "mongodb",
+ "version": "3.5.2"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/desc b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/desc
new file mode 100644
index 0000000..086946a
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/desc
@@ -0,0 +1,2 @@
+Testname: nodejs-module-not-declared
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/hints b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/hints
new file mode 100644
index 0000000..d0b6fdb
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/nodejs-module-not-declared/eval/hints
@@ -0,0 +1,7 @@
+nodejs-module-not-declared (binary): nodejs-module-not-declared node-mongodb [usr/share/nodejs/mongodb/package.json]
+nodejs-module-not-declared (binary): nodejs-module-not-declared node-foo-bar [usr/share/nodejs/@foo/bar/package.json]
+nodejs-module-not-declared (binary): nodejs-module-not-declared node-bson [usr/share/nodejs/bson/package.json]
+nodejs-module-not-declared (binary): nodejs-module mongodb 3.5.2 [usr/share/nodejs/mongodb/package.json]
+nodejs-module-not-declared (binary): nodejs-module bson undef [usr/share/nodejs/bson/browser_build/package.json]
+nodejs-module-not-declared (binary): nodejs-module bson 1.1.3 [usr/share/nodejs/bson/package.json]
+nodejs-module-not-declared (binary): nodejs-module @foo/bar 1.2.0 [usr/share/nodejs/@foo/bar/package.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/control.in b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/control.in
new file mode 100644
index 0000000..7a2fe23
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/control.in
@@ -0,0 +1,18 @@
+Source: [% $source %]
+Priority: optional
+Section: libs
+Maintainer: [% $author %]
+Standards-Version: [% $standards_version %]
+Testsuite: autopkgtest-pkg-nodejs
+Build-Depends: [% $build_depends %]
+Rules-Requires-Root: no
+
+Package: [% $source %]
+Architecture: [% $package_architecture %]
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: [% $description %]
+ This is a test package designed to exercise some feature or tag of
+ Lintian. It is part of the Lintian test suite and may do very odd
+ things. It should not be installed like a regular package. It may
+ be an empty package.
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/files b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/files
new file mode 100644
index 0000000..34577ab
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/files
@@ -0,0 +1,5 @@
+test*
+lib/a
+lib/*/*.js
+lib/*/*.json
+la/test
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/test b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/test
new file mode 100644
index 0000000..802e05f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/debian/tests/pkg-js/test
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/bin/ls
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/fill-values
new file mode 100644
index 0000000..232821a
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/fill-values
@@ -0,0 +1,3 @@
+Testname: pkg-js-autopkgtest-file-does-not-exist
+Skeleton: upload-native
+Description: Test if files in debian/tests/pkg-js/files exists
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/lib/a/file.js b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/lib/a/file.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/lib/a/file.js
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/package.json
new file mode 100644
index 0000000..889ee8e
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "test",
+ "version": "0.1",
+ "main": "index.js"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/test/test.js b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/test/test.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/build-spec/orig/test/test.js
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/desc b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/desc
new file mode 100644
index 0000000..9dc738c
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/desc
@@ -0,0 +1,2 @@
+Testname: pkg-js-autopkgtest-file-does-not-exist
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/hints b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/hints
new file mode 100644
index 0000000..f969845
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-file-does-not-exist/eval/hints
@@ -0,0 +1,2 @@
+pkg-js-autopkgtest-file-does-not-exist (source): pkg-js-autopkgtest-file-does-not-exist lib/*/*.json
+pkg-js-autopkgtest-file-does-not-exist (source): pkg-js-autopkgtest-file-does-not-exist la/test
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/control.in b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/control.in
new file mode 100644
index 0000000..7a2fe23
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/control.in
@@ -0,0 +1,18 @@
+Source: [% $source %]
+Priority: optional
+Section: libs
+Maintainer: [% $author %]
+Standards-Version: [% $standards_version %]
+Testsuite: autopkgtest-pkg-nodejs
+Build-Depends: [% $build_depends %]
+Rules-Requires-Root: no
+
+Package: [% $source %]
+Architecture: [% $package_architecture %]
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: [% $description %]
+ This is a test package designed to exercise some feature or tag of
+ Lintian. It is part of the Lintian test suite and may do very odd
+ things. It should not be installed like a regular package. It may
+ be an empty package.
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/tests/pkg-js/test b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/tests/pkg-js/test
new file mode 100644
index 0000000..bc7b127
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/debian/tests/pkg-js/test
@@ -0,0 +1,3 @@
+# Does nothing
+
+
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/fill-values
new file mode 100644
index 0000000..b141e9c
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/fill-values
@@ -0,0 +1,3 @@
+Testname: pkg-js-autopkgtest-test-is-empty
+Skeleton: upload-native
+Description: Test if debian/tests/pkg-js/test contains a command
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/package.json
new file mode 100644
index 0000000..889ee8e
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/build-spec/orig/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "test",
+ "version": "0.1",
+ "main": "index.js"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/desc b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/desc
new file mode 100644
index 0000000..20643c4
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/desc
@@ -0,0 +1,2 @@
+Testname: pkg-js-autopkgtest-test-is-empty
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/hints b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/hints
new file mode 100644
index 0000000..f22cc4f
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-empty/eval/hints
@@ -0,0 +1 @@
+pkg-js-autopkgtest-test-is-empty (source): pkg-js-autopkgtest-test-is-empty [debian/tests/pkg-js/test]
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/debian/control.in b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/debian/control.in
new file mode 100644
index 0000000..7a2fe23
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/debian/control.in
@@ -0,0 +1,18 @@
+Source: [% $source %]
+Priority: optional
+Section: libs
+Maintainer: [% $author %]
+Standards-Version: [% $standards_version %]
+Testsuite: autopkgtest-pkg-nodejs
+Build-Depends: [% $build_depends %]
+Rules-Requires-Root: no
+
+Package: [% $source %]
+Architecture: [% $package_architecture %]
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: [% $description %]
+ This is a test package designed to exercise some feature or tag of
+ Lintian. It is part of the Lintian test suite and may do very odd
+ things. It should not be installed like a regular package. It may
+ be an empty package.
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/fill-values
new file mode 100644
index 0000000..73868a8
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/fill-values
@@ -0,0 +1,3 @@
+Testname: pkg-js-autopkgtest-test-is-missing
+Skeleton: upload-native
+Description: Test if debian/tests/pkg-js/test exists
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/package.json
new file mode 100644
index 0000000..889ee8e
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/build-spec/orig/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "test",
+ "version": "0.1",
+ "main": "index.js"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/desc b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/desc
new file mode 100644
index 0000000..ed9aeee
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/desc
@@ -0,0 +1,2 @@
+Testname: pkg-js-autopkgtest-test-is-missing
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/hints b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/hints
new file mode 100644
index 0000000..b0d5fdc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-autopkgtest-test-is-missing/eval/hints
@@ -0,0 +1 @@
+pkg-js-autopkgtest-test-is-missing (source): pkg-js-autopkgtest-test-is-missing
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/rules
new file mode 100644
index 0000000..9edc8dc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@ --with nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/tests/pkg-js/test b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/tests/pkg-js/test
new file mode 100644
index 0000000..bc7b127
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/debian/tests/pkg-js/test
@@ -0,0 +1,3 @@
+# Does nothing
+
+
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/fill-values
new file mode 100644
index 0000000..eb4db3b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/fill-values
@@ -0,0 +1,4 @@
+Testname: pkg-js-tools-test-is-empty
+Skeleton: upload-native
+Description: Test if debian/tests/pkg-js/test contains a command
+Extra-Build-Depends: pkg-js-tools (>= 0.9.6~), nodejs (>= 8.11.1)
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/package.json
new file mode 100644
index 0000000..889ee8e
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/build-spec/orig/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "test",
+ "version": "0.1",
+ "main": "index.js"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/desc b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/desc
new file mode 100644
index 0000000..8b4e403
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/desc
@@ -0,0 +1,2 @@
+Testname: pkg-js-tools-test-is-empty
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/hints b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/hints
new file mode 100644
index 0000000..b5a1c1e
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-empty/eval/hints
@@ -0,0 +1,3 @@
+pkg-js-tools-test-is-empty (source): pkg-js-tools-test-is-empty [debian/tests/pkg-js/test]
+pkg-js-tools-test-is-empty (binary): nodejs-module-not-declared node-test [usr/share/nodejs/test/package.json]
+pkg-js-tools-test-is-empty (binary): nodejs-module test 0.1 [usr/share/nodejs/test/package.json]
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/debian/rules b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/debian/rules
new file mode 100644
index 0000000..9edc8dc
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@ --with nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/fill-values b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/fill-values
new file mode 100644
index 0000000..652b02b
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/fill-values
@@ -0,0 +1,4 @@
+Testname: pkg-js-tools-test-is-missing
+Skeleton: upload-native
+Description: Test if debian/tests/pkg-js/test exists
+Extra-Build-Depends: pkg-js-tools (>= 0.9.6~), nodejs (>= 8.11.1)
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/index.js b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/index.js
new file mode 100644
index 0000000..3710888
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/index.js
@@ -0,0 +1 @@
+console.log('ok');
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/package.json b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/package.json
new file mode 100644
index 0000000..889ee8e
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/build-spec/orig/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "test",
+ "version": "0.1",
+ "main": "index.js"
+}
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/desc b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/desc
new file mode 100644
index 0000000..5820878
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/desc
@@ -0,0 +1,2 @@
+Testname: pkg-js-tools-test-is-missing
+Check: languages/javascript/nodejs
diff --git a/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/hints b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/hints
new file mode 100644
index 0000000..1cc9594
--- /dev/null
+++ b/t/recipes/checks/languages/javascript/nodejs/pkg-js-tools-test-is-missing/eval/hints
@@ -0,0 +1,3 @@
+pkg-js-tools-test-is-missing (source): pkg-js-tools-test-is-missing
+pkg-js-tools-test-is-missing (binary): nodejs-module-not-declared node-test [usr/share/nodejs/test/package.json]
+pkg-js-tools-test-is-missing (binary): nodejs-module test 0.1 [usr/share/nodejs/test/package.json]