model-parse.spec.js 560 B

123456789101112131415161718192021
  1. import parseModel from 'web/util/model'
  2. describe('model expression parser', () => {
  3. it('parse string in brackets', () => {
  4. const res = parseModel('a["b"][c]')
  5. expect(res.exp).toBe('a["b"]')
  6. expect(res.idx).toBe('c')
  7. })
  8. it('parse nested brackets', () => {
  9. const res = parseModel('a[i[c]]')
  10. expect(res.exp).toBe('a')
  11. expect(res.idx).toBe('i[c]')
  12. })
  13. it('combined', () => {
  14. const res = parseModel('test.xxx.a["asa"][test1[idx]]')
  15. expect(res.exp).toBe('test.xxx.a["asa"]')
  16. expect(res.idx).toBe('test1[idx]')
  17. })
  18. })