mirror of
https://github.com/google/nomulus.git
synced 2025-07-22 02:36:03 +02:00
Add tests for obscure hostname canonicalization rule (#1388)
Also correctly configures Gradle for the util subproject (it wasn't possible to run tests in IntelliJ without these changes).
This commit is contained in:
parent
5803215755
commit
b96de0e32f
6 changed files with 85 additions and 6 deletions
|
@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test;
|
|||
class DomainNameUtilsTest {
|
||||
|
||||
@Test
|
||||
void testCanonicalizeDomainName() {
|
||||
void testCanonicalizeDomainName_succeeds() {
|
||||
assertThat(canonicalizeDomainName("foo")).isEqualTo("foo");
|
||||
assertThat(canonicalizeDomainName("FOO")).isEqualTo("foo");
|
||||
assertThat(canonicalizeDomainName("foo.tld")).isEqualTo("foo.tld");
|
||||
|
@ -38,6 +38,21 @@ class DomainNameUtilsTest {
|
|||
assertThat(canonicalizeDomainName("ħ")).isEqualTo("xn--1ea");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCanonicalizeDomainName_allowsRdnsNames() {
|
||||
assertThat(canonicalizeDomainName("119.63.227.45-ns1.jhz-tt.uk"))
|
||||
.isEqualTo("119.63.227.45-ns1.jhz-tt.uk");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCanonicalizeDomainName_throwsOn34HyphenRule() {
|
||||
IllegalArgumentException thrown =
|
||||
assertThrows(
|
||||
IllegalArgumentException.class,
|
||||
() -> canonicalizeDomainName("119.63.227.45--ns1.jhz-tt.uk"));
|
||||
assertThat(thrown).hasCauseThat().hasMessageThat().contains("HYPHEN_3_4");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCanonicalizeDomainName_acePrefixUnicodeChars() {
|
||||
assertThrows(IllegalArgumentException.class, () -> canonicalizeDomainName("xn--みんな"));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue