type-fest/test-d/split-words.ts
2023-01-15 08:37:38 +07:00

96 lines
4.6 KiB
TypeScript

import {expectType} from 'tsd';
import type {SplitWords} from '../source/split-words';
expectType<SplitWords<''>>([]);
expectType<SplitWords<'a'>>(['a']);
expectType<SplitWords<'B'>>(['B']);
expectType<SplitWords<'aa'>>(['aa']);
expectType<SplitWords<'aB'>>(['a', 'B']);
expectType<SplitWords<'Ba'>>(['Ba']);
expectType<SplitWords<'BB'>>(['BB']);
expectType<SplitWords<'aaa'>>(['aaa']);
expectType<SplitWords<'aaB'>>(['aa', 'B']);
expectType<SplitWords<'aBa'>>(['a', 'Ba']);
expectType<SplitWords<'aBB'>>(['a', 'BB']);
expectType<SplitWords<'Baa'>>(['Baa']);
expectType<SplitWords<'BaB'>>(['Ba', 'B']);
expectType<SplitWords<'BBa'>>(['B', 'Ba']);
expectType<SplitWords<'BBB'>>(['BBB']);
expectType<SplitWords<'aaaa'>>(['aaaa']);
expectType<SplitWords<'aaaB'>>(['aaa', 'B']);
expectType<SplitWords<'aaBa'>>(['aa', 'Ba']);
expectType<SplitWords<'aaBB'>>(['aa', 'BB']);
expectType<SplitWords<'aBaa'>>(['a', 'Baa']);
expectType<SplitWords<'aBaB'>>(['a', 'Ba', 'B']);
expectType<SplitWords<'aBBa'>>(['a', 'B', 'Ba']);
expectType<SplitWords<'aBBB'>>(['a', 'BBB']);
expectType<SplitWords<'Baaa'>>(['Baaa']);
expectType<SplitWords<'BaaB'>>(['Baa', 'B']);
expectType<SplitWords<'BaBa'>>(['Ba', 'Ba']);
expectType<SplitWords<'BaBB'>>(['Ba', 'BB']);
expectType<SplitWords<'BBaa'>>(['B', 'Baa']);
expectType<SplitWords<'BBaB'>>(['B', 'Ba', 'B']);
expectType<SplitWords<'BBBa'>>(['BB', 'Ba']);
expectType<SplitWords<'BBBB'>>(['BBBB']);
expectType<SplitWords<'aaaaa'>>(['aaaaa']);
expectType<SplitWords<'aaaaB'>>(['aaaa', 'B']);
expectType<SplitWords<'aaaBa'>>(['aaa', 'Ba']);
expectType<SplitWords<'aaaBB'>>(['aaa', 'BB']);
expectType<SplitWords<'aaBaa'>>(['aa', 'Baa']);
expectType<SplitWords<'aaBaB'>>(['aa', 'Ba', 'B']);
expectType<SplitWords<'aaBBa'>>(['aa', 'B', 'Ba']);
expectType<SplitWords<'aaBBB'>>(['aa', 'BBB']);
expectType<SplitWords<'aBaaa'>>(['a', 'Baaa']);
expectType<SplitWords<'aBaaB'>>(['a', 'Baa', 'B']);
expectType<SplitWords<'aBaBa'>>(['a', 'Ba', 'Ba']);
expectType<SplitWords<'aBaBB'>>(['a', 'Ba', 'BB']);
expectType<SplitWords<'aBBaa'>>(['a', 'B', 'Baa']);
expectType<SplitWords<'aBBaB'>>(['a', 'B', 'Ba', 'B']);
expectType<SplitWords<'aBBBa'>>(['a', 'BB', 'Ba']);
expectType<SplitWords<'aBBBB'>>(['a', 'BBBB']);
expectType<SplitWords<'Baaaa'>>(['Baaaa']);
expectType<SplitWords<'BaaaB'>>(['Baaa', 'B']);
expectType<SplitWords<'BaaBa'>>(['Baa', 'Ba']);
expectType<SplitWords<'BaaBB'>>(['Baa', 'BB']);
expectType<SplitWords<'BaBaa'>>(['Ba', 'Baa']);
expectType<SplitWords<'BaBaB'>>(['Ba', 'Ba', 'B']);
expectType<SplitWords<'BaBBa'>>(['Ba', 'B', 'Ba']);
expectType<SplitWords<'BaBBB'>>(['Ba', 'BBB']);
expectType<SplitWords<'BBaaa'>>(['B', 'Baaa']);
expectType<SplitWords<'BBaaB'>>(['B', 'Baa', 'B']);
expectType<SplitWords<'BBaBa'>>(['B', 'Ba', 'Ba']);
expectType<SplitWords<'BBaBB'>>(['B', 'Ba', 'BB']);
expectType<SplitWords<'BBBaa'>>(['BB', 'Baa']);
expectType<SplitWords<'BBBaB'>>(['BB', 'Ba', 'B']);
expectType<SplitWords<'BBBBa'>>(['BBB', 'Ba']);
expectType<SplitWords<'BBBBB'>>(['BBBBB']);
expectType<SplitWords<'hello world'>>(['hello', 'world']);
expectType<SplitWords<'Hello-world'>>(['Hello', 'world']);
expectType<SplitWords<'hello_world'>>(['hello', 'world']);
expectType<SplitWords<'hello world'>>(['hello', 'world']);
expectType<SplitWords<'Hello--world'>>(['Hello', 'world']);
expectType<SplitWords<'hello__world'>>(['hello', 'world']);
expectType<SplitWords<' hello world'>>(['hello', 'world']);
expectType<SplitWords<'---Hello--world'>>(['Hello', 'world']);
expectType<SplitWords<'___hello__world'>>(['hello', 'world']);
expectType<SplitWords<'hello world '>>(['hello', 'world']);
expectType<SplitWords<'hello\tworld'>>(['hello', 'world']);
expectType<SplitWords<'Hello--world--'>>(['Hello', 'world']);
expectType<SplitWords<'hello__world___'>>(['hello', 'world']);
expectType<SplitWords<'___ hello -__ _world'>>(['hello', 'world']);
expectType<SplitWords<'__HelloWorld-HELLOWorld helloWORLD'>>(['Hello', 'World', 'HELLO', 'World', 'hello', 'WORLD']);
expectType<SplitWords<'hello WORLD lowercase'>>(['hello', 'WORLD', 'lowercase']);
expectType<SplitWords<'hello WORLD-lowercase'>>(['hello', 'WORLD', 'lowercase']);
expectType<SplitWords<'hello WORLD Uppercase'>>(['hello', 'WORLD', 'Uppercase']);
expectType<SplitWords<'item0'>>(['item', '0']);
expectType<SplitWords<'item01'>>(['item', '01']);
expectType<SplitWords<'item10'>>(['item', '10']);
expectType<SplitWords<'item010'>>(['item', '010']);
expectType<SplitWords<'0item0'>>(['0', 'item', '0']);
expectType<SplitWords<'01item01'>>(['01', 'item', '01']);
expectType<SplitWords<'10item10'>>(['10', 'item', '10']);
expectType<SplitWords<'010item010'>>(['010', 'item', '010']);
expectType<SplitWords<'item0_item_1 item -2'>>(['item', '0', 'item', '1', 'item', '2']);