summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan@lightbend.com>2016-10-18 11:07:40 -0700
committerAdriaan Moors <adriaan@lightbend.com>2016-10-18 11:07:40 -0700
commit2d8bae6f21288ba259c59ae150255f3aafd641fe (patch)
treec2c5e37e656066082b932395ba6f28988fa40278 /test
parent4376a02516a8d85a57e454043b0c01c07fc417fa (diff)
parent9f7c26e8ccc809c48484921f87b52eb56b978dcf (diff)
downloadscala-2d8bae6f21288ba259c59ae150255f3aafd641fe.tar.gz
scala-2d8bae6f21288ba259c59ae150255f3aafd641fe.tar.bz2
scala-2d8bae6f21288ba259c59ae150255f3aafd641fe.zip
Merge 2.11.x into 2.12.x
Fix conflict in #5453: ``` - def help: String = { + override def help: String = { ```
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/tools/nsc/settings/SettingsTest.scala63
1 files changed, 63 insertions, 0 deletions
diff --git a/test/junit/scala/tools/nsc/settings/SettingsTest.scala b/test/junit/scala/tools/nsc/settings/SettingsTest.scala
index 0f2d206273..db8d083835 100644
--- a/test/junit/scala/tools/nsc/settings/SettingsTest.scala
+++ b/test/junit/scala/tools/nsc/settings/SettingsTest.scala
@@ -180,4 +180,67 @@ class SettingsTest {
assertThrows[IllegalArgumentException](check(expected = "2.11", "-Xsource", "2.11"), _ == "-Xsource requires an argument, the syntax is -Xsource:<version>")
assertThrows[IllegalArgumentException](check(expected = "2.11", "-Xsource:2.invalid"), _ contains "Bad version (2.invalid)")
}
+
+ @Test def helpHasDefault(): Unit = {
+ val s = new MutableSettings(msg => throw new IllegalArgumentException(msg))
+ object mChoices extends s.MultiChoiceEnumeration {
+ val a = Choice("a", "help a")
+ val b = Choice("b", "help b")
+ val c = Choice("c", "help c")
+ }
+ val m = s.MultiChoiceSetting("-m", "args", "magic sauce", mChoices, Some(List("b")))
+
+ def check(args: String*)(t: s.MultiChoiceSetting[mChoices.type] => Boolean): Boolean = {
+ m.clear()
+ val (ok, rest) = s.processArguments(args.toList, processAll = true)
+ assert(rest.isEmpty)
+ t(m)
+ }
+
+ import mChoices._
+
+ assertTrue(check("-m")(_.value == Set(b)))
+ assertTrue(check("-m") { _ =>
+ assertEquals(
+ """magic sauce
+ | a help a
+ | b help b
+ | c help c
+ |Default: b
+ |""".stripMargin,
+ m.help)
+ true
+ })
+ }
+ @Test def helpHasDefaultAll(): Unit = {
+ val s = new MutableSettings(msg => throw new IllegalArgumentException(msg))
+ object mChoices extends s.MultiChoiceEnumeration {
+ val a = Choice("a", "help a")
+ val b = Choice("b", "help b")
+ val c = Choice("c", "help c")
+ }
+ val m = s.MultiChoiceSetting("-m", "args", "magic sauce", mChoices, Some(List("_")))
+
+ def check(args: String*)(t: s.MultiChoiceSetting[mChoices.type] => Boolean): Boolean = {
+ m.clear()
+ val (ok, rest) = s.processArguments(args.toList, processAll = true)
+ assert(rest.isEmpty)
+ t(m)
+ }
+
+ import mChoices._
+
+ assertTrue(check("-m")(_.value == Set(a, b, c)))
+ assertTrue(check("-m") { _ =>
+ assertEquals(
+ """magic sauce
+ | a help a
+ | b help b
+ | c help c
+ |Default: All choices are enabled by default.
+ |""".stripMargin,
+ m.help)
+ true
+ })
+ }
}