api-deprecations-spec.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. const assert = require('assert')
  2. const {deprecations, deprecate, nativeImage} = require('electron')
  3. describe('deprecations', () => {
  4. beforeEach(() => {
  5. deprecations.setHandler(null)
  6. process.throwDeprecation = true
  7. })
  8. it('allows a deprecation handler function to be specified', () => {
  9. const messages = []
  10. deprecations.setHandler((message) => {
  11. messages.push(message)
  12. })
  13. deprecate.log('this is deprecated')
  14. assert.deepEqual(messages, ['this is deprecated'])
  15. })
  16. it('returns a deprecation handler after one is set', () => {
  17. const messages = []
  18. deprecations.setHandler((message) => {
  19. messages.push(message)
  20. })
  21. deprecate.log('this is deprecated')
  22. assert(typeof deprecations.getHandler() === 'function')
  23. })
  24. it('returns a deprecation warning', () => {
  25. const messages = []
  26. deprecations.setHandler((message) => {
  27. messages.push(message)
  28. })
  29. deprecate.warn('old', 'new')
  30. assert.deepEqual(messages, [`'old' is deprecated. Use 'new' instead.`])
  31. })
  32. it('renames a method', () => {
  33. assert.equal(typeof nativeImage.createFromDataUrl, 'undefined')
  34. assert.equal(typeof nativeImage.createFromDataURL, 'function')
  35. deprecate.alias(nativeImage, 'createFromDataUrl', 'createFromDataURL')
  36. assert.equal(typeof nativeImage.createFromDataUrl, 'function')
  37. })
  38. it('throws an exception if no deprecation handler is specified', () => {
  39. assert.throws(() => {
  40. deprecate.log('this is deprecated')
  41. }, /this is deprecated/)
  42. })
  43. })