Skip to content

Commit 4a5943a

Browse files
committed
Added HTML encoding for a few accented characters.
1 parent 2c35158 commit 4a5943a

11 files changed

+36
-19
lines changed

src/main/java/lap_race/OutputHTML.java

+16-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import java.io.IOException;
44
import java.io.OutputStream;
55
import java.io.OutputStreamWriter;
6+
import java.io.UnsupportedEncodingException;
7+
import java.net.URLEncoder;
8+
import java.nio.charset.StandardCharsets;
69
import java.nio.file.Files;
710
import java.nio.file.Path;
811

@@ -119,7 +122,7 @@ private void printOverallResultsBody(final OutputStreamWriter writer) throws IOE
119122
writer.append("""
120123
</td>
121124
<td>""");
122-
writer.append(String.valueOf(result.team.name));
125+
writer.append(htmlEncode(result.team.name));
123126
writer.append("""
124127
</td>
125128
<td>""");
@@ -203,7 +206,7 @@ private void printDetailedResult(final OutputStreamWriter writer, final int resu
203206
writer.append("""
204207
</td>
205208
<td>""");
206-
writer.append(String.valueOf(result.team.name));
209+
writer.append(htmlEncode(result.team.name));
207210
writer.append("""
208211
</td>
209212
<td>""");
@@ -242,7 +245,7 @@ private void printLegDetails(OutputStreamWriter writer, OverallResult result, Te
242245

243246
writer.append("""
244247
<td>""");
245-
writer.append(team.runners[leg - 1]);
248+
writer.append(htmlEncode(team.runners[leg - 1]));
246249

247250
addMassStartAnnotation(writer, leg_result, leg);
248251

@@ -294,7 +297,7 @@ private void printLegResultsBody(final OutputStreamWriter writer, final LegResul
294297
writer.append("""
295298
</td>
296299
<td>""");
297-
writer.append(leg_result.team.runners[leg_result.leg_number-1]);
300+
writer.append(htmlEncode(leg_result.team.runners[leg_result.leg_number-1]));
298301
writer.append("""
299302
</td>
300303
<td>""");
@@ -305,11 +308,20 @@ private void printLegResultsBody(final OutputStreamWriter writer, final LegResul
305308
}
306309
}
307310
}
311+
308312
private void printLegResultsFooter(final OutputStreamWriter writer) throws IOException {
309313

310314
writer.append("""
311315
</tbody>
312316
</table>
313317
""");
314318
}
319+
320+
private String htmlEncode(String s) {
321+
322+
return s.replaceAll("è", "&egrave;").
323+
replaceAll("é", "&eacute;").
324+
replaceAll("ü", "&uuml;").
325+
replaceAll("’", "&acute;");
326+
}
315327
}

src/test/java/lap_race/devils_burdens/ResultsTest.java

