ElectronicBabylonianLiterature/ebl-frontend

View on GitHub
src/fragmentarium/ui/edition/Template.test.tsx

Summary

Maintainability
A
0 mins
Test Coverage
import Template from './Template'

test.each([
  ['', true],
  ['5', false],
])('For %s the isEmpty returns %p', (pattern, expected) => {
  const template = new Template(pattern)
  expect(template.isEmpty).toEqual(expected)
})

test.each([
  ['6,7', true],
  ['3', true],
  ["1', 1#", true],
  ['-6,7', false],
  ['invalid', false],
])('For %s the isValid returns %p', (pattern, expected) => {
  const template = new Template(pattern)
  expect(template.isValid).toEqual(expected)
})

test.each([
  [
    '3',
    `1. [...]  [...]
2. [...]  [...]
3. [...]  [...]`,
  ],
  [
    '2, 3',
    `@obverse
1. [...]  [...]
2. [...]  [...]

@reverse
1. [...]  [...]
2. [...]  [...]
3. [...]  [...]`,
  ],
  [
    "1', 1#",
    `@obverse
1'. [...]  [...]

@reverse
1#. [...]  [...]`,
  ],
])('Pattern %s generates %s', (pattern, expected) => {
  const template = new Template(pattern)
  expect(template.generate()).toEqual(expected)
})