diff --git a/build.sbt b/build.sbt index 1ad1c21..f899455 100644 --- a/build.sbt +++ b/build.sbt @@ -43,6 +43,7 @@ "org.eclipse.jetty" % "jetty-webapp" % JettyVersion % "provided", "javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided", "junit" % "junit" % "4.12" % "test", + "org.scalatra" %% "scalatra-scalatest" % ScalatraVersion % "test", "org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test", "org.specs2" %% "specs2-junit" % "3.6.6" % "test" ) diff --git a/src/test/scala/gitbucket/core/util/DirectorySpec.scala b/src/test/scala/gitbucket/core/util/DirectorySpec.scala index a824fe8..1eb9ac6 100644 --- a/src/test/scala/gitbucket/core/util/DirectorySpec.scala +++ b/src/test/scala/gitbucket/core/util/DirectorySpec.scala @@ -1,15 +1,16 @@ package gitbucket.core.util -import org.specs2.mutable._ +import org.scalatest.FunSpec +class DirectorySpec extends FunSpec { -class DirectorySpec extends Specification { - "GitBucketHome" should { - "set under target in test scope" in { - Directory.GitBucketHome mustEqual new java.io.File("target/gitbucket_home_for_test").getAbsolutePath - } - "exists" in { - new java.io.File(Directory.GitBucketHome).exists + describe("GitBucketHome"){ + it("should set under target in test scope"){ + assert(Directory.GitBucketHome === new java.io.File("target/gitbucket_home_for_test").getAbsolutePath) } } +// test("GitBucketHome should exists"){ +// new java.io.File(Directory.GitBucketHome).exists +// } + } diff --git a/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala b/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala index 5a755f5..61bcb65 100644 --- a/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala +++ b/src/test/scala/gitbucket/core/util/JGitUtilSpec.scala @@ -1,103 +1,104 @@ package gitbucket.core.util -import org.specs2.mutable._ import GitSpecUtil._ +import org.scalatest.FunSuite -class JGitUtilSpec extends Specification { +class JGitUtilSpec extends FunSuite { - "getFileList(git: Git, revision: String, path)" should { + test("getFileList(git: Git, revision: String, path)"){ withTestRepository { git => def list(branch: String, path: String) = JGitUtil.getFileList(git, branch, path).map(finfo => (finfo.name, finfo.message, finfo.isDirectory)) - list("master", ".") mustEqual Nil - list("master", "dir/subdir") mustEqual Nil - list("branch", ".") mustEqual Nil - list("branch", "dir/subdir") mustEqual Nil + assert(list("master", ".") === Nil) + assert(list("master", "dir/subdir") === Nil) + assert(list("branch", ".") === Nil) + assert(list("branch", "dir/subdir") === Nil) createFile(git, "master", "README.md", "body1", message = "commit1") - list("master", ".") mustEqual List(("README.md", "commit1", false)) - list("master", "dir/subdir") mustEqual Nil - list("branch", ".") mustEqual Nil - list("branch", "dir/subdir") mustEqual Nil + assert(list("master", ".") === List(("README.md", "commit1", false))) + assert(list("master", "dir/subdir") === Nil) + assert(list("branch", ".") === Nil) + assert(list("branch", "dir/subdir") === Nil) createFile(git, "master", "README.md", "body2", message = "commit2") - list("master", ".") mustEqual List(("README.md", "commit2", false)) - list("master", "dir/subdir") mustEqual Nil - list("branch", ".") mustEqual Nil - list("branch", "dir/subdir") mustEqual Nil + assert(list("master", ".") === List(("README.md", "commit2", false))) + assert(list("master", "dir/subdir") === Nil) + assert(list("branch", ".") === Nil) + assert(list("branch", "dir/subdir") === Nil) createFile(git, "master", "dir/subdir/File3.md", "body3", message = "commit3") - list("master", ".") mustEqual List(("dir/subdir", "commit3", true), ("README.md", "commit2", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false)) - list("branch", ".") mustEqual Nil - list("branch", "dir/subdir") mustEqual Nil + assert(list("master", ".") === List(("dir/subdir", "commit3", true), ("README.md", "commit2", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false))) + assert(list("branch", ".") === Nil) + assert(list("branch", "dir/subdir") === Nil) createFile(git, "master", "dir/subdir/File4.md", "body4", message = "commit4") - list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit2", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) - list("branch", ".") mustEqual Nil - list("branch", "dir/subdir") mustEqual Nil + assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit2", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) + assert(list("branch", ".") === Nil) + assert(list("branch", "dir/subdir") === Nil) createFile(git, "master", "README5.md", "body5", message = "commit5") - list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit2", false), ("README5.md", "commit5", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) - list("branch", ".") mustEqual Nil - list("branch", "dir/subdir") mustEqual Nil + assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit2", false), ("README5.md", "commit5", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) + assert(list("branch", ".") === Nil) + assert(list("branch", "dir/subdir") === Nil) createFile(git, "master", "README.md", "body6", message = "commit6") - list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) - list("branch", ".") mustEqual Nil - list("branch", "dir/subdir") mustEqual Nil + assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) + assert(list("branch", ".") === Nil) + assert(list("branch", "dir/subdir") === Nil) git.branchCreate().setName("branch").setStartPoint("master").call() - list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) - list("branch", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("branch", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) + assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) + assert(list("branch", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("branch", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) createFile(git, "branch", "dir/subdir/File3.md", "body7", message = "commit7") - list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) - list("branch", ".") mustEqual List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false)) + assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) + assert(list("branch", ".") === List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false))) createFile(git, "master", "dir8/File8.md", "body8", message = "commit8") - list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) - list("branch", ".") mustEqual List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false)) + assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) + assert(list("branch", ".") === List(("dir/subdir", "commit7", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false))) createFile(git, "branch", "dir/subdir9/File9.md", "body9", message = "commit9") - list("master", ".") mustEqual List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit3", false), ("File4.md", "commit4", false)) - list("branch", ".") mustEqual List(("dir", "commit9", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("branch", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false)) + assert(list("master", ".") === List(("dir/subdir", "commit4", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit3", false), ("File4.md", "commit4", false))) + assert(list("branch", ".") === List(("dir", "commit9", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("branch", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false))) mergeAndCommit(git, "master", "branch", message = "merge10") - list("master", ".") mustEqual List(("dir", "commit9", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false)) - list("master", "dir/subdir") mustEqual List(("File3.md", "commit7", false), ("File4.md", "commit4", false)) + assert(list("master", ".") === List(("dir", "commit9", true), ("dir8", "commit8", true), ("README.md", "commit6", false), ("README5.md", "commit5", false))) + assert(list("master", "dir/subdir") === List(("File3.md", "commit7", false), ("File4.md", "commit4", false))) } } - "getFileList subfolder multi-origin (issue #721)" should { + + test("getFileList subfolder multi-origin (issue #721)") { withTestRepository { git => def list(branch: String, path: String) = JGitUtil.getFileList(git, branch, path).map(finfo => (finfo.name, finfo.message, finfo.isDirectory)) createFile(git, "master", "README.md", "body1", message = "commit1") createFile(git, "branch", "test/text2.txt", "body2", message = "commit2") mergeAndCommit(git, "master", "branch", message = "merge3") - list("master", "test") mustEqual List(("text2.txt", "commit2", false)) + assert(list("master", "test") === List(("text2.txt", "commit2", false))) } } } diff --git a/src/test/scala/gitbucket/core/util/StringUtilSpec.scala b/src/test/scala/gitbucket/core/util/StringUtilSpec.scala index 29fb0a7..dce258e 100644 --- a/src/test/scala/gitbucket/core/util/StringUtilSpec.scala +++ b/src/test/scala/gitbucket/core/util/StringUtilSpec.scala @@ -1,66 +1,67 @@ package gitbucket.core.util -import org.specs2.mutable._ +//import org.specs2.mutable._ +import org.scalatest.FunSpec -class StringUtilSpec extends Specification { +class StringUtilSpec extends FunSpec { - "urlEncode" should { - "encode whitespace to %20" in { + describe("urlEncode") { + it("should encode whitespace to %20") { val encoded = StringUtil.urlEncode("aa bb") - encoded mustEqual "aa%20bb" + assert(encoded === "aa%20bb") } } - "urlDecode" should { - "decode encoded string to original string" in { + describe("urlDecode") { + it("should decode encoded string to original string") { val encoded = StringUtil.urlEncode("あいうえお") - StringUtil.urlDecode(encoded) mustEqual "あいうえお" + assert(StringUtil.urlDecode(encoded) === "あいうえお") } - "decode en%20 to whitespace" in { - StringUtil.urlDecode("aa%20bb") mustEqual "aa bb" + it("should decode en%20 to whitespace") { + assert(StringUtil.urlDecode("aa%20bb") === "aa bb") } } - "splitWords" should { - "split string by whitespaces" in { + describe("splitWords") { + it("should split string by whitespaces") { val split = StringUtil.splitWords("aa bb\tcc dd \t ee") - split mustEqual Array("aa", "bb", "cc", "dd", "ee") + assert(split === Array("aa", "bb", "cc", "dd", "ee")) } } - "escapeHtml" should { - "escape &, <, > and \"" in { - StringUtil.escapeHtml("a & b") mustEqual "<a href="/test">a & b</a>" + describe("escapeHtml") { + it("should escape &, <, > and \"") { + assert(StringUtil.escapeHtml("a & b") === "<a href="/test">a & b</a>") } } - "md5" should { - "generate MD5 hash" in { - StringUtil.md5("abc") mustEqual "900150983cd24fb0d6963f7d28e17f72" + describe("md5") { + it("should generate MD5 hash") { + assert(StringUtil.md5("abc") === "900150983cd24fb0d6963f7d28e17f72") } } - "sha1" should { - "generate SHA1 hash" in { - StringUtil.sha1("abc") mustEqual "a9993e364706816aba3e25717850c26c9cd0d89d" + describe("sha1") { + it("should generate SHA1 hash") { + assert(StringUtil.sha1("abc") === "a9993e364706816aba3e25717850c26c9cd0d89d") } } - "extractIssueId" should { - "extract '#xxx' and return extracted id" in { - StringUtil.extractIssueId("(refs #123)").toSeq mustEqual Seq("123") + describe("extractIssueId") { + it("should extract '#xxx' and return extracted id") { + assert(StringUtil.extractIssueId("(refs #123)").toSeq === Seq("123")) } - "returns Nil from message which does not contain #xxx" in { - StringUtil.extractIssueId("this is test!").toSeq mustEqual Nil + it("should return Nil from message which does not contain #xxx") { + assert(StringUtil.extractIssueId("this is test!").toSeq === Nil) } } - "extractCloseId" should { - "extract 'close #xxx' and return extracted id" in { - StringUtil.extractCloseId("(close #123)").toSeq mustEqual Seq("123") + describe("extractCloseId") { + it("should extract 'close #xxx' and return extracted id") { + assert(StringUtil.extractCloseId("(close #123)").toSeq === Seq("123")) } - "returns Nil from message which does not contain close command" in { - StringUtil.extractCloseId("(refs #123)").toSeq mustEqual Nil + it("should returns Nil from message which does not contain close command") { + assert(StringUtil.extractCloseId("(refs #123)").toSeq === Nil) } } } diff --git a/src/test/scala/gitbucket/core/util/ValidationsSpec.scala b/src/test/scala/gitbucket/core/util/ValidationsSpec.scala index 65106b8..55a63cf 100644 --- a/src/test/scala/gitbucket/core/util/ValidationsSpec.scala +++ b/src/test/scala/gitbucket/core/util/ValidationsSpec.scala @@ -1,35 +1,35 @@ package gitbucket.core.util -import org.specs2.mutable._ import org.scalatra.i18n.Messages +import org.scalatest.FunSpec -class ValidationsSpec extends Specification with Validations { +class ValidationsSpec extends FunSpec with Validations { - "identifier" should { - "validate id string " in { - identifier.validate("id", "aa_ZZ-00.01", null) mustEqual None - identifier.validate("id", "_aaaa", null) mustEqual Some("id starts with invalid character.") - identifier.validate("id", "-aaaa", null) mustEqual Some("id starts with invalid character.") - identifier.validate("id", "aa_ZZ#01", null) mustEqual Some("id contains invalid character.") + describe("identifier") { + it("should validate id string ") { + assert(identifier.validate("id", "aa_ZZ-00.01", null) === None) + assert(identifier.validate("id", "_aaaa", null) === Some("id starts with invalid character.")) + assert(identifier.validate("id", "-aaaa", null) === Some("id starts with invalid character.")) + assert(identifier.validate("id", "aa_ZZ#01", null) === Some("id contains invalid character.")) } } - "color" should { - "validate color string " in { + describe("color") { + it("should validate color string ") { val messages = Messages() - color.validate("color", "#88aaff", messages) mustEqual None - color.validate("color", "#gghhii", messages) mustEqual Some("color must be '#[0-9a-fA-F]{6}'.") + assert(color.validate("color", "#88aaff", messages) === None) + assert(color.validate("color", "#gghhii", messages) === Some("color must be '#[0-9a-fA-F]{6}'.")) } } - "date" should { + describe("date") { // "validate date string " in { // date().validate("date", "2013-10-05", Map[String, String]()) mustEqual Nil // date().validate("date", "2013-10-5" , Map[String, String]()) mustEqual List(("date", "date must be '\\d{4}-\\d{2}-\\d{2}'.")) // } - "convert date string " in { + it("should convert date string ") { val result = date().convert("2013-10-05", null) - new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(result) mustEqual "2013-10-05 00:00:00" + assert(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(result) === "2013-10-05 00:00:00") } }