mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-13 07:47:12 +00:00
Added test for RTF with russian characters
Changed and refactored TestRTFHandler helper methods
This commit is contained in:
1 parent
b076801e1b
commit
7e4571874e
2 files changed
+41
-12
No files matched your search
@@ -0,0 +1 @@
|
||||
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch37\stshfhich37\stshfbi37\deflang3082\deflangfe3082\themelang3082\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f409\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f410\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f412\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f413\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f416\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f417\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31561\fbidi \froman\fcharset161\fprq2 Times New RoLine truncated
|
||||
+40
-12
@@ -52,27 +52,47 @@
|
||||
return html;
|
||||
}
|
||||
|
||||
- (NSData *) get_zentyal_crash_contents_of: (unsigned int) number
|
||||
- (NSData *) dataWithContentsOfFixture: (NSString*) name
|
||||
{
|
||||
NSString *file_path = [NSString stringWithFormat: @"Fixtures/zentyal_crash_%u.rtf", number];
|
||||
NSString *file_path = [NSString stringWithFormat: @"Fixtures/%@", name];
|
||||
|
||||
if(![[NSFileManager defaultManager] fileExistsAtPath: file_path]) {
|
||||
NSString *error = [NSString stringWithFormat: @"File %@ doesn't exist", file_path];
|
||||
testWithMessage(false, error);
|
||||
}
|
||||
|
||||
return [NSData dataWithContentsOfFile: file_path];
|
||||
return [NSData dataWithContentsOfFile: file_path];
|
||||
}
|
||||
|
||||
- (void) test_does_not_crash: (unsigned int) number
|
||||
- (NSData *) dataWithContentsOfZentyalCrash: (unsigned int) number
|
||||
{
|
||||
NSString *fixture = [NSString stringWithFormat: @"zentyal_crash_%u.rtf", number];
|
||||
return [self dataWithContentsOfFixture: fixture];
|
||||
|
||||
}
|
||||
|
||||
- (void) checkDoesNotCrash: (unsigned int) number
|
||||
{
|
||||
// FIXME fork
|
||||
[self rtf2html: [self get_zentyal_crash_contents_of: number]];
|
||||
[self rtf2html: [self dataWithContentsOfZentyalCrash: number]];
|
||||
}
|
||||
|
||||
- (void) checkHTMLConversionOfRTFFile: (NSString*) file
|
||||
againstExpectedHTML: (NSString*) expected
|
||||
{
|
||||
NSData *in = nil;
|
||||
NSString *out = nil, *error = nil;
|
||||
|
||||
in = [self dataWithContentsOfFixture: file];
|
||||
out = [self rtf2html: in];
|
||||
error = [NSString stringWithFormat:
|
||||
@"Html from rtf result is not what we expected.\nActual:\n%@\n Expected:\n%@\n", out, expected];
|
||||
testWithMessage([out isEqualToString: expected], error);
|
||||
}
|
||||
|
||||
|
||||
- (void) test_zentyal_crash_2058
|
||||
{
|
||||
[self test_does_not_crash: 2058];
|
||||
[self checkDoesNotCrash: 2058];
|
||||
// Output is not correct... but the original issue was segfault
|
||||
}
|
||||
|
||||
@@ -81,7 +101,7 @@
|
||||
NSData *in = nil;
|
||||
NSString *out = nil, *error = nil, *expected = nil;
|
||||
|
||||
in = [self get_zentyal_crash_contents_of: 2089];
|
||||
in = [self dataWithContentsOfZentyalCrash: 2089];
|
||||
expected = @"<html><meta charset='utf-8'><body><font color=\"#000000\">Lorem Ipsum</font></body></html>";
|
||||
out = [self rtf2html: in];
|
||||
error = [NSString stringWithFormat:
|
||||
@@ -91,22 +111,30 @@
|
||||
|
||||
- (void) test_zentyal_crash_6330
|
||||
{
|
||||
[self test_does_not_crash: 6330];
|
||||
[self checkDoesNotCrash: 6330];
|
||||
}
|
||||
|
||||
- (void) test_zentyal_crash_8346
|
||||
{
|
||||
[self test_does_not_crash: 8346];
|
||||
[self checkDoesNotCrash: 8346];
|
||||
}
|
||||
|
||||
- (void) test_zentyal_crash_6977
|
||||
{
|
||||
[self test_does_not_crash: 6977];
|
||||
[self checkDoesNotCrash: 6977];
|
||||
}
|
||||
|
||||
- (void) test_zentyal_crash_7067
|
||||
{
|
||||
[self test_does_not_crash: 7067];
|
||||
[self checkDoesNotCrash: 7067];
|
||||
}
|
||||
|
||||
- (void) test_mini_russian
|
||||
{
|
||||
NSString *file =@"mini_russian.rtf";
|
||||
NSString *expected=@"<html><meta charset='utf-8'><body><font face=\"Calibri\"><font face=\"Calibri Cyr\"><font color=\"#000000\">XXзык польски, польщизнаXX</font></font></font></body></html>";
|
||||
[self checkHTMLConversionOfRTFFile: file
|
||||
againstExpectedHTML: expected];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in new issue
Block a user