11import { Equal , Expect } from "./type-test" ;
2- import { ExtractByPrefix , FilterNever , Replace , Split } from "./type" ;
2+ import {
3+ ExtractByPrefix ,
4+ FilterNever ,
5+ Replace ,
6+ ReplaceAll ,
7+ Split ,
8+ } from "./type" ;
9+ import { NormalizePath } from "./url" ;
310
411// eslint-disable-next-line @typescript-eslint/no-unused-vars
512type FilterNeverCases = [
@@ -29,6 +36,20 @@ type ReplaceTestCases = [
2936 Expect < Equal < Replace < "abcd" , "bc" , "-" > , "a-d" > > ,
3037] ;
3138
39+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
40+ type ReplaceAllTestCases = [
41+ Expect < Equal < ReplaceAll < "a" , "a" , "-" > , "-" > > ,
42+ Expect < Equal < ReplaceAll < "a" , "noexist" , "-" > , "a" > > ,
43+ Expect < Equal < ReplaceAll < "a" , "a" , "a" > , "a" > > ,
44+ Expect < Equal < ReplaceAll < "abcd" , "ab" , "-" > , "-cd" > > ,
45+ Expect < Equal < ReplaceAll < "abcd" , "cd" , "-" > , "ab-" > > ,
46+ Expect < Equal < ReplaceAll < "abcd" , "bc" , "-" > , "a-d" > > ,
47+ Expect < Equal < ReplaceAll < "aab" , "a" , "-" > , "--b" > > ,
48+ Expect < Equal < ReplaceAll < "aba" , "a" , "-" > , "-b-" > > ,
49+ Expect < Equal < ReplaceAll < "aabaa" , "aa" , "-" > , "-b-" > > ,
50+ Expect < Equal < ReplaceAll < "aaaba" , "aa" , "-" > , "-aba" > > ,
51+ ] ;
52+
3253// eslint-disable-next-line @typescript-eslint/no-unused-vars
3354type ExtractByPrefixTestCases = [
3455 Expect < Equal < ExtractByPrefix < "" , "" > , "" > > ,
@@ -41,3 +62,10 @@ type ExtractByPrefixTestCases = [
4162 Expect < Equal < ExtractByPrefix < ":a" | ":b" , ":" > , "a" | "b" > > ,
4263 Expect < Equal < ExtractByPrefix < ":a" | ":b" | ":c" , ":" > , "a" | "b" | "c" > > ,
4364] ;
65+
66+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
67+ type NormalizePathTestCases = [
68+ Expect < Equal < NormalizePath < "users//" > , "users/" > > ,
69+ Expect < Equal < NormalizePath < "//users" > , "/users" > > ,
70+ Expect < Equal < NormalizePath < "users//:userId" > , "users/:userId" > > ,
71+ ] ;
0 commit comments