Home / File/ ssr-reactivity.spec.ts — vue Source File

ssr-reactivity.spec.ts — vue Source File

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

Entity Profile

Dependency Diagram

graph LR
  e279bf5d_7668_6ec1_a425_b8ad808a495e["ssr-reactivity.spec.ts"]
  647e64b4_4539_eab5_0a3a_69b18bb9f99a["index.ts"]
  e279bf5d_7668_6ec1_a425_b8ad808a495e --> 647e64b4_4539_eab5_0a3a_69b18bb9f99a
  3a928f58_8332_2620_2475_2d1e26fe45a4["createRenderer"]
  e279bf5d_7668_6ec1_a425_b8ad808a495e --> 3a928f58_8332_2620_2475_2d1e26fe45a4
  c5601857_7faf_30c6_efca_20de90db006c["vue"]
  e279bf5d_7668_6ec1_a425_b8ad808a495e --> c5601857_7faf_30c6_efca_20de90db006c
  6a13c450_be5a_326d_7e2d_c1d429be7e83["v3"]
  e279bf5d_7668_6ec1_a425_b8ad808a495e --> 6a13c450_be5a_326d_7e2d_c1d429be7e83
  style e279bf5d_7668_6ec1_a425_b8ad808a495e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// @vitest-environment node

import Vue from 'vue'
import {
  reactive,
  ref,
  isReactive,
  shallowRef,
  isRef,
  set,
  nextTick,
  getCurrentInstance
} from 'v3'
import { createRenderer } from '../src'

describe('SSR Reactive', () => {
  beforeEach(() => {
    // force SSR env
    global.process.env.VUE_ENV = 'server'
  })

  it('should not affect non reactive APIs', () => {
    expect(typeof window).toBe('undefined')
    expect((Vue.observable({}) as any).__ob__).toBeUndefined()
  })

  it('reactive behavior should be consistent in SSR', () => {
    const obj = reactive({
      foo: ref(1),
      bar: {
        baz: ref(2)
      },
      arr: [{ foo: ref(3) }]
    })
    expect(isReactive(obj)).toBe(true)
    expect(obj.foo).toBe(1)

    expect(isReactive(obj.bar)).toBe(true)
    expect(obj.bar.baz).toBe(2)

    expect(isReactive(obj.arr)).toBe(true)
    expect(isReactive(obj.arr[0])).toBe(true)
    expect(obj.arr[0].foo).toBe(3)
  })

  it('ref value', () => {
    const r = ref({})
    expect(isReactive(r.value)).toBe(true)
  })

  it('should render', async () => {
    const app = new Vue({
      setup() {
        return {
          count: ref(42)
        }
      },
      render(this: any, h) {
        return h('div', this.count)
      }
// ... (137 more lines)

Domain

Dependencies

Frequently Asked Questions

What does ssr-reactivity.spec.ts do?
ssr-reactivity.spec.ts is a source file in the vue codebase, written in typescript. It belongs to the CompilerSFC domain.
What does ssr-reactivity.spec.ts depend on?
ssr-reactivity.spec.ts imports 4 module(s): createRenderer, index.ts, v3, vue.
Where is ssr-reactivity.spec.ts in the architecture?
ssr-reactivity.spec.ts is located at packages/server-renderer/test/ssr-reactivity.spec.ts (domain: CompilerSFC, 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