1import yaml 2import pprint 3import sys 4 5def test_sort_keys(input_filename, sorted_filename, verbose=False): 6 input = open(input_filename, 'rb').read().decode('utf-8') 7 sorted = open(sorted_filename, 'rb').read().decode('utf-8') 8 data = yaml.load(input, Loader=yaml.FullLoader) 9 dump_sorted = yaml.dump(data, default_flow_style=False, sort_keys=True) 10 dump_unsorted = yaml.dump(data, default_flow_style=False, sort_keys=False) 11 dump_unsorted_safe = yaml.dump(data, default_flow_style=False, sort_keys=False, Dumper=yaml.SafeDumper) 12 if verbose: 13 print("INPUT:") 14 print(input) 15 print("DATA:") 16 print(data) 17 18 assert dump_sorted == sorted 19 20 if sys.version_info>=(3,7): 21 assert dump_unsorted == input 22 assert dump_unsorted_safe == input 23 24test_sort_keys.unittest = ['.sort', '.sorted'] 25 26if __name__ == '__main__': 27 import test_appliance 28 test_appliance.run(globals()) 29 30