@@ -90,4 +90,20 @@ public function testAddsInitialSlash(): void
9090 self ::assertSame ('/v1/test ' , Uri::sanitize ('v1/test ' ));
9191 self ::assertSame ('/v1/test/ ' , Uri::sanitize ('v1/test/ ' ));
9292 }
93+
94+ public function testWithMaskParams (): void
95+ {
96+ $ uriMask = [
97+ '/\/[a-f0-9]{64}/i ' => '/<SHA256-ID> ' ,
98+ ];
99+
100+ self ::assertSame ('/v1/test ' , Uri::sanitize ('/v1/test ' , $ uriMask ));
101+ self ::assertSame ('/v2/test/<SHA256-ID> ' , Uri::sanitize ('/v2/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7 ' , $ uriMask ));
102+ self ::assertSame ('/v3/test/<SHA256-ID>/bar ' , Uri::sanitize ('/v3/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/bar ' , $ uriMask ));
103+ self ::assertSame ('/v4/test/<SHA256-ID>/bar/<SHA256-ID>/ ' , Uri::sanitize ('/v4/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/bar/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/ ' , $ uriMask ));
104+ self ::assertSame ('/v5/test/<SHA256-ID>/<SHA256-ID> ' , Uri::sanitize ('/v5/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7 ' , $ uriMask ));
105+ self ::assertSame ('/v6/test/<SHA256-ID>/<SHA256-ID>/ ' , Uri::sanitize ('/v6/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/ ' , $ uriMask ));
106+ self ::assertSame ('/v7/test/<SHA256-ID>/<SHA256-ID>/<SHA256-ID> ' , Uri::sanitize ('/v7/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7 ' , $ uriMask ));
107+ self ::assertSame ('/v8/test/<SHA256-ID>/<SHA256-ID>/<SHA256-ID>/ ' , Uri::sanitize ('/v8/test/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/54cf575c04fdef4667094b6fc4fab8014dd3fa53576b644ec399452c43b5e7f7/ ' , $ uriMask ));
108+ }
93109}
0 commit comments