/tests/web/test_encodings.py

https://bitbucket.org/prologic/circuits/ · Python · 39 lines · 27 code · 12 blank · 0 comment · 2 complexity · 04e7e4342156cc9e8d103a53f816ad21 MD5 · raw file

  1. from circuits.web import Controller
  2. from .helpers import urlencode, urlopen, HTTPError
  3. class Root(Controller):
  4. def index(self):
  5. return "Hello World!".encode('utf-16be')
  6. def foo(self):
  7. return b"Hello World!".decode()
  8. def test_utf_16_manual(webapp):
  9. f = urlopen(webapp.server.base)
  10. s = f.read()
  11. assert s == "Hello World!".encode('utf-16be')
  12. def test_utf_16_server():
  13. from circuits import Component
  14. class WebApp(Component):
  15. def __init__(self):
  16. super(WebApp, self).__init__()
  17. from circuits.web import Server
  18. self.server = Server(0, encoding='utf-16be').register(self)
  19. webapp = WebApp()
  20. Root().register(webapp)
  21. webapp.start()
  22. try:
  23. f = urlopen("%s/foo" % webapp.server.base)
  24. s = f.read()
  25. assert s == "Hello World!".encode('utf-16be')
  26. finally:
  27. webapp.stop()