def test_serialize(): o = TD2() o.three = "set" assert "dfour" in optmanager.serialize(o, None, defaults=True) data = optmanager.serialize(o, None) assert "dfour" not in data o2 = TD2() optmanager.load(o2, data) assert o2 == o t = """ unknown: foo """ data = optmanager.serialize(o, t) o2 = TD2() optmanager.load(o2, data) assert o2 == o t = "invalid: foo\ninvalid" with pytest.raises(Exception, match="Config error"): optmanager.load(o2, t) t = "invalid" with pytest.raises(Exception, match="Config error"): optmanager.load(o2, t) t = "# a comment" optmanager.load(o2, t) assert optmanager.load(o2, "foobar: '123'") == {"foobar": "123"} t = "" optmanager.load(o2, t) assert optmanager.load(o2, "foobar: '123'") == {"foobar": "123"}
def test_serialize(): o = TD2() o.three = "set" assert "dfour" in optmanager.serialize(o, None, defaults=True) data = optmanager.serialize(o, None) assert "dfour" not in data o2 = TD2() optmanager.load(o2, data) assert o2 == o t = """ unknown: foo """ data = optmanager.serialize(o, t) o2 = TD2() optmanager.load(o2, data) assert o2 == o t = "invalid: foo\ninvalid" with pytest.raises(Exception, match="Config error"): optmanager.load(o2, t) t = "invalid" with pytest.raises(Exception, match="Config error"): optmanager.load(o2, t) t = "" optmanager.load(o2, t) assert optmanager.load(o2, "foobar: '123'") == {"foobar": "123"}
def test_serialize_defaults(): o = options.Options() assert optmanager.serialize(o, None, defaults=True)
def test_serialize_defaults(): o = options.Options() buf = io.StringIO() optmanager.serialize(o, buf, "", defaults=True) assert buf.getvalue()
def serialize(opts: optmanager.OptManager, text: str, defaults: bool = False) -> str: buf = io.StringIO() optmanager.serialize(opts, buf, text, defaults) return buf.getvalue()