Wikipedia:Lua/Modul/JSONutil/Test
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Test cases of Lua functions; version: 2020-11-08
fiat
[Quelltext bearbeiten]Input | Code (fault) | String (trailing) |
---|---|---|
{ "simple": "assignment" } | – | { "simple": "assignment" } |
{ "beg": "\"escaped quote", "mid": "escaped\"quote", "end": "escaped quote\"" } | – | { "beg": "\"escaped quote", "mid": "escaped\"quote", "end": "escaped quote\"" } |
{ "multiline": "Some textLFin several linesLFalso withTabtabulator" } | – | { "multiline": "Some text\nin several lines\nalso with\ttabulator" } |
{ "lineseps": "UxLFstyle andCRApple and MSCRLFDOS" } | – | { "lineseps": "Ux\nstyle and\nApple and MS\nDOS" } |
{ "commented": true } // line at end | – | { "commented": true } |
{ "commented":// line amidLF true// second lineLF } | – | { "commented": true } |
{ "commented": /* middle */true } | – | { "commented": true } |
{ "commented":/* middle */"edge" } | – | { "commented":"edge" } |
{ "NoComment": "An URL http://example.org/ is not a comment" } | – | { "NoComment": "An URL http://example.org/ is not a comment" } |
No JSON | Bracket0 | No JSON |
{ "simple": "assignment" } garbage | Trailing | garbage |
{ "quoting": 'apostrophes' } | Qoute | 'apostrophes' } |
{ "missing": "qoute } | QouteEnd | qoute } |
{ "missing": "qoute (escaped)\" } | QouteEnd | qoute (escaped)\" } |
{ "htab": "h�tab" } | ControlChar | tab" } |
{ "comma": "trailing", } | CommaEnd | , } |
{ "comma": [ "trailing", ] } | CommaEnd | , ] } |
{ "comma": true, } | CommaEnd | : true, } |
{ "unclosed": true | BracketCloseLack | } |
{ "unclosed": "terminating" | BracketCloseLack | } |
{ { "unclosed": 99 | BracketCloseLack | 2 } |
{ "unclosed": [ 42 } | BracketCloseLack | ] |
{ "unclosed": [ 42 ] ] } | BracketClosePlus | ] |
{ "unclosed": [ 42 ] ] ] } | BracketClosePlus | 2 ] |
{ "commented": /* middle true } | CommentEnd | middle true } |
fault
[Quelltext bearbeiten]- Bracket0
- Das erste sichtbare Zeichen muss { sein – Trailing1
- BracketCloseLack
- Schließende Klammer fehlt für: – Trailing2
- BracketClosePlus
- Zu viele schließende Klammern: – Trailing3
- CommaEnd
- Überflüssiges Komma nach letztem Listenelement – Trailing4
- CommentEnd
- Kommentar beginnt mit /* und wird nicht mit */ beendet – Trailing5
- ControlChar
- Steuerzeichen gefunden außer LF Tab CR (ASCII < 32) – Trailing6
- Qoute
- Apostroph statt Anführungszeichen gefunden – Trailing7
- QouteEnd
- Schließendes Anführungszeichen nicht gefunden – Trailing8
- Trailing
- Text nach dem Ende des JSON gefunden – Trailing9
fetch
[Quelltext bearbeiten]Same cases as with #fiat.
{
"simple": "assignment"
}
{
"beg": "\"escaped quote",
"mid": "escaped\"quote",
"end": "escaped quote\""
}
{
"multiline": "Some text\nin several lines\nalso with\ttabulator"
}
{
"lineseps": "Ux\nstyle and\nApple and MS\nDOS"
}
{
"commented": true
}
{
"commented": true
}
{
"commented": true
}
{
"commented": "edge"
}
{
"NoComment": "An URL http://example.org/ is not a comment"
}
<span class="error">Das erste sichtbare Zeichen muss { sein – No JSON</span>
<span class="error">Text nach dem Ende des JSON gefunden – garbage</span>
<span class="error">Apostroph statt Anführungszeichen gefunden – 'apostrophes' }</span>
<span class="error">Schließendes Anführungszeichen nicht gefunden – qoute }</span>
<span class="error">Schließendes Anführungszeichen nicht gefunden – qoute (escaped)\" }</span>
<span class="error">Steuerzeichen gefunden außer LF Tab CR (ASCII < 32) – tab" }</span>
<span class="error">Überflüssiges Komma nach letztem Listenelement – , }</span>
<span class="error">Überflüssiges Komma nach letztem Listenelement – , ] }</span>
<span class="error">Überflüssiges Komma nach letztem Listenelement – : true, }</span>
<span class="error">Schließende Klammer fehlt für: – }</span>
<span class="error">Schließende Klammer fehlt für: – }</span>
<span class="error">Schließende Klammer fehlt für: – 2 }</span>
<span class="error">Schließende Klammer fehlt für: – ]</span>
<span class="error">Zu viele schließende Klammern: – ]</span>
<span class="error">Zu viele schließende Klammern: – 2 ]</span>
<span class="error">Kommentar beginnt mit /* und wird nicht mit */ beendet – middle true }</span>