1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.configuration2.web;
19
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21
22 import java.applet.Applet;
23 import java.util.Properties;
24
25 import org.apache.commons.configuration2.AbstractConfiguration;
26 import org.apache.commons.configuration2.BaseConfiguration;
27 import org.apache.commons.configuration2.MapConfiguration;
28 import org.apache.commons.configuration2.TestAbstractConfiguration;
29 import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
30 import org.junit.jupiter.api.BeforeEach;
31 import org.junit.jupiter.api.Test;
32
33
34
35
36 public class TestAppletConfiguration extends TestAbstractConfiguration {
37
38 boolean supportsApplet;
39
40 @Override
41 protected AbstractConfiguration getConfiguration() {
42 final AbstractConfiguration config;
43 final Properties parameters = new Properties();
44 parameters.setProperty("key1", "value1");
45 parameters.setProperty("key2", "value2");
46 parameters.setProperty("list", "value1, value2");
47 parameters.setProperty("listesc", "value1\\,value2");
48
49 if (supportsApplet) {
50 final Applet applet = new Applet() {
51
52
53
54 private static final long serialVersionUID = 1L;
55
56 @Override
57 public String getParameter(final String key) {
58 return parameters.getProperty(key);
59 }
60
61 @Override
62 public String[][] getParameterInfo() {
63 return new String[][] {{"key1", "String", ""}, {"key2", "String", ""}, {"list", "String[]", ""}, {"listesc", "String", ""}};
64 }
65 };
66
67 config = new AppletConfiguration(applet);
68 } else {
69 config = new MapConfiguration(parameters);
70 }
71
72 config.setListDelimiterHandler(new DefaultListDelimiterHandler(','));
73 return config;
74 }
75
76 @Override
77 protected AbstractConfiguration getEmptyConfiguration() {
78 if (supportsApplet) {
79 return new AppletConfiguration(new Applet());
80 }
81 return new BaseConfiguration();
82 }
83
84
85
86
87
88
89 @BeforeEach
90 public void setUp() throws Exception {
91 try {
92 new Applet();
93 supportsApplet = true;
94 } catch (final Exception ex) {
95
96 supportsApplet = false;
97 }
98 }
99
100 @Override
101 @Test
102 public void testAddPropertyDirect() {
103 if (supportsApplet) {
104 assertThrows(UnsupportedOperationException.class, super::testAddPropertyDirect);
105 }
106 }
107
108 @Override
109 @Test
110 public void testClearProperty() {
111 if (supportsApplet) {
112 assertThrows(UnsupportedOperationException.class, super::testClearProperty);
113 }
114 }
115 }