UNPKG

@curvenote/schema

Version:

Schema and markdown parser for @curvenote/editor

51 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("./utils"); describe('flattenValues', () => { it('node with no value/children returns empty string', () => { expect((0, utils_1.flattenValues)({ type: 'empty' })).toEqual(''); }); it('node with value returns value', () => { expect((0, utils_1.flattenValues)({ type: 'text', value: 'example' })).toEqual('example'); }); it('node with value and children returns value', () => { expect((0, utils_1.flattenValues)({ type: 'doubleNode', value: 'example', children: [{ type: 'text', value: 'ignored' }], })).toEqual('example'); }); it('node with child returns child value', () => { expect((0, utils_1.flattenValues)({ type: 'paragraph', children: [{ type: 'text', value: 'example' }], })).toEqual('example'); }); it('node with multiple children returns combined value', () => { expect((0, utils_1.flattenValues)({ type: 'paragraph', children: [ { type: 'text', value: 'one ' }, { type: 'text', value: 'two ' }, { type: 'text', value: 'three' }, ], })).toEqual('one two three'); }); it('node with nested children returns recursively combined value', () => { expect((0, utils_1.flattenValues)({ type: 'paragraph', children: [ { type: 'text', value: 'zero ' }, { type: 'paragraph', children: [ { type: 'text', value: 'one ' }, { type: 'text', value: 'two ' }, ], }, { type: 'text', value: 'three' }, ], })).toEqual('zero one two three'); }); }); //# sourceMappingURL=utils.spec.js.map