Home / File/ line-table.test.ts — tailwindcss Source File

line-table.test.ts — tailwindcss Source File

Architecture documentation for line-table.test.ts, a typescript file in the tailwindcss codebase. 4 imports, 0 dependents.

File typescript Oxide 4 imports

Entity Profile

Dependency Diagram

graph LR
  d62ece9e_b92f_5732_5e9f_7ca6cb6b9d0d["line-table.test.ts"]
  c078df4e_9ae3_a02e_4feb_6380507fddd9["line-table.ts"]
  d62ece9e_b92f_5732_5e9f_7ca6cb6b9d0d --> c078df4e_9ae3_a02e_4feb_6380507fddd9
  1c8e1044_08e4_f6ad_7550_c4fa3667fbf3["createLineTable"]
  d62ece9e_b92f_5732_5e9f_7ca6cb6b9d0d --> 1c8e1044_08e4_f6ad_7550_c4fa3667fbf3
  8ff4bb92_b963_efb6_cca2_1da4b3ea849b["dedent"]
  d62ece9e_b92f_5732_5e9f_7ca6cb6b9d0d --> 8ff4bb92_b963_efb6_cca2_1da4b3ea849b
  f1e05e5f_c1b2_a3f5_b2e8_3317b9243ac3["vitest"]
  d62ece9e_b92f_5732_5e9f_7ca6cb6b9d0d --> f1e05e5f_c1b2_a3f5_b2e8_3317b9243ac3
  style d62ece9e_b92f_5732_5e9f_7ca6cb6b9d0d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import dedent from 'dedent'
import { expect, test } from 'vitest'
import { createLineTable } from './line-table'

const css = dedent

test('line tables', () => {
  let text = css`
    .foo {
      color: red;
    }
  `

  let table = createLineTable(`${text}\n`)

  // Line 1: `.foo {\n`
  expect(table.find(0)).toEqual({ line: 1, column: 0 })
  expect(table.find(1)).toEqual({ line: 1, column: 1 })
  expect(table.find(2)).toEqual({ line: 1, column: 2 })
  expect(table.find(3)).toEqual({ line: 1, column: 3 })
  expect(table.find(4)).toEqual({ line: 1, column: 4 })
  expect(table.find(5)).toEqual({ line: 1, column: 5 })
  expect(table.find(6)).toEqual({ line: 1, column: 6 })

  // Line 2: `  color: red;\n`
  expect(table.find(6 + 1)).toEqual({ line: 2, column: 0 })
  expect(table.find(6 + 2)).toEqual({ line: 2, column: 1 })
  expect(table.find(6 + 3)).toEqual({ line: 2, column: 2 })
  expect(table.find(6 + 4)).toEqual({ line: 2, column: 3 })
  expect(table.find(6 + 5)).toEqual({ line: 2, column: 4 })
  expect(table.find(6 + 6)).toEqual({ line: 2, column: 5 })
  expect(table.find(6 + 7)).toEqual({ line: 2, column: 6 })
  expect(table.find(6 + 8)).toEqual({ line: 2, column: 7 })
  expect(table.find(6 + 9)).toEqual({ line: 2, column: 8 })
  expect(table.find(6 + 10)).toEqual({ line: 2, column: 9 })
  expect(table.find(6 + 11)).toEqual({ line: 2, column: 10 })
  expect(table.find(6 + 12)).toEqual({ line: 2, column: 11 })
  expect(table.find(6 + 13)).toEqual({ line: 2, column: 12 })

  // Line 3: `}\n`
  expect(table.find(20 + 1)).toEqual({ line: 3, column: 0 })
  expect(table.find(20 + 2)).toEqual({ line: 3, column: 1 })

  // After the new line
  expect(table.find(22 + 1)).toEqual({ line: 4, column: 0 })
})

test('line tables findOffset', () => {
  let text = css`
    .foo {
      color: red;
    }
  `

  let table = createLineTable(`${text}\n`)

  // Line 1: `.foo {\n`
  expect(table.findOffset({ line: 1, column: 0 })).toEqual(0)
  expect(table.findOffset({ line: 1, column: 1 })).toEqual(1)
  expect(table.findOffset({ line: 1, column: 2 })).toEqual(2)
  expect(table.findOffset({ line: 1, column: 3 })).toEqual(3)
  expect(table.findOffset({ line: 1, column: 4 })).toEqual(4)
  expect(table.findOffset({ line: 1, column: 5 })).toEqual(5)
  expect(table.findOffset({ line: 1, column: 6 })).toEqual(6)

  // Line 2: `  color: red;\n`
  expect(table.findOffset({ line: 2, column: 0 })).toEqual(6 + 1)
  expect(table.findOffset({ line: 2, column: 1 })).toEqual(6 + 2)
  expect(table.findOffset({ line: 2, column: 2 })).toEqual(6 + 3)
  expect(table.findOffset({ line: 2, column: 3 })).toEqual(6 + 4)
  expect(table.findOffset({ line: 2, column: 4 })).toEqual(6 + 5)
  expect(table.findOffset({ line: 2, column: 5 })).toEqual(6 + 6)
  expect(table.findOffset({ line: 2, column: 6 })).toEqual(6 + 7)
  expect(table.findOffset({ line: 2, column: 7 })).toEqual(6 + 8)
  expect(table.findOffset({ line: 2, column: 8 })).toEqual(6 + 9)
  expect(table.findOffset({ line: 2, column: 9 })).toEqual(6 + 10)
  expect(table.findOffset({ line: 2, column: 10 })).toEqual(6 + 11)
  expect(table.findOffset({ line: 2, column: 11 })).toEqual(6 + 12)
  expect(table.findOffset({ line: 2, column: 12 })).toEqual(6 + 13)

  // Line 3: `}\n`
  expect(table.findOffset({ line: 3, column: 0 })).toEqual(20 + 1)
  expect(table.findOffset({ line: 3, column: 1 })).toEqual(20 + 2)

  // After the new line
  expect(table.findOffset({ line: 4, column: 0 })).toEqual(22 + 1)
})

Domain

Dependencies

Frequently Asked Questions

What does line-table.test.ts do?
line-table.test.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the Oxide domain.
What does line-table.test.ts depend on?
line-table.test.ts imports 4 module(s): createLineTable, dedent, line-table.ts, vitest.
Where is line-table.test.ts in the architecture?
line-table.test.ts is located at packages/tailwindcss/src/source-maps/line-table.test.ts (domain: Oxide, directory: packages/tailwindcss/src/source-maps).

Analyze Your Own Codebase

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

Try Supermodel Free