+5
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public class ResultsTest {
3535
@AfterEach
3636
public void tearDown() throws IOException {
3737

38+
// Disable this when debugging and you don't want the test results to be immediately deleted.
39+
3840
FileManipulation.deleteDirectory(temp_directory);
3941
}
4042

@@ -455,7 +457,10 @@ private void processingCompletes(String configuration_name) throws Exception {
455457

456458
private void configureTest(String test_resource_root) throws IOException {
457459

460+
// Swap these when debugging and you don't want the test results to be immediately deleted.
461+
458462
temp_directory = Files.createTempDirectory(null);
463+
// temp_directory = Paths.get("/Users/gnck/Desktop/temp");
459464

460465
Path temp_input_sub_directory = Files.createDirectories(temp_directory.resolve("input"));
461466
temp_output_sub_directory = Files.createDirectories(temp_directory.resolve("output"));

src/test/resources/devils_burdens/html_output/expected/simple_detailed_2020.csv

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ Pos,No,Team,Category,Runners 1,Leg 1,Split 1,Runners 2,Leg 2,Split 2,Runners 3,L
22
1,1,Team 1,Women Senior,John Smith,00:42:43,00:42:43,Hailey Dickson:) & Alix Crawford,00:44:17,01:27:00,Rhys Müllar & Paige Thompson,01:08:05,02:35:05,Amé MacDonald,01:12:53,03:47:58
33
2,2,Team 2,Open 50+,Bartosz Thomson,00:43:52,00:43:52,John Smith & Zuzanna Miller-Ford,00:59:16,01:43:08,Leo McKenzie & Henry Muir,00:52:26,02:35:34,Regan Millar,01:12:48,03:48:22
44
3,3,Team 3,Open Senior,JackBruce,00:44:59,00:44:59,Martin King & Leland Donaldson,00:58:49,01:43:48,Neil MacDonald & Myles Christie,00:52:11,02:35:59,Hubert Gray,01:12:30,03:48:29
5-
4,4,Team 4,Women 50+,Sofia O'Connor,00:45:35,00:45:35,Philip O’Donohue & Hasan Robertson,01:01:48,01:47:23,Lena K. Maclean & Isabel Ritchie,00:48:47,02:36:10,Martha Gibson,01:13:11,03:49:21
6-
,5,Team 5,Open Senior,Clark O' Connor,00:45:43,00:45:43,Nina Joan Fiona Walker & Hope Christie,01:02:01,01:47:44,Cayla Duncan & Scott Kelly,00:49:35,02:37:19,Amelia Muir,DNF,DNF
5+
4,4,Team ,Women 50+,Sofia O'Connor,00:45:35,00:45:35,Philip O’Donohue & Hasan Robertson,01:01:48,01:47:23,Lena K. Maclean & Isabel Ritchie,00:48:47,02:36:10,Martha Gibson,01:13:11,03:49:21
6+
,5,Team 5,Open Senior,Clark O' Connor,00:45:43,00:45:43,Nina Joan Fiona Walker & Hope Christie,01:02:01,01:47:44,Cayla Duncan & Scott Kelly,00:49:35,02:37:19,Amèlia Muir,DNF,DNF

src/test/resources/devils_burdens/html_output/expected/simple_detailed_2020.html

+5-5
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
<td>Hailey Dickson:) & Alix Crawford</td>
3232
<td>00:44:17</td>
3333
<td>01:27:00</td>
34-
<td>Rhys Müllar & Paige Thompson</td>
34+
<td>Rhys M&uuml;llar & Paige Thompson</td>
3535
<td>01:08:05</td>
3636
<td>02:35:05</td>
37-
<td>Amé MacDonald</td>
37+
<td>Am&eacute; MacDonald</td>
3838
<td>01:12:53</td>
3939
<td>03:47:58</td>
4040
</tr>
@@ -77,12 +77,12 @@
7777
<tr>
7878
<td>4</td>
7979
<td>4</td>
80-
<td>Team 4</td>
80+
<td>Team 4&eacute;</td>
8181
<td>Women 50+</td>
8282
<td>Sofia O'Connor</td>
8383
<td>00:45:35</td>
8484
<td>00:45:35</td>
85-
<td>Philip ODonohue & Hasan Robertson</td>
85+
<td>Philip O&acute;Donohue & Hasan Robertson</td>
8686
<td>01:01:48</td>
8787
<td>01:47:23</td>
8888
<td>Lena K. Maclean & Isabel Ritchie</td>
@@ -106,7 +106,7 @@
106106
<td>Cayla Duncan & Scott Kelly</td>
107107
<td>00:49:35</td>
108108
<td>02:37:19</td>
109-
<td>Amelia Muir</td>
109+
<td>Am&egrave;lia Muir</td>
110110
<td>DNF</td>
111111
<td>DNF</td>
112112
</tr>

src/test/resources/devils_burdens/html_output/expected/simple_leg_2_2020.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
</tr>
2525
<tr>
2626
<td>4</td>
27-
<td>Philip ODonohue & Hasan Robertson</td>
27+
<td>Philip O&acute;Donohue & Hasan Robertson</td>
2828
<td>01:01:48</td>
2929
</tr>
3030
<tr>

src/test/resources/devils_burdens/html_output/expected/simple_leg_3_2020.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
</tr>
3030
<tr>
3131
<td>5</td>
32-
<td>Rhys Müllar & Paige Thompson</td>
32+
<td>Rhys M&uuml;llar & Paige Thompson</td>
3333
<td>01:08:05</td>
3434
</tr>
3535
</tbody>

src/test/resources/devils_burdens/html_output/expected/simple_leg_4_2020.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</tr>
2020
<tr>
2121
<td>3</td>
22-
<td>Amé MacDonald</td>
22+
<td>Am&eacute; MacDonald</td>
2323
<td>01:12:53</td>
2424
</tr>
2525
<tr>

src/test/resources/devils_burdens/html_output/expected/simple_overall_2020.csv

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ Pos,No,Team,Category,Total
22
1,1,Team 1,Women Senior,03:47:58
33
2,2,Team 2,Open 50+,03:48:22
44
3,3,Team 3,Open Senior,03:48:29
5-
4,4,Team 4,Women 50+,03:49:21
5+
4,4,Team ,Women 50+,03:49:21
66
,5,Team 5,Open Senior,DNF

src/test/resources/devils_burdens/html_output/expected/simple_overall_2020.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<tr>
3434
<td>4</td>
3535
<td>4</td>
36-
<td>Team 4</td>
36+
<td>Team 4&eacute;</td>
3737
<td>Women 50+</td>
3838
<td>03:49:21</td>
3939
</tr>

src/test/resources/devils_burdens/html_output/expected/simple_prizes_2020.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Devil's Burdens Results 2020
44
Category: Women Senior
55
----------------------
66

7-
1: Team 4 (Women 50+) 03:49:21
7+
1: Team (Women 50+) 03:49:21
88

99

1010
Category: Open Senior
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
1 Team 1 Women Senior John Smith Hailey Dickson:) & Alix Crawford Rhys Müllar & Paige Thompson Amé MacDonald
22
2 Team 2 Open 50+ Bartosz Thomson John Smith & Zuzanna Miller-Ford Leo McKenzie & Henry Muir Regan Millar
33
3 Team 3 Open Senior JackBruce Martin King & Leland Donaldson Neil MacDonald & Myles Christie Hubert Gray
4-
4 Team 4 Women 50+ Sofia O'Connor Philip O’Donohue & Hasan Robertson Lena K. Maclean & Isabel Ritchie Martha Gibson
5-
5 Team 5 Open Senior Clark O' Connor Nina Joan Fiona Walker & Hope Christie Cayla Duncan & Scott Kelly Amelia Muir
4+
4 Team Women 50+ Sofia O'Connor Philip O’Donohue & Hasan Robertson Lena K. Maclean & Isabel Ritchie Martha Gibson
5+
5 Team 5 Open Senior Clark O' Connor Nina Joan Fiona Walker & Hope Christie Cayla Duncan & Scott Kelly Amèlia Muir

0 commit comments

Comments
 (0)