@@ -221,8 +221,10 @@ def test_hyperlink_reorder(self):
221
221
paragraph = soup .find_all ('w:p' )[0 ]
222
222
text_elements = paragraph .find_all ('w:t' )
223
223
224
- self .assertEqual (text_elements [3 ].parent .rPr .color , text_elements_bf_reorder [1 ].parent .rPr .color )
225
- self .assertEqual (text_elements [3 ].parent .rPr .u , text_elements_bf_reorder [1 ].parent .rPr .u )
224
+ self .assertEqual (text_elements [3 ].parent .rPr .color ,
225
+ text_elements_bf_reorder [1 ].parent .rPr .color )
226
+ self .assertEqual (text_elements [3 ].parent .rPr .u ,
227
+ text_elements_bf_reorder [1 ].parent .rPr .u )
226
228
self .assertEqual (text_elements [1 ].parent .rPr .color , None )
227
229
self .assertEqual (text_elements [1 ].parent .rPr .u , None )
228
230
@@ -865,3 +867,33 @@ def test_lt(self):
865
867
self .assertEqual (openstring .order , 0 )
866
868
self .assertEqual (openstring .string , translation )
867
869
self .assertEqual (openstring .string , openstring .key )
870
+
871
+ def test_rtl (self ):
872
+ path = '{}/hello_world.docx' .format (self .TESTFILE_BASE )
873
+ with open (path , 'rb' ) as f :
874
+ content = f .read ()
875
+ handler = DocxHandler ()
876
+ template , stringset = handler .parse (content )
877
+ openstring = stringset [0 ]
878
+
879
+ # Compile with altered translation
880
+ translation = u'<tx>Καλημέρα κόσμε </tx><tx href="https://el.transifex.com/">αυτός είναι ένας κρίκος</tx>' # noqa
881
+ stringset = [
882
+ OpenString (openstring .key , translation , order = 1 )
883
+ ]
884
+
885
+ content = handler .compile (template , stringset , is_rtl = True )
886
+ docx = DocxFile (content )
887
+ soup = BeautifulSoup (docx .get_document (), 'xml' )
888
+ self .assertEqual (len (stringset ), 1 )
889
+ self .assertEqual (len (soup .find_all ("w:bidi" )), 1 )
890
+ for pPr in soup .find_all ("w:pPr" ):
891
+ self .assertEqual (len (pPr .findChildren ("w:bidi" )), 1 )
892
+ for bidi in pPr .findChildren ("w:bidi" ):
893
+ self .assertEqual (bidi ["w:val" ], "1" )
894
+
895
+ self .assertTrue (len (soup .find_all ("w:rtl" )), 1 )
896
+ for rPr in soup .find_all ("w:rPr" ):
897
+ self .assertEqual (len (rPr .findChildren ("w:rtl" )), 1 )
898
+ for rtl in rPr .findChildren ("w:rtl" ):
899
+ self .assertEqual (rtl ["w:val" ], "1" )
0 commit comments