import { describe, it } from '@ephox/bedrock-client'; import { Optional } from 'ephox/katamari/api/Optional'; import * as Optionals from 'ephox/katamari/api/Optionals'; import { assertNone, assertSome } from 'ephox/katamari/test/AssertOptional'; describe('atomic.katamari.api.optional.OptionalsTraverseTest', () => { it('Optionals.traverse - unit tests', () => { assertSome(Optionals.traverse( [], (_x: number): Optional => { throw Error('no'); } ), []); assertSome(Optionals.traverse( [ 3 ], (x: number): Optional => Optional.some(x + 'cat') ), [ '3cat' ]); assertNone(Optionals.traverse( [ 3 ], (_x: number): Optional => Optional.none() )); assertNone(Optionals.traverse( [ 3, 4 ], (x: number): Optional => Optionals.someIf(x === 3, x) )); }); });