format-json, test: Don't force ASCII
Currently, due to ensure_ascii=True default of json.dumps, we are insisting on our JSON schemas to be ascii-only and all other characters to be represented by \uxxxx escapes. So far this was not problematic as all our schemas contains only ASCII characters, but upcoming ors-amarisoft changes want to use e.g. "→" symbol: https://lab.nexedi.com/kirr/slapos/blob/b51f5523/software/ors-amarisoft/software.cfg.json#L15 which currently results in failure of json-schema test: FAIL: test_ors-amarisoft_software_cfg_json_format (slapos.test.test_json_schema.TestJSONSchemaValidation) ... First differing element 14: ' "title": "\\u2192 eNB/gNB | Radio Unit",' ' "title": "→ eNB/gNB | Radio Unit",' And in general, in 2023 I think there is no reason to insist on our schemas to be ASCII-only: say if one wants to describe something about "α" parameter. It would be good to use that α character directly and seeing it in the editor, instead of using escapes all the time. As indicated by below stackoverflow answer "JSON spec requires UTF-8 support by decoders": https://stackoverflow.com/a/594881/9456786 , and indeed checking JSON specification also confirms that by default JSON decoders shall use UTF-8: https://datatracker.ietf.org/doc/html/rfc7159#section-8.1 This way, I think, we can switch to UTF-8 safely. /reviewed-by @jerome, @lu.xu /reviewed-on nexedi/slapos!1498
Showing
Please register or sign in to comment