[IMP] Added missing vim mode lines
[odoo/odoo.git] / openerp / test / test_translate.py
1 # -*- coding: utf-8 -*-
2 ##############################################################################
3 #
4 #    OpenERP, Open Source Management Solution
5 #    Copyright (C) 2010 OpenERP S.A. http://www.openerp.com
6 #
7 #    This program is free software: you can redistribute it and/or modify
8 #    it under the terms of the GNU Affero General Public License as
9 #    published by the Free Software Foundation, either version 3 of the
10 #    License, or (at your option) any later version.
11 #
12 #    This program is distributed in the hope that it will be useful,
13 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 #    GNU Affero General Public License for more details.
16 #
17 #    You should have received a copy of the GNU Affero General Public License
18 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 #
20 ##############################################################################
21
22 import unittest
23 from openerp.tools.translate import quote, unquote
24
25 class TranslationToolsTestCase(unittest.TestCase):
26
27     def test_quote_unquote(self):
28
29         def test_string(str):
30             quoted = quote(str)
31             #print "\n1:", repr(str)
32             #print "2:", repr(quoted)
33             unquoted = unquote("".join(quoted.split('"\n"')))
34             #print "3:", repr(unquoted)
35             self.assertEquals(str, unquoted)
36
37         test_string("""test \nall kinds\n \n o\r
38          \\\\ nope\n\n"
39          """)
40
41         # The ones with 1+ backslashes directly followed by
42         # a newline or literal N can fail... we would need a
43         # state-machine parser to handle these, but this would
44         # be much slower so it's better to avoid them at the moment
45         self.assertRaises(AssertionError, quote, """test \nall kinds\n\no\r
46          \\\\nope\n\n"
47          """)
48
49
50 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: