mirror of
https://github.com/sbt/sbt.git
synced 2026-09-03 08:34:34 +02:00
Limit scripted page numbers
The completions were generating page numbers that didn't make sense if there were a small number of scripted tests. For example, suppose that there were only two tests defined, it would generate *1of3 *2of3 and *3of3 completions even though there weren't even three tests.
This commit is contained in:
@@ -136,7 +136,10 @@ object ScriptedPlugin extends AutoPlugin {
|
||||
val groupP = token(id.examples(pairMap.keySet)) <~ token('/')
|
||||
|
||||
// A parser for page definitions
|
||||
val pageNumber = NatBasic & not('0', "zero page number")
|
||||
val pageNumber = (NatBasic & not('0', "zero page number")).flatMap { i =>
|
||||
if (i <= pairs.size) Parser.success(i)
|
||||
else Parser.failure(s"$i exceeds the number of tests (${pairs.size})")
|
||||
}
|
||||
val pageP: Parser[ScriptedTestPage] = ("*" ~> pageNumber ~ ("of" ~> pageNumber)) flatMap {
|
||||
case (page, total) if page <= total => success(ScriptedTestPage(page, total))
|
||||
case (page, total) => failure(s"Page $page was greater than $total")
|
||||
|
||||
@@ -53,7 +53,10 @@ object Scripted {
|
||||
val groupP = token(id.examples(pairMap.keySet)) <~ token('/')
|
||||
|
||||
// A parser for page definitions
|
||||
val pageNumber = NatBasic & not('0', "zero page number")
|
||||
val pageNumber = (NatBasic & not('0', "zero page number")).flatMap { i =>
|
||||
if (i <= pairs.size) Parser.success(i)
|
||||
else Parser.failure(s"$i exceeds the number of tests (${pairs.size})")
|
||||
}
|
||||
val pageP: Parser[ScriptedTestPage] = ("*" ~> pageNumber ~ ("of" ~> pageNumber)) flatMap {
|
||||
case (page, total) if page <= total => success(ScriptedTestPage(page, total))
|
||||
case (page, total) => failure(s"Page $page was greater than $total")
|
||||
|
||||
Reference in New Issue
Block a user