1 package com.lexicalscope.jewel.cli;
2
3 import static org.hamcrest.Matchers.equalTo;
4
5 import org.junit.Rule;
6 import org.junit.Test;
7 import org.junit.rules.ExpectedException;
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class TestInvalidSpecificationErrorHandling {
26 @Rule public final ExpectedException exception = ExpectedException.none();
27
28 public interface InvalidDefaultOptionSpecification {
29 @Option(defaultToNull = true, defaultValue = { "another value" }) public String incorrectlySpecified();
30 }
31
32 @Test public void testNullAndNonNullDefaults()
33 {
34 exception.expect(InvalidOptionSpecificationException.class);
35 exception
36 .expectMessage(equalTo("option cannot have null default and non-null default value: public java.lang.String incorrectlySpecified()"));
37 CliFactory.createCli(InvalidDefaultOptionSpecification.class);
38 }
39 }