Merge pull request #1488 from sbt/wip/fix-1375

Fixes #1375 - Check for empty filenames.
This commit is contained in:
eugene yokota 2014-08-01 17:37:51 -04:00
commit 7f1786924f
3 changed files with 24 additions and 1 deletions

View File

@ -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+""", "-")

View File

@ -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"))
}

View File

@ -35,6 +35,7 @@
[1477]: https://github.com/sbt/sbt/pull/1477
[1486]: https://github.com/sbt/sbt/pull/1486
[1487]: https://github.com/sbt/sbt/pull/1487
[1488]: https://github.com/sbt/sbt/pull/1488
[@dansanduleac]: https://github.com/dansanduleac
[@2m]: https://github.com/2m
[@pvlugter]: https://github.com/pvlugter
@ -80,6 +81,7 @@
- Works around "Not a simple type" breaking `-Xfatal-warnings`. [#1477][1477] by [@puffnfresh][@puffnfresh]
- Fixes sLog usage in tandem with the `set` comamnd [#1486][1486] [@jsuereth][@jsuereth]
- Test suites with whitespace will have prettier filenames [#1487][1487] [@jsuereth][@jsuereth]
- sbt no longer crashes when run in root directory [#1488][1488] by [@jsuereth][@jsuereth]
### enablePlugins/disablePlugins