genUnicodeString generates invalid unicode
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- testing-qa
Rechercherichtung
Start with the generators in src/Data/Char/Gen.purs and src/Data/String/Gen.purs, then reproduce the failure using the linked utf8 encoding/decoding QuickCheck test. Determine how the generators should avoid unpaired surrogates while still covering valid Unicode. Done means generated strings are valid Unicode and the linked property test no longer fails.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The unicode character generator for unicode characters is picking a random CodePoint in the BMP. The unicode string generator just generates an arbitrary array of such code points and turns it into a string. It turns out that this can generate invalid unicode via unpaired surrogates: https://unicode.org/faq/utf_bom.html#utf16-7
One solution here would be to restrict the code points to avoid such cases, another would be to figure out a more complicated but correct way to generate unicode which cannot be done CodePoint by CodePoint.
For context I discovered this while trying to write a quickcheck test for utf8 encoding/decoding, you can see the failing test here
- Vorherrschende Sprache
- PureScript
- Sterne
- 57
- Forks
- 76
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus purescript/purescript-strings
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
purescript/purescript-strings#176 · 6 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
purescript/purescript-strings#171 · 3 Kommentare · 1 Reaktion ·
-
Add takeEnd & dropEndOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
purescript/purescript-strings#170 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
purescript/purescript-strings#169 · 7 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
purescript/purescript-strings#164 · 2 Kommentare ·
Alle Issues in purescript/purescript-strings
Ähnliche Issues
-
[quality] coverage gate exits 0 when the test run is killed by a signal (tests/tools/coverage-report.mjs:680 `?? 1` is untested)Evtl. vergeben @hivecommons-hive hat das heute übernommen. Offenagent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5n31 quality testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
native-convergence self-host
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
JakeChampion/lang#11408 ·
Maintainer antworten meist innerhalb von 1 Tag
-
feedback simulation workshop
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
githubnext/gh-aw-workshop#4174 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[quality] bundle e2e never drives plain /close or the /milestone refusals through dist/index.jsEvtl. vergeben @hivecommons-hive hat das heute übernommen. Offenagent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5q9t kind/cleanup quality testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
cncf/prow-github-actions#295 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
[work-item] adam-adae-serious-events: pin missing-AESER filter semanticsEvtl. vergeben @muse-yamaa-bot hat das heute übernommen. Offenwork-item
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag