Add html test for __html__ and _repr_html_.
This commit is contained in:
parent
eb349fe5b5
commit
3967faf44e
|
@ -11,7 +11,7 @@ import pytest
|
||||||
from sanic import Blueprint, Sanic
|
from sanic import Blueprint, Sanic
|
||||||
from sanic.exceptions import ServerError
|
from sanic.exceptions import ServerError
|
||||||
from sanic.request import DEFAULT_HTTP_CONTENT_TYPE, RequestParameters
|
from sanic.request import DEFAULT_HTTP_CONTENT_TYPE, RequestParameters
|
||||||
from sanic.response import json, text
|
from sanic.response import html, json, text
|
||||||
from sanic.testing import ASGI_HOST, HOST, PORT
|
from sanic.testing import ASGI_HOST, HOST, PORT
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,6 +72,41 @@ def test_text(app):
|
||||||
assert response.text == "Hello"
|
assert response.text == "Hello"
|
||||||
|
|
||||||
|
|
||||||
|
def test_html(app):
|
||||||
|
class Foo:
|
||||||
|
def __html__(self):
|
||||||
|
return "<h1>Foo</h1>"
|
||||||
|
|
||||||
|
def _repr_html_(self):
|
||||||
|
return "<h1>Foo object repr</h1>"
|
||||||
|
|
||||||
|
class Bar:
|
||||||
|
def _repr_html_(self):
|
||||||
|
return "<h1>Bar object repr</h1>"
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
async def handler(request):
|
||||||
|
return html("<h1>Hello</h1>")
|
||||||
|
|
||||||
|
@app.route("/foo")
|
||||||
|
async def handler(request):
|
||||||
|
return html(Foo())
|
||||||
|
|
||||||
|
@app.route("/bar")
|
||||||
|
async def handler(request):
|
||||||
|
return html(Bar())
|
||||||
|
|
||||||
|
request, response = app.test_client.get("/")
|
||||||
|
assert response.content_type == "text/html; charset=utf-8"
|
||||||
|
assert response.text == "<h1>Hello</h1>"
|
||||||
|
|
||||||
|
request, response = app.test_client.get("/foo")
|
||||||
|
assert response.text == "<h1>Foo</h1>"
|
||||||
|
|
||||||
|
request, response = app.test_client.get("/bar")
|
||||||
|
assert response.text == "<h1>Bar object repr</h1>"
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_text_asgi(app):
|
async def test_text_asgi(app):
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user