bootstrap.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /* global chai */
  2. /**
  3. * Add chai assertion for comparing CodeMirror Pos objects.
  4. * A deep comparison will fail because CodeMirror inserts additional properties
  5. * that we want to ignore.
  6. */
  7. chai.Assertion.addMethod('equalPos', function(expectedPos) {
  8. const { line: actualLine, ch: actualCh } = this._obj
  9. const { line: expectedLine, ch: expectedCh } = expectedPos
  10. this.assert(
  11. actualLine === expectedLine && actualCh === expectedCh,
  12. `expected #{exp} to equal #{act}`,
  13. `expected #{exp} to not equal #{act}`,
  14. `Pos({ line: ${expectedLine}, ch: ${expectedCh} })`,
  15. `Pos({ line: ${actualLine}, ch: ${actualCh} })`
  16. )
  17. })
  18. // Mock ExposedSettings
  19. window.ExposedSettings = {}
  20. // Mock the file operation I18n names that are stored in the DOM
  21. function mockFileOperationI18nNames(id, text) {
  22. const el = document.createElement('div')
  23. el.id = id
  24. el.innerText = text
  25. el.setAttribute('hidden', true)
  26. document.body.appendChild(el)
  27. }
  28. mockFileOperationI18nNames('file_action_edited_str', 'edited')
  29. mockFileOperationI18nNames('file_action_renamed_str', 'renamed')
  30. mockFileOperationI18nNames('file_action_created_str', 'created')
  31. mockFileOperationI18nNames('file_action_deleted_str', 'deleted')