From 9dff18d736cba2ca18a8e7562f4c0ee17a1ba418 Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Sun, 6 Oct 2019 14:01:56 -0700 Subject: [PATCH] Fix scripted parser crash In a local progress, I was able to induce a crash in tab completions because the group key did not exist in pairMap. --- main/src/main/scala/sbt/ScriptedPlugin.scala | 2 +- project/Scripted.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main/src/main/scala/sbt/ScriptedPlugin.scala b/main/src/main/scala/sbt/ScriptedPlugin.scala index 0cd518d27..b503781aa 100644 --- a/main/src/main/scala/sbt/ScriptedPlugin.scala +++ b/main/src/main/scala/sbt/ScriptedPlugin.scala @@ -144,7 +144,7 @@ object ScriptedPlugin extends AutoPlugin { // Grabs the filenames from a given test group in the current page definition. def pagedFilenames(group: String, page: ScriptedTestPage): Seq[String] = { - val files = pairMap(group).toSeq.sortBy(_.toLowerCase) + val files = pairMap.get(group).toSeq.flatten.sortBy(_.toLowerCase) val pageSize = files.size / page.total // The last page may loose some values, so we explicitly keep them val dropped = files.drop(pageSize * (page.page - 1)) diff --git a/project/Scripted.scala b/project/Scripted.scala index 30e2868b3..ba2685340 100644 --- a/project/Scripted.scala +++ b/project/Scripted.scala @@ -61,7 +61,7 @@ object Scripted { // Grabs the filenames from a given test group in the current page definition. def pagedFilenames(group: String, page: ScriptedTestPage): Seq[String] = { - val files = pairMap(group).toSeq.sortBy(_.toLowerCase) + val files = pairMap.get(group).toSeq.flatten.sortBy(_.toLowerCase) val pageSize = if (page.total == 0) files.size else files.size / page.total // The last page may loose some values, so we explicitly keep them val dropped = files.drop(pageSize * (page.page - 1))