ssrSuspense.spec.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { compile } from '../src'
  2. describe('ssr compile: suspense', () => {
  3. test('implicit default', () => {
  4. expect(compile(`<suspense><foo/></suspense>`).code).toMatchInlineSnapshot(`
  5. "const { resolveComponent: _resolveComponent, withCtx: _withCtx } = require("vue")
  6. const { ssrRenderComponent: _ssrRenderComponent, ssrRenderSuspense: _ssrRenderSuspense } = require("vue/server-renderer")
  7. return function ssrRender(_ctx, _push, _parent, _attrs) {
  8. const _component_foo = _resolveComponent("foo")
  9. _ssrRenderSuspense(_push, {
  10. default: () => {
  11. _push(_ssrRenderComponent(_component_foo, null, null, _parent))
  12. },
  13. _: 1 /* STABLE */
  14. })
  15. }"
  16. `)
  17. })
  18. test('explicit slots', () => {
  19. expect(
  20. compile(`<suspense>
  21. <template #default>
  22. <foo/>
  23. </template>
  24. <template #fallback>
  25. loading...
  26. </template>
  27. </suspense>`).code,
  28. ).toMatchInlineSnapshot(`
  29. "const { resolveComponent: _resolveComponent, withCtx: _withCtx } = require("vue")
  30. const { ssrRenderComponent: _ssrRenderComponent, ssrRenderSuspense: _ssrRenderSuspense } = require("vue/server-renderer")
  31. return function ssrRender(_ctx, _push, _parent, _attrs) {
  32. const _component_foo = _resolveComponent("foo")
  33. _ssrRenderSuspense(_push, {
  34. default: () => {
  35. _push(_ssrRenderComponent(_component_foo, null, null, _parent))
  36. },
  37. fallback: () => {
  38. _push(\` loading... \`)
  39. },
  40. _: 1 /* STABLE */
  41. })
  42. }"
  43. `)
  44. })
  45. })