Ignore:
Timestamp:
23 Mar 2013, 10:48:31 (12 years ago)
Author:
uli
Message:

Make logfile parsing unicode-aware.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/tests/test_datacenter.py

    r9217 r10045  
     1# -*- coding: utf-8 -*-
    12## Tests for datacenter
    23##
     
    4243                fp.write('Msg %d\n' % (n + 1))
    4344                fp.write('Other Line %d\n' % (n + 1))
     45            fp.write('A Message with Ümläüt')
    4446            fp.close()
    4547            path = self.logpath + '.%d' % m
     
    5759        open(self.logpath, 'wb').write('Message 1\n')
    5860        result = list(datacenter.queryLogfiles('myapp.log', 'Message'))
    59         self.assertEqual(result, ['Message 1\n'])
     61        self.assertEqual(result, [u'Message 1\n'])
    6062        return
    6163
     
    6870        result = list(datacenter.queryLogfiles('myapp.log', 'Msg'))
    6971        # entry of logfile .10 comes after entry of logfile .2
    70         self.assertEqual(result, ['Msg 1\n', 'Msg 2\n', 'Msg 3\n'])
     72        self.assertEqual(result, [u'Msg 1\n', u'Msg 2\n', u'Msg 3\n'])
    7173        return
    7274
     
    7981        result = list(datacenter.queryLogfiles('myapp.log', 'Msg'))
    8082        # Msg 2 and 3 won't show up in results.
    81         self.assertEqual(result, ['Msg 1\n'])
     83        self.assertEqual(result, [u'Msg 1\n'])
    8284        return
    8385
     
    116118            'myapp.log', 'Msg', start=25))
    117119        self.assertEqual(len(result), 25)
    118         self.assertEqual(result[0], 'Msg 26\n')
     120        self.assertEqual(result[0], u'Msg 26\n')
    119121        return
    120122
     
    126128            'myapp.log', 'Msg', start=25, limit=10))
    127129        self.assertEqual(len(result), 10)
    128         self.assertEqual(result[0], 'Msg 26\n')
    129         self.assertEqual(result[-1], 'Msg 35\n')
     130        self.assertEqual(result[0], u'Msg 26\n')
     131        self.assertEqual(result[-1], u'Msg 35\n')
    130132        return
    131133
     
    137139            'myapp.log', 'Msg', start=45, limit=10))
    138140        self.assertEqual(len(result), 5)
    139         self.assertEqual(result[0], 'Msg 46\n')
    140         self.assertEqual(result[-1], 'Msg 50\n')
     141        self.assertEqual(result[0], u'Msg 46\n')
     142        self.assertEqual(result[-1], u'Msg 50\n')
    141143        return
    142144
     
    148150            'myapp.log', 'Msg', start=45, limit=10))
    149151        self.assertEqual(len(result), 10)
    150         self.assertEqual(result[0], 'Msg 46\n')
    151         self.assertEqual(result[-1], 'Msg 55\n')
     152        self.assertEqual(result[0], u'Msg 46\n')
     153        self.assertEqual(result[-1], u'Msg 55\n')
    152154        return
    153155
     
    158160        result = list(datacenter.queryLogfiles('myapp.log', 'sg 1\n'))
    159161        self.assertEqual(len(result), 1)
    160         self.assertEqual(result[0], 'Msg 1\n')
     162        self.assertEqual(result[0], u'Msg 1\n')
     163        return
     164
     165    def test_query_logfiles_umlauts(self):
     166        # we return results as unicode decoded from utf-8
     167        datacenter = DataCenter()
     168        self.fill_logfile()
     169        result = list(datacenter.queryLogfiles(
     170            'myapp.log', u'Ümläüt'))
     171        self.assertTrue(isinstance(result[0], unicode))
     172        self.assertEqual(result, [u'A Message with Ümläüt'])
    161173        return
    162174
Note: See TracChangeset for help on using the changeset viewer.