diff --git a/tests/data/mapping.sort b/tests/data/mapping.sort new file mode 100644 index 00000000..802ba1ad --- /dev/null +++ b/tests/data/mapping.sort @@ -0,0 +1,6 @@ +z: 1 +a: 2 +y: 3 +b: 4 +x: 5 +c: 6 diff --git a/tests/data/mapping.sorted b/tests/data/mapping.sorted new file mode 100644 index 00000000..b3dd3464 --- /dev/null +++ b/tests/data/mapping.sorted @@ -0,0 +1,6 @@ +a: 2 +b: 4 +c: 6 +x: 5 +y: 3 +z: 1 diff --git a/tests/lib/test_sort_keys.py b/tests/lib/test_sort_keys.py new file mode 100644 index 00000000..f347659a --- /dev/null +++ b/tests/lib/test_sort_keys.py @@ -0,0 +1,27 @@ +import yaml +import pprint +import sys + +def test_sort_keys(input_filename, sorted_filename, verbose=False): + input = open(input_filename, 'rb').read().decode('utf-8') + sorted = open(sorted_filename, 'rb').read().decode('utf-8') + data = yaml.load(input) + dump_sorted = yaml.dump(data, default_flow_style=False, sort_keys=True) + dump_unsorted = yaml.dump(data, default_flow_style=False, sort_keys=False) + if verbose: + print("INPUT:") + print(input) + print("DATA:") + print(data) + + assert dump_sorted == sorted + + + + +test_sort_keys.unittest = ['.sort', '.sorted'] + +if __name__ == '__main__': + import test_appliance + test_appliance.run(globals()) + diff --git a/tests/lib3/test_sort_keys.py b/tests/lib3/test_sort_keys.py new file mode 100644 index 00000000..519ce5c0 --- /dev/null +++ b/tests/lib3/test_sort_keys.py @@ -0,0 +1,27 @@ +import yaml +import pprint +import sys + +def test_sort_keys(input_filename, sorted_filename, verbose=False): + input = open(input_filename, 'rb').read().decode('utf-8') + sorted = open(sorted_filename, 'rb').read().decode('utf-8') + data = yaml.load(input) + dump_sorted = yaml.dump(data, default_flow_style=False, sort_keys=True) + dump_unsorted = yaml.dump(data, default_flow_style=False, sort_keys=False) + if verbose: + print("INPUT:") + print(input) + print("DATA:") + print(data) + + assert dump_sorted == sorted + + if sys.version_info>=(3,7): + assert dump_unsorted == input + +test_sort_keys.unittest = ['.sort', '.sorted'] + +if __name__ == '__main__': + import test_appliance + test_appliance.run(globals()) +