list.stream.test.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* eslint-disable no-unused-expressions */
  2. var should = require('should')
  3. var index = require('../index')
  4. describe('list', function () {
  5. this.timeout(5000)
  6. it('Streaming interface', function (done) {
  7. var testKey = 'hkcu\\software'
  8. // use non streaming interface to get expected results
  9. index.list(testKey, function (err, expectedResults) {
  10. var actualResults = {}
  11. var error
  12. index.list(testKey)
  13. .once('error', function(e) {
  14. should(e).be.an.Error
  15. error = e
  16. })
  17. .on('data', function(d) {
  18. actualResults[d.key] = d.data
  19. }).once('finish', function () {
  20. actualResults.should.eql(expectedResults)
  21. done(error)
  22. })
  23. })
  24. })
  25. it('works for multiple keys', function (done) {
  26. var actualResults = {}
  27. var keys = ['hklm', 'hkcu']
  28. var error
  29. // use non streaming interface to get expected results
  30. index.list(keys, function (err, expectedResults) {
  31. index.list(keys)
  32. .once('error', function(e) {
  33. error = e
  34. })
  35. .on('data', function(d) {
  36. actualResults[d.key] = d.data
  37. }).once('finish', function () {
  38. actualResults.should.eql(expectedResults)
  39. done(error)
  40. })
  41. })
  42. })
  43. })