Pary nie do odróżnienia - wartości testowe
Pary wartości identycznych na ekranie i różnych w zapisie. 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 look-alike-pairs.
Imię z łacińskim a
look-alike-pairs/latin-small-apołowa 1 z 2 Łacińskie a wobec cyrylickiego a
- 5 grafemów
- 5 punktów kodowych
- 5 bajtów
- 5 jednostek UTF-16
- Co psuje
- Połowa kontrolna pary - ma sens tylko obok swojego odpowiednika.
- Co robi poprawna aplikacja
- Zapisane tak, jak wpisane.
Imię z cyrylickim a
look-alike-pairs/cyrillic-small-apołowa 2 z 2 Łacińskie a wobec cyrylickiego a
- 5 grafemów
- 5 punktów kodowych
- 6 bajtów
- 5 jednostek UTF-16
- Co psuje
- Cyrylicka litera o kształcie identycznym z łacińską. Dwa konta, które dla każdego człowieka wyglądają tak samo.
- Co robi poprawna aplikacja
- Albo oba przyjęte jako różne i pokazane jako różne, albo drugie odrzucone jako duplikat.
Słowo z łacińskim o
look-alike-pairs/latin-small-opołowa 1 z 2 Łacińskie o wobec greckiego omikronu
- 5 grafemów
- 5 punktów kodowych
- 5 bajtów
- 5 jednostek UTF-16
- Co psuje
- Połowa kontrolna pary - ma sens tylko obok greckiego omikronu pod nią.
- Co robi poprawna aplikacja
- Zapisane tak, jak wpisane.
Słowo z greckim omikronem
look-alike-pairs/greek-omicronpołowa 2 z 2 Łacińskie o wobec greckiego omikronu
- 5 grafemów
- 5 punktów kodowych
- 6 bajtów
- 5 jednostek UTF-16
- Co psuje
- Ten sam kształt z trzeciego pisma. Łapie sprawdzanie unikalności, które obsługuje tylko cyrylicę.
- Co robi poprawna aplikacja
- Tak samo jak wyżej.
Słowo z akcentami, złożone
look-alike-pairs/nfc-lodzpołowa 1 z 2 Akcenty złożone wobec rozłożonych
- 4 grafemy
- 4 punkty kodowe
- 7 bajtów
- 4 jednostki UTF-16
- Co psuje
- Połowa kontrolna: litery z akcentami zapisane jako pojedyncze znaki.
- Co robi poprawna aplikacja
- Zapisane tak, jak wpisane.
Słowo z akcentami, rozłożone
look-alike-pairs/nfd-lodzpołowa 2 z 2 Akcenty złożone wobec rozłożonych
- 4 grafemy
- 6 punktów kodowych
- 9 bajtów
- 6 jednostek UTF-16
- Co psuje
- To samo słowo ze znakami łączącymi. Identyczne na ekranie, różne w zapisie i w każdym porównaniu.
- Co robi poprawna aplikacja
- Normalizowane przy zapisie albo porównywane z uwzględnieniem normalizacji.
Imię i nazwisko ze zwykłą spacją
look-alike-pairs/plain-space-namepołowa 1 z 2 Zwykła spacja wobec twardej spacji
- 12 grafemów
- 12 punktów kodowych
- 12 bajtów
- 12 jednostek UTF-16
- Co psuje
- Połowa kontrolna pary - zwykła spacja, żeby twarda spacja miała z czym przegrać.
- Co robi poprawna aplikacja
- Zapisane tak, jak wpisane.
Imię i nazwisko z twardą spacją
look-alike-pairs/nbsp-namepołowa 2 z 2 Zwykła spacja wobec twardej spacji
- 1 spacja, która nie jest zwykłą spacją
- 12 grafemów
- 12 punktów kodowych
- 13 bajtów
- 12 jednostek UTF-16
- Co psuje
- Twarda spacja tam, gdzie oczekiwana jest zwykła. Wyszukiwanie nigdy jej nie dopasuje.
- Co robi poprawna aplikacja
- Normalizowane albo konsekwentnie traktowane jako inna wartość.
Zakres z łącznikiem
look-alike-pairs/hyphen-minuspołowa 1 z 2 Łącznik wobec półpauzy
- 9 grafemów
- 9 punktów kodowych
- 9 bajtów
- 9 jednostek UTF-16
- Co psuje
- Połowa kontrolna pary, z łącznikiem ASCII. Parser odczyta go wszędzie tam, gdzie nie odczyta półpauzy z wartości poniżej.
- Co robi poprawna aplikacja
- Zapisane tak, jak wpisane.
Zakres z półpauzą
look-alike-pairs/en-dashpołowa 2 z 2 Łącznik wobec półpauzy
- 9 grafemów
- 9 punktów kodowych
- 11 bajtów
- 9 jednostek UTF-16
- Co psuje
- Typograficzna kreska, która przychodzi z każdym kopiowaniem z dokumentu. Psuje odczyt zakresów.
- Co robi poprawna aplikacja
- Normalizowana przed odczytem albo przyjmowana jako równoważny separator.
Wielkie i, małe L i jedynka
look-alike-pairs/capital-i- 4 grafemy
- 4 punkty kodowe
- 4 bajty
- 4 jednostki UTF-16
- Co psuje
- Wielkie i, małe L i cyfra jeden w jednej wartości: w wielu krojach pisma nie do odróżnienia.
- Co robi poprawna aplikacja
- Wyświetlane krojem, w którym te znaki da się odróżnić, wszędzie tam, gdzie wartość trzeba odczytać.
Litera O i cyfra zero
look-alike-pairs/digit-zero-letter-o- 2 grafemy
- 2 punkty kodowe
- 2 bajty
- 2 jednostki UTF-16
- Co psuje
- Ten sam problem z literą O i cyfrą zero, w kodach przepisywanych ręcznie.
- Co robi poprawna aplikacja
- Tak samo jak wyżej albo niejednoznaczne znaki wykluczone z generowanych kodów.
Pary
Każda para to dwie wartości z listy wyżej, które warto wpisać obok siebie: w dwa pola albo dwa razy w jedno pole. Skrót AltShiftN wpisuje je po kolei, a paleta mówi, która połowa pary jest następna.
Łacińskie a wobec cyrylickiego a
look-alike-pairs/latin-vs-cyrillic-a- Co psuje
- Dwie nazwy użytkownika wyglądające identycznie stają się dwoma kontami, a pomoc techniczna nie umie ich rozróżnić.
- Co robi poprawna aplikacja
- Albo oba przyjęte jako różne i pokazane jako różne, albo drugie odrzucone jako duplikat.
Łacińskie o wobec greckiego omikronu
look-alike-pairs/latin-vs-greek-opołowa 2 z 2 Słowo z greckim omikronem
rοbot- 5 grafemów
- 5 punktów kodowych
- 6 bajtów
- 5 jednostek UTF-16
- Co psuje
- Sprawdzanie unikalności, które obsługuje jedno pismo jako wyjątek, przepuszcza następne.
- Co robi poprawna aplikacja
- Albo oba przyjęte jako różne i pokazane jako różne, albo drugie odrzucone jako duplikat.
Akcenty złożone wobec rozłożonych
look-alike-pairs/nfc-vs-nfdpołowa 2 z 2 Słowo z akcentami, rozłożone
Łódź- 4 grafemy
- 6 punktów kodowych
- 9 bajtów
- 6 jednostek UTF-16
- Co psuje
- To samo imię zapisane z dwóch urządzeń daje dwa rekordy.
- Co robi poprawna aplikacja
- Normalizowane przy zapisie, więc oba zapisy stają się jednym rekordem.
Zwykła spacja wobec twardej spacji
look-alike-pairs/space-vs-nbsppołowa 1 z 2 Imię i nazwisko ze zwykłą spacją
JanKowalski- 12 grafemów
- 12 punktów kodowych
- 12 bajtów
- 12 jednostek UTF-16
połowa 2 z 2 Imię i nazwisko z twardą spacją
JanKowalski- 12 grafemów
- 12 punktów kodowych
- 13 bajtów
- 12 jednostek UTF-16
- Co psuje
- Wyszukiwanie znajduje jedno, a drugiego nie, i nikt nie widzi dlaczego.
- Co robi poprawna aplikacja
- Oba znalezione tym samym wyszukiwaniem, bo spacja jest normalizowana przy zapisie albo wyszukiwanie traktuje obie jak spację.
Łącznik wobec półpauzy
look-alike-pairs/hyphen-vs-endashpołowa 1 z 2 Zakres z łącznikiem
2020-2026- 9 grafemów
- 9 punktów kodowych
- 9 bajtów
- 9 jednostek UTF-16
- Co psuje
- Zakres wklejony z dokumentu przestaje się odczytywać, choć nie widać żadnej różnicy.
- Co robi poprawna aplikacja
- Obie formy odczytane jako ten sam zakres albo półpauza normalizowana przed odczytem.