Switched to kotlin.test
This commit is contained in:
parent
00eef331d8
commit
3a19b5e895
3 changed files with 40 additions and 38 deletions
|
@ -30,7 +30,8 @@ val deployDir = project.layout.projectDirectory.dir("deploy")
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// testImplementation("com.willowtreeapps.assertk:assertk-jvm:0.25")
|
// testImplementation("com.willowtreeapps.assertk:assertk-jvm:0.25")
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter:5.9.1")
|
// testImplementation("org.junit.jupiter:junit-jupiter:5.9.1")
|
||||||
|
testImplementation(kotlin("test"))
|
||||||
}
|
}
|
||||||
|
|
||||||
base {
|
base {
|
||||||
|
|
|
@ -10,5 +10,6 @@
|
||||||
<ID>MaxLineLength:UrlEncoderUtil.kt$UrlEncoderUtil$*</ID>
|
<ID>MaxLineLength:UrlEncoderUtil.kt$UrlEncoderUtil$*</ID>
|
||||||
<ID>NestedBlockDepth:UrlEncoderUtil.kt$UrlEncoderUtil$@JvmStatic @JvmOverloads fun decode(source: String, plusToSpace: Boolean = false): String</ID>
|
<ID>NestedBlockDepth:UrlEncoderUtil.kt$UrlEncoderUtil$@JvmStatic @JvmOverloads fun decode(source: String, plusToSpace: Boolean = false): String</ID>
|
||||||
<ID>NestedBlockDepth:UrlEncoderUtil.kt$UrlEncoderUtil$@JvmStatic @JvmOverloads fun encode(source: String, allow: String = "", spaceToPlus: Boolean = false): String</ID>
|
<ID>NestedBlockDepth:UrlEncoderUtil.kt$UrlEncoderUtil$@JvmStatic @JvmOverloads fun encode(source: String, allow: String = "", spaceToPlus: Boolean = false): String</ID>
|
||||||
|
<ID>WildcardImport:UrlEncoderUtilTest.kt$import kotlin.test.*</ID>
|
||||||
</CurrentIssues>
|
</CurrentIssues>
|
||||||
</SmellBaseline>
|
</SmellBaseline>
|
||||||
|
|
|
@ -19,55 +19,53 @@ package net.thauvin.erik.urlencoder
|
||||||
|
|
||||||
import net.thauvin.erik.urlencoder.UrlEncoderUtil.decode
|
import net.thauvin.erik.urlencoder.UrlEncoderUtil.decode
|
||||||
import net.thauvin.erik.urlencoder.UrlEncoderUtil.encode
|
import net.thauvin.erik.urlencoder.UrlEncoderUtil.encode
|
||||||
import org.junit.jupiter.api.Assertions.assertEquals
|
import kotlin.test.*
|
||||||
import org.junit.jupiter.api.Assertions.assertSame
|
import kotlin.test.DefaultAsserter.assertEquals
|
||||||
import org.junit.jupiter.api.Assertions.assertThrows
|
import kotlin.test.DefaultAsserter.assertSame
|
||||||
import org.junit.jupiter.api.Assertions.assertTrue
|
|
||||||
import org.junit.jupiter.api.Test
|
|
||||||
import org.junit.jupiter.params.ParameterizedTest
|
|
||||||
import org.junit.jupiter.params.provider.Arguments
|
|
||||||
import org.junit.jupiter.params.provider.Arguments.arguments
|
|
||||||
import org.junit.jupiter.params.provider.MethodSource
|
|
||||||
import java.util.stream.Stream
|
|
||||||
|
|
||||||
class UrlEncoderUtilTest {
|
class UrlEncoderUtilTest {
|
||||||
private val same = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_."
|
private val same = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_."
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun invalid() = arrayOf("sdkjfh%", "sdkjfh%6", "sdkjfh%xx", "sdfjfh%-1")
|
var invalid = arrayOf("sdkjfh%", "sdkjfh%6", "sdkjfh%xx", "sdfjfh%-1")
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun validMap(): Stream<Arguments> = Stream.of(
|
var validMap = arrayOf(
|
||||||
arguments("a test &", "a%20test%20%26"),
|
Pair("a test &", "a%20test%20%26"),
|
||||||
arguments(
|
Pair(
|
||||||
"!abcdefghijklmnopqrstuvwxyz%%ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~=",
|
"!abcdefghijklmnopqrstuvwxyz%%ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.~=",
|
||||||
"%21abcdefghijklmnopqrstuvwxyz%25%25ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.%7E%3D"
|
"%21abcdefghijklmnopqrstuvwxyz%25%25ABCDEFGHIJKLMNOPQRSTUVQXYZ0123456789-_.%7E%3D"
|
||||||
),
|
),
|
||||||
arguments("%#okékÉȢ smile!😁", "%25%23ok%C3%A9k%C3%89%C8%A2%20smile%21%F0%9F%98%81"),
|
Pair("%#okékÉȢ smile!😁", "%25%23ok%C3%A9k%C3%89%C8%A2%20smile%21%F0%9F%98%81"),
|
||||||
arguments(
|
Pair(
|
||||||
"\uD808\uDC00\uD809\uDD00\uD808\uDF00\uD808\uDD00", "%F0%92%80%80%F0%92%94%80%F0%92%8C%80%F0%92%84%80"
|
"\uD808\uDC00\uD809\uDD00\uD808\uDF00\uD808\uDD00", "%F0%92%80%80%F0%92%94%80%F0%92%8C%80%F0%92%84%80"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ParameterizedTest(name = "decode({0}) should be {1}")
|
@Test
|
||||||
@MethodSource("validMap")
|
fun `Decode URL`() {
|
||||||
fun `Decode URL`(expected: String, source: String) {
|
for (m in validMap) {
|
||||||
assertEquals(expected, decode(source))
|
assertEquals(m.first, decode(m.second))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ParameterizedTest(name = "decode({0})")
|
@Test
|
||||||
@MethodSource("invalid")
|
fun `Decode with Exception`() {
|
||||||
fun `Decode with Exception`(source: String) {
|
for (source in invalid) {
|
||||||
assertThrows(IllegalArgumentException::class.java, { decode(source) }, "decode($source)")
|
assertFailsWith<IllegalArgumentException>(
|
||||||
|
message = "decode($source)",
|
||||||
|
block = { decode(source) }
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `Decode when None needed`() {
|
fun `Decode when None needed`() {
|
||||||
assertSame(same, decode(same))
|
assertSame(same, decode(same))
|
||||||
assertEquals("", decode(""), "decode('')")
|
assertEquals("decode('')", decode(""), "")
|
||||||
assertEquals(" ", decode(" "), "decode(' ')")
|
assertEquals("decode(' ')", decode(" "), " ")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -79,30 +77,32 @@ class UrlEncoderUtilTest {
|
||||||
assertEquals("foo+bar", decode("foo%2Bbar", plusToSpace = true))
|
assertEquals("foo+bar", decode("foo%2Bbar", plusToSpace = true))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ParameterizedTest(name = "encode({0}) should be {1}")
|
|
||||||
@MethodSource("validMap")
|
@Test
|
||||||
fun `Encode URL`(source: String, expected: String) {
|
fun `Encode URL`() {
|
||||||
assertEquals(expected, encode(source))
|
for (m in validMap) {
|
||||||
|
assertEquals(m.second, encode(m.first))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `Encode Empty or Blank`() {
|
fun `Encode Empty or Blank`() {
|
||||||
assertTrue(encode("", allow = "").isEmpty(), "encode('','')")
|
assertTrue(encode("", allow = "").isEmpty(), "encode('','')")
|
||||||
assertEquals("", encode(""), "encode('')")
|
assertEquals("encode('')", encode(""), "")
|
||||||
assertEquals("%20", encode(" "), "encode(' ')")
|
assertEquals("encode(' ')", encode(" "), "%20")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `Encode when None needed`() {
|
fun `Encode when None needed`() {
|
||||||
assertSame(same, encode(same))
|
assertSame(encode(same), same)
|
||||||
assertSame(same, encode(same, allow = ""), "with empty allow")
|
assertSame("with empty allow", encode(same, allow = ""), same)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `Encode with Allow Arg`() {
|
fun `Encode with Allow Arg`() {
|
||||||
assertEquals("?test=a%20test", encode("?test=a test", allow = "=?"), "encode(x, =?)")
|
assertEquals("encode(x, =?)","?test=a%20test", encode("?test=a test", allow = "=?"))
|
||||||
assertEquals("aaa", encode("aaa", "a"), "encode(aaa, a)")
|
assertEquals("encode(aaa, a)", "aaa", encode("aaa", "a"))
|
||||||
assertEquals(" ", encode(" ", " "), "encode(' ', ' ')")
|
assertEquals("encode(' ')", " ", encode(" ", " ") )
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue