From 703e03aba33f234712206769f57717ba7d92d23d Mon Sep 17 00:00:00 2001 From: LinuxWizard42 Date: Wed, 12 Oct 2022 22:54:37 +0300 Subject: Added export_allowed file to make repository visible in cgit --- node_modules/nugget/test/cli.js | 11 ++++++++++ node_modules/nugget/test/resume.html | 1 + node_modules/nugget/test/resume.js | 41 ++++++++++++++++++++++++++++++++++++ node_modules/nugget/test/test.js | 38 +++++++++++++++++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 node_modules/nugget/test/cli.js create mode 100644 node_modules/nugget/test/resume.html create mode 100644 node_modules/nugget/test/resume.js create mode 100644 node_modules/nugget/test/test.js (limited to 'node_modules/nugget/test') diff --git a/node_modules/nugget/test/cli.js b/node_modules/nugget/test/cli.js new file mode 100644 index 0000000..7d7313f --- /dev/null +++ b/node_modules/nugget/test/cli.js @@ -0,0 +1,11 @@ +var fs = require('fs') +var path = require('path') +var spawn = require('tape-spawn') +var test = require('tape') + +test('usage', function (t) { + var child = spawn(t, path.join(__dirname, '..', 'bin.js')) + child.stdout.match(fs.readFileSync(path.join(__dirname, '..', 'usage.txt')).toString() + '\n') + child.stderr.empty() + child.end() +}) diff --git a/node_modules/nugget/test/resume.html b/node_modules/nugget/test/resume.html new file mode 100644 index 0000000..b6fc4c6 --- /dev/null +++ b/node_modules/nugget/test/resume.html @@ -0,0 +1 @@ +hello \ No newline at end of file diff --git a/node_modules/nugget/test/resume.js b/node_modules/nugget/test/resume.js new file mode 100644 index 0000000..291ce0e --- /dev/null +++ b/node_modules/nugget/test/resume.js @@ -0,0 +1,41 @@ +var fs = require('fs') +var http = require('http') +var nugget = require('../') +var path = require('path') +var test = require('tape') + +var data = new Buffer('hello everybody I am the data') + +var testServer = http.createServer(function (req, res) { + if (!req.headers['range']) { + res.setHeader('content-length', data.length) + res.setHeader('accept-ranges', 'bytes') + res.end(data) + } else { + var range = req.headers['range'].split('=').pop().split('-').map(function (s) { + return parseInt(s, 10) + }) + res.setHeader('content-length', range[1] - range[0]) + res.setHeader('content-range', range[0] + '-' + range[1] + '/' + data.length) + res.end(data.slice(range[0], range[1])) + } +}) + +var target = path.join(__dirname, 'foobar.html') +if (fs.existsSync(target)) fs.unlinkSync(target) + +fs.writeFileSync(target, data.slice(0, 10)) + +testServer.listen(0, function () { + var port = this.address().port + test('fetches rest of file', function (t) { + nugget('http://localhost:' + port + '/foobar.html', {dir: __dirname, resume: true, quiet: true}, function (err) { + if (err) t.ifErr(err) + t.ok(fs.existsSync(target), 'downloaded file') + t.equal(fs.statSync(target).size, data.length, 'file is complete') + if (fs.existsSync(target)) fs.unlinkSync(target) + t.end() + testServer.close() + }) + }) +}) diff --git a/node_modules/nugget/test/test.js b/node_modules/nugget/test/test.js new file mode 100644 index 0000000..62ccb25 --- /dev/null +++ b/node_modules/nugget/test/test.js @@ -0,0 +1,38 @@ +var fs = require('fs') +var http = require('http') +var nugget = require('../') +var path = require('path') +var test = require('tape') + +var testServer = http.createServer(function (req, res) { + res.end('hello') +}) + +var target = path.join(__dirname, 'resume.html') +if (fs.existsSync(target)) fs.unlinkSync(target) + +testServer.listen(0, function () { + var port = this.address().port + test('fetches file', function (t) { + nugget('http://localhost:' + port + '/resume.html', {dir: __dirname, quiet: true}, function (err) { + if (err) t.ifErr(err) + t.ok(fs.existsSync(target), 'downloaded file') + if (fs.existsSync(target)) fs.unlinkSync(target) + t.end() + }) + }) + + test('has progress events', function (t) { + var gotProgress = false + var dl = nugget('http://localhost:' + port + '/resume.html', {dir: __dirname, quiet: true}, function (err) { + t.notOk(err, 'no error') + t.ok(gotProgress, 'got progress event') + t.end() + testServer.close() + }) + dl.once('progress', function (data) { + t.ok(data.hasOwnProperty('percentage'), 'has percentage') + gotProgress = true + }) + }) +}) -- cgit v1.2.3-86-g962b