Fix testcase

This commit is contained in:
Naoki Takezoe
2016-07-13 02:14:44 +09:00
parent 2e03f081d9
commit 01c2291715

View File

@@ -7,56 +7,58 @@ import org.scalatest.mock.MockitoSugar
class HelpersSpec extends FunSpec with MockitoSugar { class HelpersSpec extends FunSpec with MockitoSugar {
implicit val context = mock[Context] private implicit val context = mock[Context]
private val repository = mock[RepositoryInfo]
import helpers._ import helpers._
describe("detect and render links") { describe("detect and render links") {
it("should pass identical string when no link is present") { it("should pass identical string when no link is present") {
val before = "Description" val before = "Description"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == before) assert(after == before)
} }
it("should convert a single link") { it("should convert a single link") {
val before = "http://example.com" val before = "http://example.com"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == """<a href="http://example.com">http://example.com</a>""") assert(after == """<a href="http://example.com">http://example.com</a>""")
} }
it("should convert a single link within trailing text") { it("should convert a single link within trailing text") {
val before = "Example Project. http://example.com" val before = "Example Project. http://example.com"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == """Example Project. <a href="http://example.com">http://example.com</a>""") assert(after == """Example Project. <a href="http://example.com">http://example.com</a>""")
} }
it("should convert a mulitple links within text") { it("should convert a mulitple links within text") {
val before = "Example Project. http://example.com. (See also https://github.com/)" val before = "Example Project. http://example.com. (See also https://github.com/)"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == """Example Project. <a href="http://example.com">http://example.com</a>. (See also <a href="https://github.com/">https://github.com/</a>)""") assert(after == """Example Project. <a href="http://example.com">http://example.com</a>. (See also <a href="https://github.com/">https://github.com/</a>)""")
} }
it("should properly escape html metacharacters") { it("should properly escape html metacharacters") {
val before = "<>&" val before = "<>&"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == """&lt;&gt;&amp;""") assert(after == """&lt;&gt;&amp;""")
} }
it("should escape html metacharacters adjacent to a link") { it("should escape html metacharacters adjacent to a link") {
val before = "<http://example.com>" val before = "<http://example.com>"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == """&lt;<a href="http://example.com">http://example.com</a>&gt;""") assert(after == """&lt;<a href="http://example.com">http://example.com</a>&gt;""")
} }
it("should stop link recognition at a metacharacter") { it("should stop link recognition at a metacharacter") {
val before = "http://exa<mple.com" val before = "http://exa<mple.com"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == """<a href="http://exa">http://exa</a>&lt;mple.com""") assert(after == """<a href="http://exa">http://exa</a>&lt;mple.com""")
} }
it("should make sure there are no double quotes in the href attribute") { it("should make sure there are no double quotes in the href attribute") {
val before = "http://exa\"mple.com" val before = "http://exa\"mple.com"
val after = detectAndRenderLinks(before) val after = detectAndRenderLinks(before, repository)
assert(after == """<a href="http://exa&quot;mple.com">http://exa"mple.com</a>""") assert(after == """<a href="http://exa&quot;mple.com">http://exa"mple.com</a>""")
} }
} }