|
|
@@ -26,7 +26,7 @@ from openpyxl import load_workbook
|
|
|
from desktop.lib.export_csvxls import create_generator, make_response
|
|
|
|
|
|
if sys.version_info[0] > 2:
|
|
|
- from io import StringIO as string_io
|
|
|
+ from io import BytesIO as string_io
|
|
|
else:
|
|
|
from cStringIO import StringIO as string_io
|
|
|
|
|
|
@@ -42,16 +42,16 @@ def test_export_csv():
|
|
|
generator = create_generator(content_generator(headers, data), "csv")
|
|
|
response = make_response(generator, "csv", "foo")
|
|
|
assert_equal("application/csv", response["content-type"])
|
|
|
- content = ''.join(response.streaming_content)
|
|
|
- assert_equal('x,y\r\n1,2\r\n3,4\r\n"5,6",7\r\nNULL,NULL\r\nhttp://gethue.com,http://gethue.com\r\n', content)
|
|
|
+ content = b''.join(response.streaming_content)
|
|
|
+ assert_equal(b'x,y\r\n1,2\r\n3,4\r\n"5,6",7\r\nNULL,NULL\r\nhttp://gethue.com,http://gethue.com\r\n', content)
|
|
|
assert_equal('attachment; filename="foo.csv"', response["content-disposition"])
|
|
|
|
|
|
# Check non-ASCII for any browser except FF or no browser info
|
|
|
generator = create_generator(content_generator(headers, data), "csv")
|
|
|
response = make_response(generator, "csv", u'gんtbhんjk?¥n')
|
|
|
assert_equal("application/csv", response["content-type"])
|
|
|
- content = ''.join(response.streaming_content)
|
|
|
- assert_equal('x,y\r\n1,2\r\n3,4\r\n"5,6",7\r\nNULL,NULL\r\nhttp://gethue.com,http://gethue.com\r\n', content)
|
|
|
+ content = b''.join(response.streaming_content)
|
|
|
+ assert_equal(b'x,y\r\n1,2\r\n3,4\r\n"5,6",7\r\nNULL,NULL\r\nhttp://gethue.com,http://gethue.com\r\n', content)
|
|
|
assert_equal('attachment; filename="g%E3%82%93tbh%E3%82%93jk%EF%BC%9F%EF%BF%A5n.csv"', response["content-disposition"])
|
|
|
|
|
|
# Check non-ASCII for FF browser
|
|
|
@@ -59,8 +59,8 @@ def test_export_csv():
|
|
|
response = make_response(generator, "csv", u'gんtbhんjk?¥n',
|
|
|
user_agent='Mozilla / 5.0(Macintosh; Intel Mac OS X 10.12;rv:59.0) Gecko / 20100101 Firefox / 59.0)')
|
|
|
assert_equal("application/csv", response["content-type"])
|
|
|
- content = ''.join(response.streaming_content)
|
|
|
- assert_equal('x,y\r\n1,2\r\n3,4\r\n"5,6",7\r\nNULL,NULL\r\nhttp://gethue.com,http://gethue.com\r\n', content)
|
|
|
+ content = b''.join(response.streaming_content)
|
|
|
+ assert_equal(b'x,y\r\n1,2\r\n3,4\r\n"5,6",7\r\nNULL,NULL\r\nhttp://gethue.com,http://gethue.com\r\n', content)
|
|
|
assert_equal('attachment; filename*="g%E3%82%93tbh%E3%82%93jk%EF%BC%9F%EF%BF%A5n.csv"',
|
|
|
response["content-disposition"])
|
|
|
|
|
|
@@ -84,7 +84,7 @@ def test_export_xls():
|
|
|
|
|
|
|
|
|
def _read_xls_sheet_data(response):
|
|
|
- content = ''.join(response.content)
|
|
|
+ content = bytes(response.content)
|
|
|
|
|
|
data = string_io()
|
|
|
data.write(content)
|