11import furl
22import pytest
3+ import re
34
45from mfr .extensions .pdf import (settings ,
56 PdfRenderer )
@@ -16,6 +17,16 @@ def tif_metadata():
1617 return ProviderMetadata ('test' , '.tif' , 'text/plain' , '1234' ,
1718 'http://wb.osf.io/file/test.tif?token=1234' )
1819
20+ @pytest .fixture
21+ def docx_metadata ():
22+ return ProviderMetadata (
23+ 'te\' st' ,
24+ '.docx' ,
25+ 'text/plain' ,
26+ '1234' ,
27+ 'http://mfr.osf.io/export?url=http://osf.io/file/te\' st.pdf'
28+ )
29+
1930@pytest .fixture
2031def file_path ():
2132 return '/tmp/test.pdf'
@@ -24,15 +35,24 @@ def file_path():
2435def tif_file_path ():
2536 return '/tmp/test.tif'
2637
38+ @pytest .fixture
39+ def docx_file_path ():
40+ return '/tmp/te\' st.docx'
41+
2742
2843@pytest .fixture
2944def url ():
30- return 'http://osf.io/file/test .pdf'
45+ return 'http://osf.io/file/te \' st .pdf'
3146
3247
3348@pytest .fixture
3449def tif_url ():
35- return 'http://osf.io/file/test.tif'
50+ return 'http://osf.io/file/te\' st.tif'
51+
52+
53+ @pytest .fixture
54+ def docx_url ():
55+ return 'http://osf.io/file/te\' st.tif'
3656
3757
3858@pytest .fixture
@@ -42,18 +62,42 @@ def assets_url():
4262
4363@pytest .fixture
4464def export_url ():
45- return 'http://mfr.osf.io/export?url=' + url ()
65+ return 'http://mfr.osf.io/export?url=http://osf.io/file/te \' st.pdf'
4666
4767
4868@pytest .fixture
4969def renderer (metadata , file_path , url , assets_url , export_url ):
5070 return PdfRenderer (metadata , file_path , url , assets_url , export_url )
5171
72+
5273@pytest .fixture
53- def tif_renderer (tif_metadata , tif_file_path , tif_url , assets_url , export_url ):
74+ def tif_renderer (
75+ tif_metadata ,
76+ tif_file_path ,
77+ tif_url ,
78+ assets_url ,
79+ export_url
80+ ):
5481 return PdfRenderer (tif_metadata , tif_file_path , tif_url , assets_url , export_url )
5582
5683
84+ @pytest .fixture
85+ def docx_renderer (
86+ docx_metadata ,
87+ docx_file_path ,
88+ docx_url ,
89+ assets_url ,
90+ export_url
91+ ):
92+ return PdfRenderer (
93+ docx_metadata ,
94+ docx_file_path ,
95+ docx_url ,
96+ assets_url ,
97+ export_url
98+ )
99+
100+
57101class TestPdfRenderer :
58102
59103 def test_render_pdf (self , renderer , metadata , assets_url ):
@@ -71,3 +115,12 @@ def test_render_tif(self, tif_renderer, assets_url):
71115 assert '<base href="{}/{}/web/" target="_blank">' .format (assets_url , 'pdf' ) in body
72116 assert '<div id="viewer" class="pdfViewer"></div>' in body
73117 assert 'DEFAULT_URL = \' {}\' ' .format (exported_url .url ) in body
118+
119+ def test_render_docx (self , docx_renderer , assets_url ):
120+ exported_url = furl .furl (docx_renderer .export_url )
121+
122+ body = docx_renderer .render ()
123+ assert '<base href="{}/{}/web/" target="_blank">' .format (assets_url , 'pdf' ) in body
124+ assert '<div id="viewer" class="pdfViewer"></div>' in body
125+ assert 'DEFAULT_URL = \' {}\' ' .format (re .sub (r'\'' , '\\ \' ' , exported_url .url )) in body
126+
0 commit comments