Adresy e-mail i URL - wartości testowe
Adresy formalnie poprawne, ale skrajne, i takie, które tylko wyglądają na poprawne. 12 wartości, każda z tym, co psuje, i z tym, co zamiast tego robi poprawna aplikacja.
Wpisuj je po jednej skrótem AltShiftN
w palecie albo weź wszystkie do skryptu poleceniem nkb emit emails-urls.
Znacznik z plusem w części lokalnej
emails-urls/plus-tag
jan+test@example.com
jan+test@example.com
- 20 grafemów
- 20 punktów kodowych
- 20 bajtów
- 20 jednostek UTF-16
- Co psuje
- W pełni poprawny adres, który zaskakująco wiele formularzy odrzuca. To psuje oznaczanie adresów, na którym ludzie polegają.
- Co robi poprawna aplikacja
- Przyjęty, bo plus jest dozwolonym znakiem w części lokalnej.
Część lokalna wielkimi literami
emails-urls/uppercase-local
JAN@example.com
JAN@example.com
- 15 grafemów
- 15 punktów kodowych
- 15 bajtów
- 15 jednostek UTF-16
- Co psuje
- Część lokalna w zasadzie rozróżnia wielkość liter, a w praktyce jest traktowana tak, jakby nie rozróżniała. Kontrole unikalności w różnych warstwach się nie zgadzają.
- Co robi poprawna aplikacja
- Jedna spójna reguła, stosowana tak samo przy rejestracji i przy logowaniu.
Domena ze znakami spoza ASCII
emails-urls/unicode-domain
jan@zażółć.example
jan@zażółć.example
- 18 grafemów
- 18 punktów kodowych
- 22 bajty
- 18 jednostek UTF-16
- Co psuje
- Domeny ze znakami spoza ASCII trzeba przed użyciem przekształcić. Formularz, który to pomija, odrzuca prawdziwe adresy.
- Co robi poprawna aplikacja
- Przyjęta i przekształcona albo odrzucona z komunikatem, który mówi dlaczego.
Dwie małpy
emails-urls/double-at
jan@@example.com
jan@@example.com
- 16 grafemów
- 16 punktów kodowych
- 16 bajtów
- 16 jednostek UTF-16
- Co psuje
- Najkrótszy niepoprawny adres, który przyjmuje wiele prostych walidatorów.
- Co robi poprawna aplikacja
- Odrzucony.
Adres bez małpy
emails-urls/no-at
jan.example.com
jan.example.com
- 15 grafemów
- 15 punktów kodowych
- 15 bajtów
- 15 jednostek UTF-16
- Co psuje
- Domena wpisana w pole e-mail. Przyjmują ją walidatory, które sprawdzają tylko kropkę.
- Co robi poprawna aplikacja
- Odrzucony.
Kropka na końcu domeny
emails-urls/trailing-dot-domain
jan@example.com.
jan@example.com.
- 16 grafemów
- 16 punktów kodowych
- 16 bajtów
- 16 jednostek UTF-16
- Co psuje
- Kropka na końcu jest technicznie poprawna w nazwie domeny, a odrzuca ją prawie każdy formularz.
- Co robi poprawna aplikacja
- Przyjęty i znormalizowany albo konsekwentnie odrzucany.
Część lokalna z 64 znaków
emails-urls/very-long-local
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com
- 76 grafemów
- 76 punktów kodowych
- 76 bajtów
- 76 jednostek UTF-16
- Co psuje
- Granica długości części lokalnej. Jeden znak więcej musi zostać odrzucony.
- Co robi poprawna aplikacja
- Limit pilnowany komunikatem, a nie obcinaniem.
Część lokalna w cudzysłowie, ze spacją
emails-urls/quoted-local
"jankowalski"@example.com
"jan kowalski"@example.com
- 26 grafemów
- 26 punktów kodowych
- 26 bajtów
- 26 jednostek UTF-16
- Co psuje
- Część lokalna w cudzysłowie ze spacją w środku jest dozwolona i prawie nigdy nie jest obsługiwana.
- Co robi poprawna aplikacja
- Przyjęty albo odrzucony z komunikatem, który podaje obsługiwany podzbiór.
Link bez schematu
emails-urls/url-no-scheme
example.com
example.com
- 11 grafemów
- 11 punktów kodowych
- 11 bajtów
- 11 jednostek UTF-16
- Co psuje
- Link wpisany tak, jak ludzie wpisują linki. Zapisany bez schematu daje zepsuty link wszędzie, gdzie zostanie użyty.
- Co robi poprawna aplikacja
- Uzupełniony o schemat albo odrzucony z przykładem oczekiwanej postaci.
Link z danymi logowania
emails-urls/url-with-credentials
https://user:pass@example.com
https://user:pass@example.com
- 29 grafemów
- 29 punktów kodowych
- 29 bajtów
- 29 jednostek UTF-16
- Co psuje
- Adres URL z danymi logowania. Wyświetlenie go gdziekolwiek je ujawnia, a zapisanie je przechowuje.
- Co robi poprawna aplikacja
- Odrzucony albo zapisany bez danych logowania, z informacją dla użytkownika.
Link z 2000 znaków
emails-urls/url-very-long
https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2 000 punktów kodowych w całości, środek wycięty
https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- 2 000 grafemów
- 2 000 punktów kodowych
- 2 000 bajtów
- 2 000 jednostek UTF-16
- Co psuje
- Długie linki przekraczają limity zapisu i psują logi oraz każdą kolumnę, która je wyświetla.
- Co robi poprawna aplikacja
- Przyjęty do podanego limitu i obcinany wyłącznie przy wyświetlaniu.
Link ze ścieżką spoza ASCII
emails-urls/url-unicode-path
https://example.com/zażółć
https://example.com/zażółć
- 26 grafemów
- 26 punktów kodowych
- 30 bajtów
- 26 jednostek UTF-16
- Co psuje
- Ścieżki ze znakami spoza ASCII trzeba zakodować. Warstwa, która to pomija, tworzy linki działające w jednym miejscu, a w innym nie.
- Co robi poprawna aplikacja
- Ścieżka zakodowana raz i konsekwentnie, a link działa po zapisie i odczycie.