diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-02-17 18:26:12 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-02-17 19:22:01 +0100 |
commit | 55549bfa41f4a19c9556b71791de35875e8229dc (patch) | |
tree | c2e96055269bafa5e7e84bf1ab6c230d463c31fc /test/junit/scala/tools/nsc/settings/SettingsTest.scala | |
parent | 1b1461fed759c8f937c01fe2e7d3922ab67df700 (diff) | |
download | scala-55549bfa41f4a19c9556b71791de35875e8229dc.tar.gz scala-55549bfa41f4a19c9556b71791de35875e8229dc.tar.bz2 scala-55549bfa41f4a19c9556b71791de35875e8229dc.zip |
Expose a means to disable boolean settings
Enables `-Yboolean-setting:{true,false}`. This will be exploited
in the next commit to enable one to turn off a single component
of a group setting, such as `-Xlint` or `-optimize`.
Diffstat (limited to 'test/junit/scala/tools/nsc/settings/SettingsTest.scala')
-rw-r--r-- | test/junit/scala/tools/nsc/settings/SettingsTest.scala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/junit/scala/tools/nsc/settings/SettingsTest.scala b/test/junit/scala/tools/nsc/settings/SettingsTest.scala new file mode 100644 index 0000000000..4b0e58ff79 --- /dev/null +++ b/test/junit/scala/tools/nsc/settings/SettingsTest.scala @@ -0,0 +1,28 @@ +package scala.tools.nsc +package settings + +import org.junit.Assert._ +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 +import scala.tools.testing.AssertUtil.assertThrows + +@RunWith(classOf[JUnit4]) +class SettingsTest { + @Test def booleanSettingColon() { + def check(args: String*): MutableSettings#BooleanSetting = { + val s = new MutableSettings(msg => throw new IllegalArgumentException(msg)) + val b1 = new s.BooleanSetting("-Ytest-setting", "") + s.allSettings += b1 + val (ok, residual) = s.processArguments(args.toList, processAll = true) + assert(residual.isEmpty) + b1 + } + assertTrue(check("-Ytest-setting").value) + assertTrue(check("-Ytest-setting:true").value) + assertTrue(check("-Ytest-setting:TRUE").value) + assertFalse(check("-Ytest-setting:false").value) + assertFalse(check("-Ytest-setting:FALSE").value) + assertThrows[IllegalArgumentException](check("-Ytest-setting:rubbish")) + } +} |