From 85a2a0a7bc643798241ed361c8501ca6288082bf Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 23 Dec 2024 10:47:53 +0000 Subject: Check types for shed.examples and shed.profiles --- .../compiler/config/ProjectConfigTests.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/test/java') 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 @@ -141,6 +141,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(""" + :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(""" + :2:1 + profiles = true + ^""" + )); + } } -- cgit v1.2.3