mirror of
https://github.com/voson-wang/toon.git
synced 2026-01-30 07:44:10 +08:00
feat: minor fixes for spec v1.4 compliance
This commit is contained in:
@@ -5,13 +5,12 @@ import arraysObjects from '@toon-format/spec/tests/fixtures/encode/arrays-object
|
||||
import arraysPrimitive from '@toon-format/spec/tests/fixtures/encode/arrays-primitive.json'
|
||||
import arraysTabular from '@toon-format/spec/tests/fixtures/encode/arrays-tabular.json'
|
||||
import delimiters from '@toon-format/spec/tests/fixtures/encode/delimiters.json'
|
||||
import normalization from '@toon-format/spec/tests/fixtures/encode/normalization.json'
|
||||
import objects from '@toon-format/spec/tests/fixtures/encode/objects.json'
|
||||
import options from '@toon-format/spec/tests/fixtures/encode/options.json'
|
||||
import primitives from '@toon-format/spec/tests/fixtures/encode/primitives.json'
|
||||
import whitespace from '@toon-format/spec/tests/fixtures/encode/whitespace.json'
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { decode, DEFAULT_DELIMITER, encode } from '../src/index'
|
||||
import { DEFAULT_DELIMITER, encode } from '../src/index'
|
||||
|
||||
const fixtureFiles = [
|
||||
primitives,
|
||||
@@ -21,22 +20,10 @@ const fixtureFiles = [
|
||||
arraysNested,
|
||||
arraysObjects,
|
||||
delimiters,
|
||||
normalization,
|
||||
whitespace,
|
||||
options,
|
||||
] as Fixtures[]
|
||||
|
||||
// Special test for round-trip fidelity (not in JSON fixtures)
|
||||
describe('round-trip fidelity', () => {
|
||||
it('preserves precision for repeating decimals', () => {
|
||||
const value = 1 / 3
|
||||
const encodedValue = encode({ value })
|
||||
const decodedValue = decode(encodedValue)
|
||||
expect((decodedValue as Record<string, unknown>)?.value).toBe(value) // Round-trip fidelity
|
||||
expect(encodedValue).toContain('0.3333333333333333') // Default JS precision
|
||||
})
|
||||
})
|
||||
|
||||
for (const fixtures of fixtureFiles) {
|
||||
describe(fixtures.description, () => {
|
||||
for (const test of fixtures.tests) {
|
||||
|
||||
Reference in New Issue
Block a user