Home / File/ class.spec.ts — vue Source File

class.spec.ts — vue Source File

Architecture documentation for class.spec.ts, a typescript file in the vue codebase. 2 imports, 0 dependents.

File typescript VueCore GlobalAPI 2 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  709882d8_a514_8243_013b_24c5e360a1de["class.spec.ts"]
  db9e7bef_009d_3918_6e7d_543a36a38d75["vue"]
  709882d8_a514_8243_013b_24c5e360a1de --> db9e7bef_009d_3918_6e7d_543a36a38d75
  6d8f8976_7066_720b_0d45_45fe42921eaf["util"]
  709882d8_a514_8243_013b_24c5e360a1de --> 6d8f8976_7066_720b_0d45_45fe42921eaf
  style 709882d8_a514_8243_013b_24c5e360a1de fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import Vue from 'vue'
import { isFunction } from 'core/util'

function assertClass(assertions, done) {
  const vm = new Vue({
    template: '<div class="foo" :class="value"></div>',
    data: { value: '' }
  }).$mount()
  const chain = waitForUpdate()
  assertions.forEach(([value, expected], i) => {
    chain
      .then(() => {
        if (isFunction(value)) {
          value(vm.value)
        } else {
          vm.value = value
        }
      })
      .then(() => {
        expect(vm.$el.className).toBe(expected)
        // NOTE THIS WAS MAKING
        // if (i >= assertions.length - 1) {
        //   done()
        // }
      })
  })
  chain.then(done)
}

describe('Directive v-bind:class', () => {
  it('plain string', done => {
    assertClass(
      [
        ['bar', 'foo bar'],
        ['baz qux', 'foo baz qux'],
        ['qux', 'foo qux'],
        [undefined, 'foo']
      ],
      done
    )
  })

  it('object value', done => {
    assertClass(
      [
        [{ bar: true, baz: false }, 'foo bar'],
        [{ baz: true }, 'foo baz'],
        [null, 'foo'],
        [{ 'bar baz': true, qux: false }, 'foo bar baz'],
        [{ qux: true }, 'foo qux']
      ],
      done
    )
  })

  it('array value', done => {
    assertClass(
      [
        [['bar', 'baz'], 'foo bar baz'],
        [['qux', 'baz'], 'foo qux baz'],
// ... (178 more lines)

Domain

Subdomains

Functions

Dependencies

  • util
  • vue

Frequently Asked Questions

What does class.spec.ts do?
class.spec.ts is a source file in the vue codebase, written in typescript. It belongs to the VueCore domain, GlobalAPI subdomain.
What functions are defined in class.spec.ts?
class.spec.ts defines 1 function(s): assertClass.
What does class.spec.ts depend on?
class.spec.ts imports 2 module(s): util, vue.
Where is class.spec.ts in the architecture?
class.spec.ts is located at test/unit/features/directives/class.spec.ts (domain: VueCore, subdomain: GlobalAPI, directory: test/unit/features/directives).

Analyze Your Own Codebase

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

Try Supermodel Free