summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/shrinkwrap-package-integrity.js
diff options
context:
space:
mode:
authorKat Marchán <kzm@sykosomatic.org>2017-05-09 14:46:02 -0700
committerAnna Henningsen <anna@addaleax.net>2017-05-23 19:39:43 +0200
commitc0d858f8bb8ba5212548da2fba6a7bc02db0462b (patch)
tree99f043ec5aec3f5150a2aed0f62597234b158140 /deps/npm/test/tap/shrinkwrap-package-integrity.js
parent994617370e8e66f3ea9488fec32fd912e7902396 (diff)
downloadandroid-node-v8-c0d858f8bb8ba5212548da2fba6a7bc02db0462b.tar.gz
android-node-v8-c0d858f8bb8ba5212548da2fba6a7bc02db0462b.tar.bz2
android-node-v8-c0d858f8bb8ba5212548da2fba6a7bc02db0462b.zip
deps: upgrade npm beta to 5.0.0-beta.56
PR-URL: https://github.com/nodejs/node/pull/12936 Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'deps/npm/test/tap/shrinkwrap-package-integrity.js')
-rw-r--r--deps/npm/test/tap/shrinkwrap-package-integrity.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/deps/npm/test/tap/shrinkwrap-package-integrity.js b/deps/npm/test/tap/shrinkwrap-package-integrity.js
new file mode 100644
index 0000000000..6333757d7f
--- /dev/null
+++ b/deps/npm/test/tap/shrinkwrap-package-integrity.js
@@ -0,0 +1,50 @@
+'use strict'
+
+const pkgsri = require('../../lib/utils/package-integrity.js')
+const ssri = require('ssri')
+const test = require('tap').test
+
+test('generates integrity according to spec', (t) => {
+ const pkgJson = {
+ 'name': 'foo',
+ 'version': '1.0.0',
+ 'dependencies': {
+ 'x': '1.0.0'
+ },
+ 'devDependencies': {
+ 'y': '1.0.0'
+ },
+ 'optionalDependencies': {
+ 'z': '1.0.0'
+ }
+ }
+ const integrity = pkgsri.hash(pkgJson)
+ t.ok(integrity && integrity.toString(), 'hash returned')
+ t.equal(
+ ssri.parse(integrity).toString(),
+ integrity,
+ 'hash is a valid ssri string'
+ )
+ t.ok(pkgsri.check(pkgJson, integrity), 'same-data integrity check succeeds')
+ t.done()
+})
+
+test('updates if anything changes in package.json', (t) => {
+ const pkgJson = {
+ 'name': 'foo',
+ 'version': '1.0.0',
+ 'dependencies': {
+ 'x': '1.0.0'
+ },
+ 'devDependencies': {
+ 'y': '1.0.0'
+ },
+ 'optionalDependencies': {
+ 'z': '1.0.0'
+ }
+ }
+ const sri = pkgsri.hash(pkgJson)
+ pkgJson.version = '1.2.3'
+ t.equal(pkgsri.check(pkgJson, sri), false, 'no match after pkgJson change')
+ t.done()
+})