mirror of https://github.com/sbt/sbt.git
Fixes #1375 - Check for empty filenames.
Starting sbt in root isn't a great idea, but it shouldn't break.
This commit is contained in:
parent
550a7f8e96
commit
f4ff84db34
|
|
@ -242,7 +242,10 @@ object Project extends ProjectExtra {
|
|||
def normalizeProjectID(id: String): Either[String, String] =
|
||||
{
|
||||
val attempt = normalizeBase(id)
|
||||
val refined = if (!validProjectIDStart(attempt.substring(0, 1))) "root-" + attempt else attempt
|
||||
val refined =
|
||||
if (attempt.length < 1) "root"
|
||||
else if (!validProjectIDStart(attempt.substring(0, 1))) "root-" + attempt
|
||||
else attempt
|
||||
validProjectID(refined).toLeft(refined)
|
||||
}
|
||||
private[this] def normalizeBase(s: String) = s.toLowerCase(Locale.ENGLISH).replaceAll("""\W+""", "-")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package sbt
|
||||
|
||||
import org.specs2.Specification
|
||||
|
||||
class ProjectSpec extends Specification {
|
||||
def is = s2"""
|
||||
|
||||
This is a specification to check utility methods on the Project object
|
||||
|
||||
Project should
|
||||
normalize projectIDs if they are empty ${normalizeEmptyFileName}
|
||||
|
||||
"""
|
||||
|
||||
def emptyFilename = ""
|
||||
|
||||
def normalizeEmptyFileName = Project.normalizeProjectID(emptyFilename) must equalTo(Right("root"))
|
||||
}
|
||||
Loading…
Reference in New Issue