1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.svl.vars;
18
19 import static org.junit.jupiter.api.Assertions.*;
20
21 import org.apache.juneau.*;
22 import org.apache.juneau.svl.*;
23 import org.junit.jupiter.api.*;
24
25 class SwitchVarTest extends TestBase {
26
27
28
29
30 @Test void a01_test() {
31 var vr = VarResolver.create().vars(SwitchVar.class, SystemPropertiesVar.class).build();
32
33 System.setProperty("SwitchVarTest.test", "foobar");
34
35 assertEquals("YES", vr.resolve("$SW{$S{SwitchVarTest.test},foobar:YES}"));
36 assertEquals("YES", vr.resolve("$SW{ $S{ SwitchVarTest.test } , foobar : YES }"));
37 assertEquals("", vr.resolve("$SW{$S{SwitchVarTest.test},foobar2:YES}"));
38 assertEquals("NO", vr.resolve("$SW{$S{SwitchVarTest.test},foobar2:YES,*:NO}"));
39 assertEquals("NO", vr.resolve("$SW{ $S{ SwitchVarTest.test } , foobar2 : YES , *:NO }"));
40
41 assertEquals("YES", vr.resolve("$SW{$S{SwitchVarTest.test},foo*:YES,*:NO}"));
42 assertEquals("YES", vr.resolve("$SW{$S{SwitchVarTest.test},*bar:YES,*:NO}"));
43 assertEquals("YES", vr.resolve("$SW{$S{SwitchVarTest.test},*:YES,*:NO}"));
44 assertEquals("YES", vr.resolve("$SW{$S{SwitchVarTest.test},??????:YES,*:NO}"));
45
46 assertEquals("NO", vr.resolve("$SW{$S{SwitchVarTest.test},foox*:YES,*:NO}"));
47 assertEquals("NO", vr.resolve("$SW{$S{SwitchVarTest.test},*xbar:YES,*:NO}"));
48 assertEquals("NO", vr.resolve("$SW{$S{SwitchVarTest.test},?????:YES,*:NO}"));
49 assertEquals("NO", vr.resolve("$SW{$S{SwitchVarTest.test},???????:YES,*:NO}"));
50
51 assertEquals("YES2", vr.resolve("$SW{$S{SwitchVarTest.test},foox*:YES1,foo*:YES2}"));
52 assertEquals("YES2", vr.resolve("$SW{$S{SwitchVarTest.test},foox*:YES1,foo*:YES2,*:NO}"));
53
54 assertEquals("NO", vr.resolve("$SW{$S{SwitchVarTest.test},foox*:YES1,fooy*:YES2,*:NO}"));
55 }
56 }