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/lib/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.