| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 1 | package de.ids_mannheim.korap.plkexport; |
| 2 | |
| 3 | import java.io.IOException; |
| 4 | |
| 5 | import static org.junit.Assert.assertEquals; |
| 6 | import static org.junit.Assert.assertNull; |
| 7 | import static org.junit.Assert.assertTrue; |
| 8 | import static org.junit.Assert.assertFalse; |
| 9 | import static org.junit.Assert.fail; |
| 10 | import org.junit.Test; |
| 11 | |
| 12 | import javax.ws.rs.core.Response; |
| 13 | |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 14 | public class RtfExportTest { |
| Akron | 820dc64 | 2020-11-19 13:11:50 +0100 | [diff] [blame] | 15 | |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 16 | @Test |
| 17 | public void testInit () throws IOException { |
| Akron | 876017d | 2020-11-17 09:19:24 +0100 | [diff] [blame] | 18 | RtfExporter rtf = new RtfExporter(); |
| 19 | rtf.init("{\"query\":\"cool\"}"); |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 20 | |
| Akron | 876017d | 2020-11-17 09:19:24 +0100 | [diff] [blame] | 21 | Response resp = rtf.serve().build(); |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 22 | String x = (String) resp.getEntity(); |
| 23 | resp.close(); |
| Akron | ea77cb4 | 2020-11-18 14:04:21 +0100 | [diff] [blame] | 24 | assertTrue(x.contains("\\footer\\pard\\qr\\fs18\\f0 @ Institut")); |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 25 | assertTrue(x.contains("Institut f\\u252\\'fcr Deutsche")); |
| 26 | }; |
| 27 | |
| 28 | @Test |
| 29 | public void testInitFull () throws IOException { |
| Akron | 876017d | 2020-11-17 09:19:24 +0100 | [diff] [blame] | 30 | RtfExporter rtf = new RtfExporter(); |
| 31 | rtf.init("{\"meta\":\"ja\",\"collection\":\"hm\",\"query\":\"cool\"," + |
| Akron | ea77cb4 | 2020-11-18 14:04:21 +0100 | [diff] [blame] | 32 | "\"matches\":["+ |
| 33 | "{\"author\":\"Goethe\","+ |
| 34 | "\"title\":\"Title1\","+ |
| 35 | "\"pubDate\":\"20051103\","+ |
| 36 | "\"textSigle\":\"RTF/G59/34284\","+ |
| 37 | "\"snippet\":\"Simple <mark>match1</mark> Snippet\"}"+ |
| 38 | ","+ |
| 39 | "{\"author\":\"Schiller\","+ |
| 40 | "\"title\":\"Title2\","+ |
| 41 | "\"pubDate\":\"20051104\","+ |
| 42 | "\"textSigle\":\"RTF/G59/34285\","+ |
| 43 | "\"snippet\":\"<span class=\\\"context-left\\\"><span class=\\\"more\\\"></span>"+ |
| 44 | "Simpler </span><span class=\\\"match\\\"><mark>"match2"</mark></span>"+ |
| 45 | "<span class=\\\"context-right\\\"> Snippet"+ |
| 46 | "<span class=\\\"more\\\"></span></span>\"}"+ |
| 47 | "]}"); |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 48 | |
| Akron | 876017d | 2020-11-17 09:19:24 +0100 | [diff] [blame] | 49 | Response resp = rtf.serve().build(); |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 50 | String x = (String) resp.getEntity(); |
| 51 | resp.close(); |
| 52 | assertTrue(x.contains("{\\b match1}")); |
| Akron | c408ccb | 2020-11-16 18:22:12 +0100 | [diff] [blame] | 53 | assertTrue(x.contains("{\\b \"match2\"}")); |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 54 | assertTrue(x.contains("{\\b Title1")); |
| 55 | assertTrue(x.contains("{\\b Title2")); |
| Akron | 1c8a768 | 2020-11-16 19:06:02 +0100 | [diff] [blame] | 56 | |
| 57 | assertTrue(x.contains("\\qj Simple ")); |
| 58 | assertTrue(x.contains("\\qj [...] Simpler ")); |
| 59 | assertTrue(x.contains("Snippet\\par}")); |
| 60 | assertTrue(x.contains("Snippet [...]\\par}")); |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 61 | }; |
| Akron | 876017d | 2020-11-17 09:19:24 +0100 | [diff] [blame] | 62 | |
| 63 | @Test |
| Akron | 9e3229f | 2020-11-18 14:41:50 +0100 | [diff] [blame] | 64 | public void testSnippets () throws IOException { |
| 65 | RtfExporter rtf = new RtfExporter(); |
| 66 | rtf.init("{\"matches\":["+ |
| 67 | "{\"author\":\"Goethe\","+ |
| 68 | "\"title\":\"Title1\","+ |
| 69 | "\"pubDate\":\"20051103\","+ |
| 70 | "\"textSigle\":\"RTF/G59/34284\","+ |
| 71 | "\"snippet\":\"<span class=\\\"context-left\\\"></span><span class=\\\"match\\\"><mark>Und dafür musstest Du extra ne neue Socke erstellen? Wieso traust Du Dich nicht, mit Deinem Account aufzutreten? - -- ωωσσI - talk with me 09:17, 17. Dez. 2011 (CET) Der ist doch gesperrt. -- 09:21, 17. Dez. 2011 (CET) WWSS1, weil ich normalerweise mit IP schreibe und in dem Fall nicht möchte, dass</mark><span class=\\\"cutted\\\"></span></span><span class=\\\"context-right\\\"> meine IP öffentlich angezeigt wird. Über die IP kann man auf den Wohnort, den Provider und bei Aufenthalt am Arbeitsplatz auf den Arbeitgeber schließen, über Konto nicht. -- 09:24, 17. Dez. 2011 (CET) Bist Du denn nicht mehr selber Arbeitgeber? -- 09:31<span class=\\\"more\\\"></span></span>\"}"+ |
| 72 | "]}"); |
| 73 | |
| 74 | Response resp = rtf.serve().build(); |
| 75 | String x = (String) resp.getEntity(); |
| 76 | resp.close(); |
| 77 | assertTrue(x.contains("\\qj {\\b Und daf\\u252\\'fcr")); |
| 78 | assertTrue(x.contains("dass [!]} meine")); |
| 79 | assertTrue(x.contains("[...]\\par}")); |
| 80 | }; |
| 81 | |
| 82 | @Test |
| Akron | 876017d | 2020-11-17 09:19:24 +0100 | [diff] [blame] | 83 | public void testAttributes () throws IOException { |
| 84 | RtfExporter rtf = new RtfExporter(); |
| Akron | 7412271 | 2020-11-17 09:41:21 +0100 | [diff] [blame] | 85 | rtf.setFileName("Beispiel"); |
| 86 | assertEquals(rtf.getFileName(),"Beispiel"); |
| Akron | 876017d | 2020-11-17 09:19:24 +0100 | [diff] [blame] | 87 | assertEquals(rtf.getMimeType(),"application/rtf"); |
| 88 | assertEquals(rtf.getSuffix(),"rtf"); |
| 89 | }; |
| Akron | 6418467 | 2020-11-16 10:22:31 +0100 | [diff] [blame] | 90 | }; |