findInContent.test.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * @author: oldj
  3. * @homepage: https://oldj.net
  4. */
  5. import assert = require('assert')
  6. import { default as findInContent } from 'src/main/actions/find/findInContent'
  7. describe('find in content test', () => {
  8. it('basic test 1', () => {
  9. let content = `abc12 abc123 abc`
  10. let m = findInContent(content, /bc/ig)
  11. assert(m.length === 3)
  12. assert(m[0].line === 1)
  13. assert(m[0].start === 1)
  14. assert(m[0].end === 3)
  15. assert(m[0].before === 'a')
  16. assert(m[0].match === 'bc')
  17. assert(typeof m[0].after === 'string')
  18. assert(m[1].line === 1)
  19. assert(m[1].start === 7)
  20. assert(m[1].end === 9)
  21. assert(m[1].before === 'abc12 a')
  22. assert(m[1].match === 'bc')
  23. assert(m[1].after === '123 abc')
  24. assert(m[2].line === 1)
  25. assert(m[2].start === 14)
  26. assert(m[2].end === 16)
  27. assert(m[2].before === 'abc12 abc123 a')
  28. assert(m[2].match === 'bc')
  29. assert(m[2].after === '')
  30. })
  31. it.only('basic test 2', () => {
  32. let content = `abc12 abc123 abc\nxyza3b`
  33. let m = findInContent(content, /a\w*3/ig)
  34. console.log(m)
  35. assert(m.length === 2)
  36. assert(m[1].line === 1)
  37. assert(m[1].start === 6)
  38. assert(m[1].end === 12)
  39. assert(m[1].before === 'abc12 ')
  40. assert(m[1].match === 'abc123')
  41. assert(m[1].after === ' abc')
  42. assert(m[2].line === 2)
  43. assert(m[2].start === 20)
  44. assert(m[2].end === 22)
  45. assert(m[2].before === 'xyz')
  46. assert(m[2].match === 'a3')
  47. assert(m[2].after === 'b')
  48. })
  49. })