core.spec.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. var test = require('tape')
  2. var Uppy = require('../src/core/Core.js')
  3. test('core', function (t) {
  4. const uppy = new Uppy()
  5. t.equal(typeof uppy, 'object', '`new Core()` should return an `object`')
  6. t.ok(uppy instanceof Uppy, '`uppy` should be an instance of `Uppy` core')
  7. t.end()
  8. })
  9. test('use plugins', function (t) {
  10. const SelecterPlugin = require('./mocks/plugin-selecter1.js')
  11. const uppy = new Uppy()
  12. uppy
  13. .use(SelecterPlugin)
  14. t.equal(Object.keys(uppy.plugins).length, 1, 'should add a plugin to the plugins stack')
  15. t.end()
  16. })
  17. test('noDuplicates', function (t) {
  18. const Selecter1Plugin = require('./mocks/plugin-selecter1.js')
  19. const uppyTwoSelecters = new Uppy()
  20. uppyTwoSelecters.use(Selecter1Plugin)
  21. const fn = uppyTwoSelecters.use.bind(uppyTwoSelecters, Selecter1Plugin)
  22. t.throws(fn, new RegExp('Uppy is currently limited to running one of every plugin'))
  23. t.end()
  24. })
  25. test('autoProceed', function (t) {
  26. const Selecter1Plugin = require('./mocks/plugin-selecter1.js')
  27. const Selecter2Plugin = require('./mocks/plugin-selecter2.js')
  28. const uppyOneSelecter = new Uppy()
  29. uppyOneSelecter
  30. .use(Selecter1Plugin)
  31. .run()
  32. const uppyTwoSelecters = new Uppy()
  33. uppyTwoSelecters
  34. .use(Selecter1Plugin)
  35. .use(Selecter2Plugin)
  36. .run()
  37. t.equal(uppyOneSelecter.opts.autoProceed, true, 'should autoProceed if only one selecter is used')
  38. t.equal(uppyTwoSelecters.opts.autoProceed, false, 'should not autoProceed if more than one selecter is used')
  39. t.end()
  40. })