MCPcopy
hub / github.com/pallets/werkzeug / test_path

Function test_path

tests/test_routing.py:401–459  ·  tests/test_routing.py::test_path
()

Source from the content-addressed store, hash-verified

399
400
401def test_path():
402 map = r.Map(
403 [
404 r.Rule(class="st">"/", defaults={class="st">"name": class="st">"FrontPage"}, endpoint=class="st">"page"),
405 r.Rule(class="st">"/Special", endpoint=class="st">"special"),
406 r.Rule(class="st">"/<int:year>", endpoint=class="st">"year"),
407 r.Rule(class="st">"/<path:name>:foo", endpoint=class="st">"foopage"),
408 r.Rule(class="st">"/<path:name>:<path:name2>", endpoint=class="st">"twopage"),
409 r.Rule(class="st">"/<path:name>", endpoint=class="st">"page"),
410 r.Rule(class="st">"/<path:name>/edit", endpoint=class="st">"editpage"),
411 r.Rule(class="st">"/<path:name>/silly/<path:name2>", endpoint=class="st">"sillypage"),
412 r.Rule(class="st">"/<path:name>/silly/<path:name2>/edit", endpoint=class="st">"editsillypage"),
413 r.Rule(class="st">"/Talk:<path:name>", endpoint=class="st">"talk"),
414 r.Rule(class="st">"/User:<username>", endpoint=class="st">"user"),
415 r.Rule(class="st">"/User:<username>/<path:name>", endpoint=class="st">"userpage"),
416 r.Rule(
417 class="st">"/User:<username>/comment/<int:id>-<int:replyId>",
418 endpoint=class="st">"usercomment",
419 ),
420 r.Rule(class="st">"/Files/<path:file>", endpoint=class="st">"files"),
421 r.Rule(class="st">"/<admin>/<manage>/<things>", endpoint=class="st">"admin"),
422 ]
423 )
424 adapter = map.bind(class="st">"example.org", class="st">"/")
425
426 assert adapter.match(class="st">"/") == (class="st">"page", {class="st">"name": class="st">"FrontPage"})
427 pytest.raises(r.RequestRedirect, lambda: adapter.match(class="st">"/FrontPage"))
428 assert adapter.match(class="st">"/Special") == (class="st">"special", {})
429 assert adapter.match(class="st">"/2007") == (class="st">"year", {class="st">"year": 2007})
430 assert adapter.match(class="st">"/Some:foo") == (class="st">"foopage", {class="st">"name": class="st">"Some"})
431 assert adapter.match(class="st">"/Some:bar") == (class="st">"twopage", {class="st">"name": class="st">"Some", class="st">"name2": class="st">"bar"})
432 assert adapter.match(class="st">"/Some/Page") == (class="st">"page", {class="st">"name": class="st">"Some/Page"})
433 assert adapter.match(class="st">"/Some/Page/edit") == (class="st">"editpage", {class="st">"name": class="st">"Some/Page"})
434 assert adapter.match(class="st">"/Foo/silly/bar") == (
435 class="st">"sillypage",
436 {class="st">"name": class="st">"Foo", class="st">"name2": class="st">"bar"},
437 )
438 assert adapter.match(class="st">"/Foo/silly/bar/edit") == (
439 class="st">"editsillypage",
440 {class="st">"name": class="st">"Foo", class="st">"name2": class="st">"bar"},
441 )
442 assert adapter.match(class="st">"/Talk:Foo/Bar") == (class="st">"talk", {class="st">"name": class="st">"Foo/Bar"})
443 assert adapter.match(class="st">"/User:thomas") == (class="st">"user", {class="st">"username": class="st">"thomas"})
444 assert adapter.match(class="st">"/User:thomas/projects/werkzeug") == (
445 class="st">"userpage",
446 {class="st">"username": class="st">"thomas", class="st">"name": class="st">"projects/werkzeug"},
447 )
448 assert adapter.match(class="st">"/User:thomas/comment/123-456") == (
449 class="st">"usercomment",
450 {class="st">"username": class="st">"thomas", class="st">"id": 123, class="st">"replyId": 456},
451 )
452 assert adapter.match(class="st">"/Files/downloads/werkzeug/0.2.zip") == (
453 class="st">"files",
454 {class="st">"file": class="st">"downloads/werkzeug/0.2.zip"},
455 )
456 assert adapter.match(class="st">"/Jerry/eats/cheese") == (
457 class="st">"admin",
458 {class="st">"admin": class="st">"Jerry", class="st">"manage": class="st">"eats", class="st">"things": class="st">"cheese"},

Callers

nothing calls this directly

Calls 2

bindMethod · 0.95
matchMethod · 0.45

Tested by

no test coverage detected