def test_before_top_map_from_scratch(self): from srsly.ruamel_yaml.comments import CommentedMap data = CommentedMap() data["a"] = 1 data["b"] = 2 data.yaml_set_start_comment("Hello\nWorld\n") # print(data.ca) # print(data.ca._items) exp = """ # Hello # World a: 1 b: 2 """ compare(data, exp.format(comment="#"))
def test_before_nested_map_from_scratch(self): from srsly.ruamel_yaml.comments import CommentedMap data = CommentedMap() datab = CommentedMap() data["a"] = 1 data["b"] = datab datab["c"] = 2 datab["d"] = 3 data["b"].yaml_set_start_comment("Hello\nWorld\n") exp = """ a: 1 b: # Hello # World c: 2 d: 3 """ compare(data, exp.format(comment="#"))
def test_add_anchor(self): from srsly.ruamel_yaml.comments import CommentedMap data = CommentedMap() data_a = CommentedMap() data["a"] = data_a data_a["c"] = 3 data["b"] = 2 data.yaml_set_anchor("klm", always_dump=True) data["a"].yaml_set_anchor("xyz", always_dump=True) compare( data, """ &klm a: &xyz c: 3 b: 2 """, )
def test_basic(self): from srsly.ruamel_yaml.comments import CommentedMap from srsly.ruamel_yaml.scalarstring import walk_tree data = CommentedMap() data[1] = "a" data[2] = "with\nnewline\n" walk_tree(data) exp = """\ 1: a 2: | with newline """ assert round_trip_dump(data) == dedent(exp)
def test_before_nested_seq_from_scratch_block_seq_indent(self): from srsly.ruamel_yaml.comments import CommentedMap, CommentedSeq data = CommentedMap() datab = CommentedSeq() data["a"] = 1 data["b"] = datab datab.append("c") datab.append("d") data["b"].yaml_set_start_comment("Hello\nWorld\n", indent=2) exp = """ a: 1 b: # Hello # World - c - d """ compare(data, exp.format(comment="#"), indent=4, block_seq_indent=2)
def test_map(self): from srsly.ruamel_yaml.compat import ordereddict from srsly.ruamel_yaml.comments import CommentedMap from srsly.ruamel_yaml.scalarstring import walk_tree, preserve_literal from srsly.ruamel_yaml.scalarstring import DoubleQuotedScalarString as dq from srsly.ruamel_yaml.scalarstring import SingleQuotedScalarString as sq data = CommentedMap() data[1] = "a" data[2] = "with\nnew : line\n" data[3] = "${abc}" data[4] = "almost:mapping" m = ordereddict([("\n", preserve_literal), ("${", sq), (":", dq)]) walk_tree(data, map=m) exp = """\ 1: a 2: | with new : line 3: '${abc}' 4: "almost:mapping" """ assert round_trip_dump(data) == dedent(exp)
def test_issue_242(self): from srsly.ruamel_yaml.comments import CommentedMap d0 = CommentedMap([("a", "b")]) assert d0["a"] == "b"