test.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. var fs = require('fs')
  2. var http = require('http')
  3. var nugget = require('../')
  4. var path = require('path')
  5. var test = require('tape')
  6. var testServer = http.createServer(function (req, res) {
  7. res.end('hello')
  8. })
  9. var target = path.join(__dirname, 'resume.html')
  10. if (fs.existsSync(target)) fs.unlinkSync(target)
  11. testServer.listen(0, function () {
  12. var port = this.address().port
  13. test('fetches file', function (t) {
  14. nugget('http://localhost:' + port + '/resume.html', {dir: __dirname, quiet: true}, function (err) {
  15. if (err) t.ifErr(err)
  16. t.ok(fs.existsSync(target), 'downloaded file')
  17. if (fs.existsSync(target)) fs.unlinkSync(target)
  18. t.end()
  19. })
  20. })
  21. test('has progress events', function (t) {
  22. var gotProgress = false
  23. var dl = nugget('http://localhost:' + port + '/resume.html', {dir: __dirname, quiet: true}, function (err) {
  24. t.notOk(err, 'no error')
  25. t.ok(gotProgress, 'got progress event')
  26. t.end()
  27. testServer.close()
  28. })
  29. dl.once('progress', function (data) {
  30. t.ok(data.hasOwnProperty('percentage'), 'has percentage')
  31. gotProgress = true
  32. })
  33. })
  34. })