ssrComponent.spec.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { compile } from '../src'
  2. describe('ssr: components', () => {
  3. test('basic', () => {
  4. expect(compile(`<foo id="a" :prop="b" />`).code).toMatchInlineSnapshot(`
  5. "const { resolveComponent } = require(\\"vue\\")
  6. const { _renderComponent } = require(\\"@vue/server-renderer\\")
  7. return function ssrRender(_ctx, _push, _parent) {
  8. const _component_foo = resolveComponent(\\"foo\\")
  9. _renderComponent(_component_foo, {
  10. id: \\"a\\",
  11. prop: _ctx.b
  12. }, null, _parent)
  13. }"
  14. `)
  15. })
  16. test('dynamic component', () => {
  17. expect(compile(`<component is="foo" prop="b" />`).code)
  18. .toMatchInlineSnapshot(`
  19. "const { resolveComponent } = require(\\"vue\\")
  20. const { _renderComponent } = require(\\"@vue/server-renderer\\")
  21. return function ssrRender(_ctx, _push, _parent) {
  22. const _component_foo = resolveComponent(\\"foo\\")
  23. _renderComponent(_component_foo, { prop: \\"b\\" }, null, _parent)
  24. }"
  25. `)
  26. expect(compile(`<compoonent :is="foo" prop="b" />`).code)
  27. .toMatchInlineSnapshot(`
  28. "const { resolveComponent } = require(\\"vue\\")
  29. const { _renderComponent } = require(\\"@vue/server-renderer\\")
  30. return function ssrRender(_ctx, _push, _parent) {
  31. const _component_compoonent = resolveComponent(\\"compoonent\\")
  32. _renderComponent(_component_compoonent, {
  33. is: _ctx.foo,
  34. prop: \\"b\\"
  35. }, null, _parent)
  36. }"
  37. `)
  38. })
  39. })