sfc-parser.spec.js 884 B

12345678910111213141516171819202122232425262728293031
  1. import { parseSFC } from 'compiler/parser/sfc-parser'
  2. describe('SFC parser', () => {
  3. it('should parse', () => {
  4. const res = parseSFC(`
  5. <template>
  6. <div>hi</div>
  7. </template>
  8. <style src="./test.css"></style>
  9. <style lang="stylus" scoped>
  10. h1
  11. color red
  12. h2
  13. color green
  14. </style>
  15. <script>
  16. export default {}
  17. </script>
  18. <div>
  19. <style>nested should be ignored</style>
  20. </div>
  21. `)
  22. expect(res.template.content.trim()).toBe('<div>hi</div>')
  23. expect(res.styles.length).toBe(2)
  24. expect(res.styles[0].src).toBe('./test.css')
  25. expect(res.styles[1].lang).toBe('stylus')
  26. expect(res.styles[1].scoped).toBe(true)
  27. expect(res.styles[1].content.trim()).toBe('h1\n color red\nh2\n color green')
  28. expect(res.script.content.trim()).toBe('export default {}')
  29. })
  30. })