diff --git a/src/test/scala/gitbucket/core/api/JsonFormatSpec.scala b/src/test/scala/gitbucket/core/api/JsonFormatSpec.scala
index 38dee6a..a012c49 100644
--- a/src/test/scala/gitbucket/core/api/JsonFormatSpec.scala
+++ b/src/test/scala/gitbucket/core/api/JsonFormatSpec.scala
@@ -2,16 +2,17 @@
import gitbucket.core.util.RepositoryName
-import org.specs2.mutable.Specification
+//import org.specs2.mutable.Specification
import org.json4s.jackson.JsonMethods.{pretty, parse}
import org.json4s._
-import org.specs2.matcher._
+//import org.specs2.matcher._
+import org.scalatest.FunSuite
import java.util.{Calendar, TimeZone, Date}
-class JsonFormatSpec extends Specification {
+class JsonFormatSpec extends FunSuite {
val date1 = {
val d = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
d.set(2011,3,14,16,0,49)
@@ -374,67 +375,58 @@
}
}"""
- def beFormatted(json2Arg:String) = new Matcher[String] {
- def apply[S <: String](e: Expectable[S]) = {
- import java.util.regex.Pattern
- val json2 = Pattern.compile("""^\s*//.*$""", Pattern.MULTILINE).matcher(json2Arg).replaceAll("")
- val js2 = try{
- parse(json2)
- }catch{
- case e:com.fasterxml.jackson.core.JsonParseException => {
- val p = java.lang.Math.max(e.getLocation.getCharOffset()-10,0).toInt
- val message = json2.substring(p,java.lang.Math.min(p+100,json2.length))
- throw new com.fasterxml.jackson.core.JsonParseException(message + e.getMessage , e.getLocation)
- }
+ def assertJson(resultJson: String, expectJson: String) = {
+ import java.util.regex.Pattern
+ val json2 = Pattern.compile("""^\s*//.*$""", Pattern.MULTILINE).matcher(expectJson).replaceAll("")
+ val js2 = try {
+ parse(json2)
+ } catch {
+ case e: com.fasterxml.jackson.core.JsonParseException => {
+ val p = java.lang.Math.max(e.getLocation.getCharOffset() - 10, 0).toInt
+ val message = json2.substring(p, java.lang.Math.min(p + 100, json2.length))
+ throw new com.fasterxml.jackson.core.JsonParseException(message + e.getMessage, e.getLocation)
}
- val js1 = parse(e.value)
- result(js1 == js2,
- "expected",
- {
- val diff = js2 diff js1
- s"${pretty(js1)} is not ${pretty(js2)} \n\n ${pretty(Extraction.decompose(diff)(org.json4s.DefaultFormats))}"
- },
- e)
}
+ val js1 = parse(resultJson)
+ assert(js1 === js2)
}
- "JsonFormat" should {
- "apiUser" in {
- JsonFormat(apiUser) must beFormatted(apiUserJson)
- }
- "repository" in {
- JsonFormat(repository) must beFormatted(repositoryJson)
- }
- "apiPushCommit" in {
- JsonFormat(apiPushCommit) must beFormatted(apiPushCommitJson)
- }
- "apiComment" in {
- JsonFormat(apiComment) must beFormatted(apiCommentJson)
- JsonFormat(apiCommentPR) must beFormatted(apiCommentPRJson)
- }
- "apiCommitListItem" in {
- JsonFormat(apiCommitListItem) must beFormatted(apiCommitListItemJson)
- }
- "apiCommitStatus" in {
- JsonFormat(apiCommitStatus) must beFormatted(apiCommitStatusJson)
- }
- "apiCombinedCommitStatus" in {
- JsonFormat(apiCombinedCommitStatus) must beFormatted(apiCombinedCommitStatusJson)
- }
- "apiLabel" in {
- JsonFormat(apiLabel) must beFormatted(apiLabelJson)
- }
- "apiIssue" in {
- JsonFormat(apiIssue) must beFormatted(apiIssueJson)
- JsonFormat(apiIssuePR) must beFormatted(apiIssuePRJson)
- }
- "apiPullRequest" in {
- JsonFormat(apiPullRequest) must beFormatted(apiPullRequestJson)
- }
- "apiPullRequestReviewComment" in {
- JsonFormat(apiPullRequestReviewComment) must beFormatted(apiPullRequestReviewCommentJson)
- }
- "apiBranchProtection" in {
- JsonFormat(apiBranchProtection) must beFormatted(apiBranchProtectionJson)
- }
+
+ test("apiUser") {
+ assertJson(JsonFormat(apiUser), apiUserJson)
+ }
+ test("repository") {
+ assertJson(JsonFormat(repository), repositoryJson)
+ }
+ test("apiPushCommit") {
+ assertJson(JsonFormat(apiPushCommit), apiPushCommitJson)
+ }
+ test("apiComment") {
+ assertJson(JsonFormat(apiComment), apiCommentJson)
+ assertJson(JsonFormat(apiCommentPR), apiCommentPRJson)
+ }
+ test("apiCommitListItem") {
+ assertJson(JsonFormat(apiCommitListItem), apiCommitListItemJson)
+ }
+ test("apiCommitStatus") {
+ assertJson(JsonFormat(apiCommitStatus), apiCommitStatusJson)
+ }
+ test("apiCombinedCommitStatus") {
+ assertJson(JsonFormat(apiCombinedCommitStatus), apiCombinedCommitStatusJson)
+ }
+ test("apiLabel") {
+ assertJson(JsonFormat(apiLabel), apiLabelJson)
+ }
+ test("apiIssue") {
+ assertJson(JsonFormat(apiIssue), apiIssueJson)
+ assertJson(JsonFormat(apiIssuePR), apiIssuePRJson)
+ }
+ test("apiPullRequest") {
+ assertJson(JsonFormat(apiPullRequest), apiPullRequestJson)
+ }
+ test("apiPullRequestReviewComment") {
+ assertJson(JsonFormat(apiPullRequestReviewComment), apiPullRequestReviewCommentJson)
+ }
+ test("apiBranchProtection") {
+ assertJson(JsonFormat(apiBranchProtection), apiBranchProtectionJson)
}
}
diff --git a/src/test/scala/gitbucket/core/view/AvatarImageProviderSpec.scala b/src/test/scala/gitbucket/core/view/AvatarImageProviderSpec.scala
index 75b9744..5af7bee 100644
--- a/src/test/scala/gitbucket/core/view/AvatarImageProviderSpec.scala
+++ b/src/test/scala/gitbucket/core/view/AvatarImageProviderSpec.scala
@@ -5,74 +5,74 @@
import gitbucket.core.model.Account
import gitbucket.core.service.{SystemSettingsService, RequestCache}
import gitbucket.core.controller.Context
-import org.specs2.mutable._
-import org.specs2.mock.Mockito
+import org.mockito.Mockito._
import SystemSettingsService.SystemSettings
import javax.servlet.http.HttpServletRequest
import play.twirl.api.Html
+import org.scalatest.FunSpec
-class AvatarImageProviderSpec extends Specification with Mockito {
+class AvatarImageProviderSpec extends FunSpec {
- val request = mock[HttpServletRequest]
- request.getRequestURL returns new StringBuffer("http://localhost:8080/path.html")
- request.getRequestURI returns "/path.html"
- request.getContextPath returns ""
+ val request = mock(classOf[HttpServletRequest])
+ when(request.getRequestURL).thenReturn(new StringBuffer("http://localhost:8080/path.html"))
+ when(request.getRequestURI).thenReturn("/path.html")
+ when(request.getContextPath).thenReturn("")
- "getAvatarImageHtml" should {
- "show Gravatar image for no image account if gravatar integration is enabled" in {
+ describe("getAvatarImageHtml") {
+ it("should show Gravatar image for no image account if gravatar integration is enabled") {
implicit val context = Context(createSystemSettings(true), None, request)
val provider = new AvatarImageProviderImpl(Some(createAccount(None)))
- provider.toHtml("user", 32).toString mustEqual
- "
"
+ assert(provider.toHtml("user", 32).toString ==
+ "
")
}
- "show uploaded image even if gravatar integration is enabled" in {
+ it("should show uploaded image even if gravatar integration is enabled") {
implicit val context = Context(createSystemSettings(true), None, request)
val provider = new AvatarImageProviderImpl(Some(createAccount(Some("icon.png"))))
- provider.toHtml("user", 32).toString mustEqual
- "
"
+ assert(provider.toHtml("user", 32).toString ==
+ "
")
}
- "show local image for no image account if gravatar integration is disabled" in {
+ it("should show local image for no image account if gravatar integration is disabled") {
implicit val context = Context(createSystemSettings(false), None, request)
val provider = new AvatarImageProviderImpl(Some(createAccount(None)))
- provider.toHtml("user", 32).toString mustEqual
- "
"
+ assert(provider.toHtml("user", 32).toString ==
+ "
")
}
- "show Gravatar image for specified mail address if gravatar integration is enabled" in {
+ it("should show Gravatar image for specified mail address if gravatar integration is enabled") {
implicit val context = Context(createSystemSettings(true), None, request)
val provider = new AvatarImageProviderImpl(None)
- provider.toHtml("user", 20, "hoge@hoge.com").toString mustEqual
- "
"
+ assert(provider.toHtml("user", 20, "hoge@hoge.com").toString ==
+ "
")
}
- "show unknown image for unknown user if gravatar integration is enabled" in {
+ it("should show unknown image for unknown user if gravatar integration is enabled") {
implicit val context = Context(createSystemSettings(true), None, request)
val provider = new AvatarImageProviderImpl(None)
- provider.toHtml("user", 20).toString mustEqual
- "
"
+ assert(provider.toHtml("user", 20).toString ==
+ "
")
}
- "show unknown image for specified mail address if gravatar integration is disabled" in {
+ it("should show unknown image for specified mail address if gravatar integration is disabled") {
implicit val context = Context(createSystemSettings(false), None, request)
val provider = new AvatarImageProviderImpl(None)
- provider.toHtml("user", 20, "hoge@hoge.com").toString mustEqual
- "
"
+ assert(provider.toHtml("user", 20, "hoge@hoge.com").toString ==
+ "
")
}
- "add tooltip if it's enabled" in {
+ it("should add tooltip if it's enabled") {
implicit val context = Context(createSystemSettings(false), None, request)
val provider = new AvatarImageProviderImpl(None)
- provider.toHtml("user", 20, "hoge@hoge.com", true).toString mustEqual
- "
"
+ assert(provider.toHtml("user", 20, "hoge@hoge.com", true).toString ==
+ "
")
}
}
diff --git a/src/test/scala/gitbucket/core/view/PaginationSpec.scala b/src/test/scala/gitbucket/core/view/PaginationSpec.scala
index 785c761..79da56a 100644
--- a/src/test/scala/gitbucket/core/view/PaginationSpec.scala
+++ b/src/test/scala/gitbucket/core/view/PaginationSpec.scala
@@ -1,68 +1,68 @@
package gitbucket.core.view
import gitbucket.core.util.ControlUtil
-import org.specs2.mutable._
import ControlUtil._
+import org.scalatest.FunSpec
-class PaginationSpec extends Specification {
+class PaginationSpec extends FunSpec {
- "max" should {
- "return max page number" in {
+ describe("max") {
+ it("should return max page number") {
val pagination = Pagination(1, 100, 10, 6)
- pagination.max mustEqual 10
+ assert(pagination.max == 10)
}
}
- "omitLeft and omitRight" should {
- "return true if pagination links at their side will be omitted" in {
+ describe("omitLeft and omitRight") {
+ it("should return true if pagination links at their side will be omitted") {
defining(Pagination(1, 100, 10, 6)){ pagination =>
- pagination.omitLeft mustEqual false
- pagination.omitRight mustEqual true
+ assert(pagination.omitLeft == false)
+ assert(pagination.omitRight == true)
}
defining(Pagination(9, 100, 10, 6)){ pagination =>
- pagination.omitLeft mustEqual true
- pagination.omitRight mustEqual false
+ assert(pagination.omitLeft == true)
+ assert(pagination.omitRight == false)
}
}
}
- "visibleFor" should {
- "return true for visible pagination links" in {
+ describe("visibleFor") {
+ it("should return true for visible pagination links") {
defining(Pagination(1, 100, 10, 6)){ pagination =>
- pagination.visibleFor(1) mustEqual true
- pagination.visibleFor(2) mustEqual true
- pagination.visibleFor(3) mustEqual true
- pagination.visibleFor(4) mustEqual true
- pagination.visibleFor(5) mustEqual true
- pagination.visibleFor(6) mustEqual false
- pagination.visibleFor(7) mustEqual false
- pagination.visibleFor(8) mustEqual false
- pagination.visibleFor(9) mustEqual false
- pagination.visibleFor(10) mustEqual true
+ assert(pagination.visibleFor(1) == true)
+ assert(pagination.visibleFor(2) == true)
+ assert(pagination.visibleFor(3) == true)
+ assert(pagination.visibleFor(4) == true)
+ assert(pagination.visibleFor(5) == true)
+ assert(pagination.visibleFor(6) == false)
+ assert(pagination.visibleFor(7) == false)
+ assert(pagination.visibleFor(8) == false)
+ assert(pagination.visibleFor(9) == false)
+ assert(pagination.visibleFor(10) == true)
}
defining(Pagination(5, 100, 10, 6)){ pagination =>
- pagination.visibleFor(1) mustEqual true
- pagination.visibleFor(2) mustEqual false
- pagination.visibleFor(3) mustEqual false
- pagination.visibleFor(4) mustEqual true
- pagination.visibleFor(5) mustEqual true
- pagination.visibleFor(6) mustEqual true
- pagination.visibleFor(7) mustEqual false
- pagination.visibleFor(8) mustEqual false
- pagination.visibleFor(9) mustEqual false
- pagination.visibleFor(10) mustEqual true
+ assert(pagination.visibleFor(1) == true)
+ assert(pagination.visibleFor(2) == false)
+ assert(pagination.visibleFor(3) == false)
+ assert(pagination.visibleFor(4) == true)
+ assert(pagination.visibleFor(5) == true)
+ assert(pagination.visibleFor(6) == true)
+ assert(pagination.visibleFor(7) == false)
+ assert(pagination.visibleFor(8) == false)
+ assert(pagination.visibleFor(9) == false)
+ assert(pagination.visibleFor(10) == true)
}
defining(Pagination(8, 100, 10, 6)){ pagination =>
- pagination.visibleFor(1) mustEqual true
- pagination.visibleFor(2) mustEqual false
- pagination.visibleFor(3) mustEqual false
- pagination.visibleFor(4) mustEqual false
- pagination.visibleFor(5) mustEqual false
- pagination.visibleFor(6) mustEqual true
- pagination.visibleFor(7) mustEqual true
- pagination.visibleFor(8) mustEqual true
- pagination.visibleFor(9) mustEqual true
- pagination.visibleFor(10) mustEqual true
+ assert(pagination.visibleFor(1) == true)
+ assert(pagination.visibleFor(2) == false)
+ assert(pagination.visibleFor(3) == false)
+ assert(pagination.visibleFor(4) == false)
+ assert(pagination.visibleFor(5) == false)
+ assert(pagination.visibleFor(6) == true)
+ assert(pagination.visibleFor(7) == true)
+ assert(pagination.visibleFor(8) == true)
+ assert(pagination.visibleFor(9) == true)
+ assert(pagination.visibleFor(10) == true)
}
}
}