metadata: auto-convert YAML special float values: .nan .inf -.inf

Even for people who know what the special floats not-a-number, infinity,
and negative infinity, they don't necessarily know the YAML 1.2 syntax for
these.  I didn't.  And I've spent some quality time fighting things with
those values.  They are also easy to reliably convert to string values.
This commit is contained in:
Hans-Christoph Steiner 2023-05-04 18:34:50 +02:00
parent 8374842faa
commit 9f606d0fbb
2 changed files with 27 additions and 0 deletions

View file

@ -965,6 +965,24 @@ class MetadataTest(unittest.TestCase):
{'AntiFeatures': {'true': {}}},
)
def test_parse_yaml_app_antifeatures_float_nan(self):
self.assertEqual(
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: .nan')),
{'AntiFeatures': {'.nan': {}}},
)
def test_parse_yaml_app_antifeatures_float_inf(self):
self.assertEqual(
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: .inf')),
{'AntiFeatures': {'.inf': {}}},
)
def test_parse_yaml_app_antifeatures_float_negative_inf(self):
self.assertEqual(
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: -.inf')),
{'AntiFeatures': {'-.inf': {}}},
)
def test_parse_yaml_app_antifeatures_int(self):
self.assertEqual(
metadata.parse_yaml_metadata(io.StringIO('AntiFeatures: 1')),