aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-12-23 10:47:53 +0000
committerMichael Williamson <mike@zwobble.org>2024-12-23 10:47:53 +0000
commit85a2a0a7bc643798241ed361c8501ca6288082bf (patch)
tree113767c4d0f5f31c671b96fdacacc6e97d7a8389 /src/test/java
parent50a74171bad57572bb70d78854bff177fbe206a7 (diff)
Check types for shed.examples and shed.profiles
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/config/ProjectConfigTests.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/java/org/shedlang/compiler/config/ProjectConfigTests.java b/src/test/java/org/shedlang/compiler/config/ProjectConfigTests.java
index c4657487..5f60c298 100644
--- a/src/test/java/org/shedlang/compiler/config/ProjectConfigTests.java
+++ b/src/test/java/org/shedlang/compiler/config/ProjectConfigTests.java
@@ -142,6 +142,24 @@ public class ProjectConfigTests {
}
@Test
+ public void whenProjectConfigHasExamplesThatArentArrayThenErrorIsThrown() {
+ var error = assertThrows(
+ ConfigError.class,
+ () -> ProjectConfig.fromString(PROJECT_PATH, """
+ [shed]
+ examples = true"""
+ )
+ );
+
+ assertThat(error.getMessage(), equalTo("Expected shed.examples to be an array, but was Boolean"));
+ assertThat(error.source().describe(), equalTo("""
+ <string>:2:1
+ examples = true
+ ^"""
+ ));
+ }
+
+ @Test
public void canParseProjectConfigWithNoProfiles() {
var config = ProjectConfig.fromString(PROJECT_PATH, "");
@@ -169,4 +187,22 @@ public class ProjectConfigTests {
)
));
}
+
+ @Test
+ public void whenProjectConfigHasProfilesThatArentArrayThenErrorIsThrown() {
+ var error = assertThrows(
+ ConfigError.class,
+ () -> ProjectConfig.fromString(PROJECT_PATH, """
+ [shed]
+ profiles = true"""
+ )
+ );
+
+ assertThat(error.getMessage(), equalTo("Expected shed.profiles to be an array, but was Boolean"));
+ assertThat(error.source().describe(), equalTo("""
+ <string>:2:1
+ profiles = true
+ ^"""
+ ));
+ }
}