hunk.code_window: require('babel-register')
   require('isomorphic-fetch')
   require('./core.spec.js')
   require('./translator.spec.js')
   // require('./GoogleDrive.spec.js')
  
hunk.labels: keep keep keep keep replace
hunk.after_edit: require('./GoogleDrive.spec.js')
hunk.file_path: test/unit/index.js
hunk.type: replace
file: import test from 'tape'
  import Core from '../../src/core/Core.js'
  import Acquirer1Plugin from './mocks/plugin-acquirer1.js'
  import Acquirer2Plugin from './mocks/plugin-acquirer2.js'
  
  test('core', function (t) {
    const uppy = new Core()
  
    t.equal(typeof uppy, 'object', '`new Core()` should return an `object`')
    t.ok(uppy instanceof Core, '`uppy` should be an instance of `Core` core')
    t.end()
  })
  
  test('use plugins', function (t) {
    const uppy = new Core()
    uppy
      .use(Acquirer1Plugin)
  
    t.equal(Object.keys(uppy.plugins).length, 1, 'should add a plugin to the plugins stack')
    t.end()
  })
  
  test('noDuplicates', function (t) {
    const uppyTwoAcquirers = new Core()
  
    uppyTwoAcquirers.use(Acquirer1Plugin)
    const fn = uppyTwoAcquirers.use.bind(uppyTwoAcquirers, Acquirer1Plugin)
  
    t.throws(fn, new RegExp('Uppy is currently limited to running one of every plugin'))
    t.end()
  })
  
  test('autoProceed', function (t) {
    const uppyOneAcquirer = new Core()
    uppyOneAcquirer
      .use(Acquirer1Plugin)
      .run()
  
    const uppyTwoAcquirers = new Core()
    uppyTwoAcquirers
      .use(Acquirer1Plugin)
      .use(Acquirer2Plugin)
      .run()
  
    t.equal(uppyOneAcquirer.opts.autoProceed, true, 'should autoProceed if only one acquirer is used')
    t.equal(uppyTwoAcquirers.opts.autoProceed, false, 'should not autoProceed if more than one acquirer is used')
    t.end()
  })
  