route — он всегда начинается со слэша /. Приведите его к короткому каноническому виду.
Как читается путь:
- . — текущая папка, её можно просто пропустить;
- .. — подняться в родительскую папку; из корня подниматься некуда, поэтому там .. ничего не делает;
- несколько слэшей подряд (//, ///) равносильны одному;
- любые другие сочетания точек, например ... или ...., — обычные имена папок.
Канонический путь начинается с одного /, папки в нём разделены ровно одним слэшем, в конце слэша нет (кроме случая, когда весь путь — это корень /), и в нём не встречаются . и .. как переходы. Верните этот путь строкой.route="/docs//drafts/./final/" → '/docs/drafts/final'
Двойной слэш схлопывается, . означает «остаться на месте», завершающий слэш убирается.
route="/music/rock/../jazz/.." → '/music'
Из rock поднимаемся обратно в music, заходим в jazz и снова поднимаемся — остаётся /music.
route="/../../.../x" → '/.../x'
Выше корня подняться нельзя, а ... — обычное имя папки.
route состоит из латинских букв, цифр, символов ., / и _route начинается с /route="/docs//drafts/./final/"
'/docs/drafts/final'
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 201 тест на сервере, включая скрытые.