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

transition-group.spec.ts — vue Source File

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

File typescript VueCore 3 imports

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

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

describe('Transition group', () => {
  const { duration, buffer } = injectStyles()

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

  function createBasicVM(useIs?, appear = false) {
    const vm = new Vue({
      template: `
          <div>
            ${
              useIs
                ? `<span is="transition-group">`
                : `<transition-group${appear ? ` appear` : ``}>`
            }
              <div v-for="item in items" :key="item" class="test">{{ item }}</div>
            ${useIs ? `</span>` : `</transition-group>`}
          </div>
        `,
      data: {
        items: ['a', 'b', 'c']
      }
    }).$mount(el)
    if (!appear) {
      expect(vm.$el.innerHTML).toBe(
        `<span>` +
          vm.items.map(i => `<div class="test">${i}</div>`).join('') +
          `</span>`
      )
    }
    return vm
  }

  it('enter', done => {
    const vm = createBasicVM()
    vm.items.push('d', 'e')
    waitForUpdate(() => {
      expect(vm.$el.innerHTML).toBe(
        `<span>` +
          ['a', 'b', 'c'].map(i => `<div class="test">${i}</div>`).join('') +
          `<div class="test v-enter v-enter-active">d</div>` +
          `<div class="test v-enter v-enter-active">e</div>` +
          `</span>`
      )
    })
      .thenWaitFor(nextFrame)
      .then(() => {
        expect(vm.$el.innerHTML).toBe(
          `<span>` +
            ['a', 'b', 'c'].map(i => `<div class="test">${i}</div>`).join('') +
            `<div class="test v-enter-active v-enter-to">d</div>` +
            `<div class="test v-enter-active v-enter-to">e</div>` +
            `</span>`
        )
// ... (333 more lines)

Domain

Dependencies

Frequently Asked Questions

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