test_core.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:watcher 作者: nosmokingbandit 项目源码 文件源码
def testSlashes(self):
        # Test that requests for index methods without a trailing slash
        # get redirected to the same URI path with a trailing slash.
        # Make sure GET params are preserved.
        self.getPage("/redirect?id=3")
        self.assertStatus(301)
        self.assertMatchesBody('<a href=([\'"])%s/redirect/[?]id=3\\1>'
                          "%s/redirect/[?]id=3</a>" % (self.base(), self.base()))

        if self.prefix():
            # Corner case: the "trailing slash" redirect could be tricky if
            # we're using a virtual root and the URI is "/vroot" (no slash).
            self.getPage("")
            self.assertStatus(301)
            self.assertMatchesBody("<a href=(['\"])%s/\\1>%s/</a>" %
                              (self.base(), self.base()))

        # Test that requests for NON-index methods WITH a trailing slash
        # get redirected to the same URI path WITHOUT a trailing slash.
        # Make sure GET params are preserved.
        self.getPage("/redirect/by_code/?code=307")
        self.assertStatus(301)
        self.assertMatchesBody("<a href=(['\"])%s/redirect/by_code[?]code=307\\1>"
                          "%s/redirect/by_code[?]code=307</a>"
                          % (self.base(), self.base()))

        # If the trailing_slash tool is off, CP should just continue
        # as if the slashes were correct. But it needs some help
        # inside cherrypy.url to form correct output.
        self.getPage('/url?path_info=page1')
        self.assertBody('%s/url/page1' % self.base())
        self.getPage('/url/leaf/?path_info=page1')
        self.assertBody('%s/url/page1' % self.base())
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号