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
  f083f36b_83ff_cbfc_88b8_018e5046de38["ssr-reactivity.spec.ts"]
  f94e459d_eb86_5f63_7c47_8e1dd5cc6c5c["index.ts"]
  f083f36b_83ff_cbfc_88b8_018e5046de38 --> f94e459d_eb86_5f63_7c47_8e1dd5cc6c5c
  291a4064_38bb_34ff_b779_1f802496d717["createRenderer"]
  f083f36b_83ff_cbfc_88b8_018e5046de38 --> 291a4064_38bb_34ff_b779_1f802496d717
  557a583d_90a6_5278_fcab_900844b96377["vue"]
  f083f36b_83ff_cbfc_88b8_018e5046de38 --> 557a583d_90a6_5278_fcab_900844b96377
  7645bd11_d7a6_a223_8c14_c8d0966f6590["v3"]
  f083f36b_83ff_cbfc_88b8_018e5046de38 --> 7645bd11_d7a6_a223_8c14_c8d0966f6590
  style f083f36b_83ff_cbfc_88b8_018e5046de38 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)

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 ServerRenderer 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: ServerRenderer, 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