diff options
author | 2017-04-19 01:15:45 +0200 | |
---|---|---|
committer | 2017-04-19 10:49:05 +0200 | |
commit | 5d1042629e94e278dcc49db5f640829acc3bff1a (patch) | |
tree | 9ad5bf5968ddfe9d6f1dc21a27aba170e84faf11 /src/test/java/com | |
parent | 5d761ecc6d337bceda68df38781589e2c11967b4 (diff) |
Deprecate use of option category to describe documentation level / usage restrictions.
Prevent the old category strings "undocumented," "hidden," or "internal" from being used as categories, to prevent developers from relying on deprecated behavior.
PiperOrigin-RevId: 153525499
Diffstat (limited to 'src/test/java/com')
-rw-r--r-- | src/test/java/com/google/devtools/common/options/OptionsDataTest.java | 29 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/common/options/OptionsParserTest.java | 3 |
2 files changed, 29 insertions, 3 deletions
diff --git a/src/test/java/com/google/devtools/common/options/OptionsDataTest.java b/src/test/java/com/google/devtools/common/options/OptionsDataTest.java index 5fc531a660..0066ca3605 100644 --- a/src/test/java/com/google/devtools/common/options/OptionsDataTest.java +++ b/src/test/java/com/google/devtools/common/options/OptionsDataTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; +import com.google.devtools.common.options.OptionsParser.ConstructionException; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; @@ -242,7 +243,7 @@ public class OptionsDataTest { public void errorForInvalidOptionConverter() throws Exception { try { construct(InvalidOptionConverter.class); - } catch (AssertionError e) { + } catch (ConstructionException e) { // Expected exception return; } @@ -264,13 +265,37 @@ public class OptionsDataTest { public void errorForInvalidListOptionConverter() throws Exception { try { construct(InvalidListOptionConverter.class); - } catch (AssertionError e) { + } catch (ConstructionException e) { // Expected exception return; } fail(); } + /** Dummy options class using deprecated category. */ + public static class InvalidUndocumentedCategory extends OptionsBase { + @Option( + name = "experimental_foo", + category = "undocumented", + defaultValue = "true" + ) + public boolean experimentalFoo; + } + + @Test + public void invalidUndocumentedCategoryFails() { + try { + construct(InvalidUndocumentedCategory.class); + fail(); + } catch (ConstructionException e) { + // Expected exception + assertThat(e).hasMessageThat().contains( + "Documentation level is no longer read from the option category."); + assertThat(e).hasMessageThat().contains("undocumented"); + assertThat(e).hasMessageThat().contains("experimental_foo"); + } + } + /** * Dummy options class. * diff --git a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java index d7e39151d2..3d85315258 100644 --- a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java +++ b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java @@ -27,6 +27,7 @@ import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.common.options.Converters.CommaSeparatedOptionListConverter; +import com.google.devtools.common.options.OptionsParser.ConstructionException; import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions; import com.google.devtools.common.options.OptionsParser.OptionValueDescription; import com.google.devtools.common.options.OptionsParser.UnparsedOptionValueDescription; @@ -1403,7 +1404,7 @@ public class OptionsParserTest { public void illegalListType() throws Exception { try { OptionsParser.newOptionsParser(IllegalListTypeExample.class); - } catch (AssertionError e) { + } catch (ConstructionException e) { // Expected exception return; } |