Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/test_loader.py

    r20 r23  
    136136""" 
    137137 
     138MUTABLE_KEY = """ 
     139? [] 
     140: [] 
     141""" 
     142 
    138143class TestDocuments(test_parser.TestDocuments): 
    139144 
     
    181186 
    182187    def _testFileValues(self, (source, structure)): 
    183         filename = os.tempnam('/tmp', '_syck_test_') 
    184         file(filename, 'wb').write(source) 
    185         try: 
    186             self.assertEqualStructure(syck.parse(file(filename)), structure) 
    187             self.assertEqual(syck.load(file(filename)), structure) 
    188         except: 
    189             os.remove(filename) 
    190             raise 
     188        tempfile = os.tmpfile() 
     189        tempfile.write(source) 
     190        tempfile.seek(0) 
     191        self.assertEqualStructure(syck.parse(tempfile), structure) 
     192        tempfile.seek(0) 
     193        self.assertEqual(syck.load(tempfile), structure) 
     194        tempfile.seek(0) 
    191195 
    192196class TestImplicitScalars(unittest.TestCase): 
     
    202206 
    203207    def testFloat(self): 
    204         self.assertAlmostEqual(syck.load('6.8523015e+5'), 685230.15) 
     208        self.assertEqual(syck.load('6.8523015e+5'), 685230.15) 
    205209        # Syck does not understand '_'. 
    206210        #self.assertAlmostEqual(syck.load('685.230_15e+03'), 685230.15) 
    207211        #self.assertAlmostEqual(syck.load('685_230.15'), 685230.15) 
    208         self.assertAlmostEqual(syck.load('685.23015e+03'), 685230.15) 
    209         self.assertAlmostEqual(syck.load('685230.15'), 685230.15) 
    210         self.assertAlmostEqual(syck.load('190:20:30.15'), 685230.15) 
    211         self.assertEqual(syck.load('-.inf'), -INF) 
    212         self.assertEqual(syck.load('.nan'), NAN) 
     212        self.assertEqual(syck.load('685.23015e+03'), 685230.15) 
     213        self.assertEqual(syck.load('685230.15'), 685230.15) 
     214        self.assertEqual(syck.load('190:20:30.15'), 685230.15) 
     215        self.assertEqual(repr(syck.load('-.inf')), repr(-INF)) 
     216        self.assertEqual(repr(syck.load('.nan')), repr(NAN)) 
    213217 
    214218    def testInteger(self): 
     
    268272        node = syck.parse(ALIASES) 
    269273        values = node.value.values() 
    270         print values 
    271         print id(values[0]) 
    272         print id(values[1]) 
    273274        self.assert_(values[0] is values[1]) 
    274275 
     
    277278        self.assert_(document['foo'] is document['bar']) 
    278279 
     280class TestMutableKey(unittest.TestCase): 
     281 
     282    def testMutableKey(self): 
     283        document = syck.load(MUTABLE_KEY) 
     284        self.assertEqual(type(document), list) 
     285        self.assertEqual(len(document), 1) 
     286        self.assertEqual(type(document[0]), tuple) 
     287        self.assertEqual(len(document[0]), 2) 
     288        self.assertEqual(document[0][0], document[0][1]) 
Note: See TracChangeset for help on using the changeset viewer.