Home / File/ transition-mode.spec.ts — vue Source File

transition-mode.spec.ts — vue Source File

Architecture documentation for transition-mode.spec.ts, a typescript file in the vue codebase. 3 imports, 0 dependents.

File typescript VueCore 3 imports

Entity Profile

Dependency Diagram

graph LR
  2a288951_eafd_5cd7_a83f_557dbc3f3d9c["transition-mode.spec.ts"]
  17e86ae4_9dda_9399_9625_68fceea277c4["helpers.ts"]
  2a288951_eafd_5cd7_a83f_557dbc3f3d9c --> 17e86ae4_9dda_9399_9625_68fceea277c4
  79b3dbe8_b79b_b5de_51cf_dd6781dae129["injectStyles"]
  2a288951_eafd_5cd7_a83f_557dbc3f3d9c --> 79b3dbe8_b79b_b5de_51cf_dd6781dae129
  db9e7bef_009d_3918_6e7d_543a36a38d75["vue"]
  2a288951_eafd_5cd7_a83f_557dbc3f3d9c --> db9e7bef_009d_3918_6e7d_543a36a38d75
  style 2a288951_eafd_5cd7_a83f_557dbc3f3d9c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import Vue from 'vue'
import { injectStyles, waitForUpdate, nextFrame } from './helpers'

describe('Transition mode', () => {
  const { duration, buffer } = injectStyles()
  const components = {
    one: { template: '<div>one</div>' },
    two: { template: '<div>two</div>' }
  }

  let el
  beforeEach(() => {
    el = document.createElement('div')
    document.body.appendChild(el)
  })

  it('dynamic components, simultaneous', done => {
    const vm = new Vue({
      template: `<div>
          <transition>
            <component :is="view" class="test">
            </component>
          </transition>
        </div>`,
      data: { view: 'one' },
      components
    }).$mount(el)
    expect(vm.$el.textContent).toBe('one')
    vm.view = 'two'
    waitForUpdate(() => {
      expect(vm.$el.innerHTML).toBe(
        '<div class="test v-leave v-leave-active">one</div>' +
          '<div class="test v-enter v-enter-active">two</div>'
      )
    })
      .thenWaitFor(nextFrame)
      .then(() => {
        expect(vm.$el.innerHTML).toBe(
          '<div class="test v-leave-active v-leave-to">one</div>' +
            '<div class="test v-enter-active v-enter-to">two</div>'
        )
      })
      .thenWaitFor(duration + buffer)
      .then(() => {
        expect(vm.$el.innerHTML).toBe('<div class="test">two</div>')
      })
      .then(done)
  })

  it('dynamic components, out-in', done => {
    let next
    const vm = new Vue({
      template: `<div>
          <transition name="test" mode="out-in" @after-leave="afterLeave">
            <component :is="view" class="test">
            </component>
          </transition>
        </div>`,
      data: { view: 'one' },
      components,
// ... (626 more lines)

Domain

Dependencies

Frequently Asked Questions

What does transition-mode.spec.ts do?
transition-mode.spec.ts is a source file in the vue codebase, written in typescript. It belongs to the VueCore domain.
What does transition-mode.spec.ts depend on?
transition-mode.spec.ts imports 3 module(s): helpers.ts, injectStyles, vue.
Where is transition-mode.spec.ts in the architecture?
transition-mode.spec.ts is located at test/transition/transition-mode.spec.ts (domain: VueCore, directory: test/transition).

Analyze Your Own Codebase

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

Try Supermodel Free