Ignore:
Timestamp:
08/29/09 16:59:56 (5 years ago)
Author:
xi
Message:

Fixed emitting of invalid BOM for UTF-16.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pyyaml/trunk/tests/lib3/test_representer.py

    r330 r351  
    77    test_constructor._make_objects() 
    88    for allow_unicode in [False, True]: 
    9         native1 = test_constructor._load_code(open(code_filename, 'rb').read()) 
    10         native2 = None 
    11         try: 
    12             output = yaml.dump(native1, Dumper=test_constructor.MyDumper, 
    13                         allow_unicode=allow_unicode) 
    14             native2 = yaml.load(output, Loader=test_constructor.MyLoader) 
     9        for encoding in ['utf-8', 'utf-16-be', 'utf-16-le']: 
     10            native1 = test_constructor._load_code(open(code_filename, 'rb').read()) 
     11            native2 = None 
    1512            try: 
    16                 if native1 == native2: 
    17                     continue 
    18             except TypeError: 
    19                 pass 
    20             value1 = test_constructor._serialize_value(native1) 
    21             value2 = test_constructor._serialize_value(native2) 
    22             if verbose: 
    23                 print("SERIALIZED NATIVE1:") 
    24                 print(value1) 
    25                 print("SERIALIZED NATIVE2:") 
    26                 print(value2) 
    27             assert value1 == value2, (native1, native2) 
    28         finally: 
    29             if verbose: 
    30                 print("NATIVE1:") 
    31                 pprint.pprint(native1) 
    32                 print("NATIVE2:") 
    33                 pprint.pprint(native2) 
    34                 print("OUTPUT:") 
    35                 print(output) 
     13                output = yaml.dump(native1, Dumper=test_constructor.MyDumper, 
     14                            allow_unicode=allow_unicode, encoding=encoding) 
     15                native2 = yaml.load(output, Loader=test_constructor.MyLoader) 
     16                try: 
     17                    if native1 == native2: 
     18                        continue 
     19                except TypeError: 
     20                    pass 
     21                value1 = test_constructor._serialize_value(native1) 
     22                value2 = test_constructor._serialize_value(native2) 
     23                if verbose: 
     24                    print("SERIALIZED NATIVE1:") 
     25                    print(value1) 
     26                    print("SERIALIZED NATIVE2:") 
     27                    print(value2) 
     28                assert value1 == value2, (native1, native2) 
     29            finally: 
     30                if verbose: 
     31                    print("NATIVE1:") 
     32                    pprint.pprint(native1) 
     33                    print("NATIVE2:") 
     34                    pprint.pprint(native2) 
     35                    print("OUTPUT:") 
     36                    print(output) 
    3637 
    3738test_representer_types.unittest = ['.code'] 
Note: See TracChangeset for help on using the changeset viewer.