@@ 1,5 1,9 @@
+import tempfile
+from datetime import datetime
+
from django.test import TestCase
from wiki.conf import settings as wiki_settings
+from wiki.core.http import send_file
from wiki.forms import Group
from wiki.models import Article, ArticleRevision, URLPath
@@ 36,3 40,17 @@ class LineEndingsTests(TestCase):
article.add_revision(ArticleRevision(title="Root", content="Hello\nworld"),
save=True)
self.assertEqual("Hello\r\nworld", article.current_revision.content)
+
+
+class HttpTests(TestCase):
+ def test_send_file(self):
+ fabricate_request = self.client.get("/").wsgi_request
+ fobject = tempfile.NamedTemporaryFile("r")
+ response = send_file(fabricate_request, fobject.name, filename="test.pdf")
+ assert response.has_header("Content-Disposition")
+ assert "inline" in response.get("Content-Disposition")
+ response = send_file(fabricate_request, fobject.name, filename="test.jpeg")
+ assert response.has_header("Content-Disposition")
+ response = send_file(fabricate_request, fobject.name, filename="test.jpeg", last_modified=datetime.now())
+ assert response.has_header("Content-Disposition")
+ fobject.close()