1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.invoker;
20
21 import java.util.Properties;
22
23 import org.junit.jupiter.api.Test;
24
25 import static org.assertj.core.api.Assertions.assertThat;
26
27
28
29
30 class SelectorTest {
31 @Test
32 void testGlobalMatch() {
33 Selector selector = new Selector("3.2.5", "1.7", null);
34
35 Properties props = new Properties();
36 props.setProperty("invoker.maven.version", "3.0+");
37 InvokerProperties invokerProperties = new InvokerProperties(props);
38 assertThat(selector.getSelection(invokerProperties)).isZero();
39 }
40
41 @Test
42 void testSelectorMatch() {
43 Selector selector = new Selector("3.2.5", "1.7", null);
44
45 Properties props = new Properties();
46 props.setProperty("selector.1.maven.version", "3.0+");
47 InvokerProperties invokerProperties = new InvokerProperties(props);
48 assertThat(selector.getSelection(invokerProperties)).isZero();
49
50 props.setProperty("selector.1.maven.version", "3.3.1+");
51 assertThat(selector.getSelection(invokerProperties)).isEqualTo(Selector.SELECTOR_MULTI);
52 }
53
54 @Test
55 void testSelectorWithGlobalMatch() {
56 Selector selector = new Selector("3.2.5", "1.7", null);
57
58 Properties props = new Properties();
59
60 props.setProperty("invoker.maven.version", "3.0+");
61 props.setProperty("selector.1.java.version", "1.4+");
62 props.setProperty("selector.2.os.family", "myos");
63 InvokerProperties invokerProperties = new InvokerProperties(props);
64 assertThat(selector.getSelection(invokerProperties)).isZero();
65
66 props.setProperty("invoker.maven.version", "3.3.1+");
67 assertThat(selector.getSelection(invokerProperties)).isEqualTo(Selector.SELECTOR_MULTI);
68
69 props.setProperty("invoker.maven.version", "3.0+");
70 props.setProperty("selector.1.maven.version", "3.3.1+");
71 assertThat(selector.getSelection(invokerProperties)).isEqualTo(Selector.SELECTOR_MULTI);
72
73 props.setProperty("selector.2.os.family", "!myos");
74 assertThat(selector.getSelection(invokerProperties)).isZero();
75 }
76 }