Home / File/ ssr-basic-renderer.spec.ts — vue Source File

ssr-basic-renderer.spec.ts — vue Source File

Architecture documentation for ssr-basic-renderer.spec.ts, a typescript file in the vue codebase. 4 imports, 0 dependents.

File typescript VueCore 4 imports

Entity Profile

Dependency Diagram

graph LR
  102616c4_42aa_3cdd_197d_2951ee08b58f["ssr-basic-renderer.spec.ts"]
  08d4ec90_7f4e_6150_1089_db058d251cfb["utils.ts"]
  102616c4_42aa_3cdd_197d_2951ee08b58f --> 08d4ec90_7f4e_6150_1089_db058d251cfb
  c8c20ec8_fa41_5797_1c54_dba3df89a18c["_it"]
  102616c4_42aa_3cdd_197d_2951ee08b58f --> c8c20ec8_fa41_5797_1c54_dba3df89a18c
  db9e7bef_009d_3918_6e7d_543a36a38d75["vue"]
  102616c4_42aa_3cdd_197d_2951ee08b58f --> db9e7bef_009d_3918_6e7d_543a36a38d75
  7b01a7f9_6aac_aa3d_5ed5_549421be6dc4["index-basic"]
  102616c4_42aa_3cdd_197d_2951ee08b58f --> 7b01a7f9_6aac_aa3d_5ed5_549421be6dc4
  style 102616c4_42aa_3cdd_197d_2951ee08b58f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// @vitest-environment node

import Vue from 'vue'
import renderToString from 'server/index-basic'
import { _it } from './utils'

describe('SSR: basicRenderer', () => {
  _it('should work', done => {
    renderToString(
      new Vue({
        template: `
        <div>
          <p class="hi">yoyo</p>
          <div id="ho" :class="{ red: isRed }"></div>
          <span>{{ test }}</span>
          <input :value="test">
          <img :src="imageUrl">
          <test></test>
          <test-async></test-async>
        </div>
      `,
        data: {
          test: 'hi',
          isRed: true,
          imageUrl: 'https://vuejs.org/images/logo.png'
        },
        components: {
          test: {
            render() {
              return this.$createElement('div', { class: ['a'] }, 'test')
            }
          },
          testAsync(resolve) {
            resolve({
              render() {
                return this.$createElement(
                  'span',
                  { class: ['b'] },
                  'testAsync'
                )
              }
            })
          }
        }
      }),
      (err, result) => {
        expect(err).toBeNull()
        expect(result).toContain(
          '<div data-server-rendered="true">' +
            '<p class="hi">yoyo</p> ' +
            '<div id="ho" class="red"></div> ' +
            '<span>hi</span> ' +
            '<input value="hi"> ' +
            '<img src="https://vuejs.org/images/logo.png"> ' +
            '<div class="a">test</div> ' +
            '<span class="b">testAsync</span>' +
            '</div>'
        )
        done()
      }
    )
  })

  // #5941
  _it('should work properly when accessing $ssrContext in root component', done => {
    let ssrContext
    renderToString(
      new Vue({
        template: `
        <div></div>
      `,
        created() {
          ssrContext = this.$ssrContext
        }
      }),
      err => {
        expect(err).toBeNull()
        expect(ssrContext).toBeUndefined()
        done()
      }
    )
  })
})

Domain

Dependencies

Frequently Asked Questions

What does ssr-basic-renderer.spec.ts do?
ssr-basic-renderer.spec.ts is a source file in the vue codebase, written in typescript. It belongs to the VueCore domain.
What does ssr-basic-renderer.spec.ts depend on?
ssr-basic-renderer.spec.ts imports 4 module(s): _it, index-basic, utils.ts, vue.
Where is ssr-basic-renderer.spec.ts in the architecture?
ssr-basic-renderer.spec.ts is located at packages/server-renderer/test/ssr-basic-renderer.spec.ts (domain: VueCore, directory: packages/server-renderer/test).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free