diff --git a/openerp/addons/base/res/res_lang.py b/openerp/addons/base/res/res_lang.py index 01d501fe80f..9abab79e46c 100644 --- a/openerp/addons/base/res/res_lang.py +++ b/openerp/addons/base/res/res_lang.py @@ -228,45 +228,6 @@ class lang(osv.osv): lang() -def original_group(s, grouping, thousands_sep=''): - - if not grouping: - return s, 0 - - result = "" - seps = 0 - spaces = "" - - if s[-1] == ' ': - sp = s.find(' ') - spaces = s[sp:] - s = s[:sp] - - while s and grouping: - # if grouping is -1, we are done - if grouping[0] == -1: - break - # 0: re-use last group ad infinitum - elif grouping[0] != 0: - #process last group - group = grouping[0] - grouping = grouping[1:] - if result: - result = s[-group:] + thousands_sep + result - seps += 1 - else: - result = s[-group:] - s = s[:-group] - if s and s[-1] not in "0123456789": - # the leading string is only spaces and signs - return s + result + spaces, seps - if not result: - return s + spaces, seps - if s: - result = s + thousands_sep + result - seps += 1 - return result + spaces, seps - def split(l, counts): """ @@ -317,52 +278,4 @@ def intersperse(string, counts, separator=''): res = separator.join(map(reverse, reverse(splits))) return left + res + right, len(splits) > 0 and len(splits) -1 or 0 -# TODO rewrite this with a unit test library -def _group_examples(): - for g in [original_group, intersperse]: - # print "asserts on", g.func_name - assert g("", []) == ("", 0) - assert g("0", []) == ("0", 0) - assert g("012", []) == ("012", 0) - assert g("1", []) == ("1", 0) - assert g("12", []) == ("12", 0) - assert g("123", []) == ("123", 0) - assert g("1234", []) == ("1234", 0) - assert g("123456789", []) == ("123456789", 0) - assert g("&ab%#@1", []) == ("&ab%#@1", 0) - - assert g("0", []) == ("0", 0) - assert g("0", [1]) == ("0", 0) - assert g("0", [2]) == ("0", 0) - assert g("0", [200]) == ("0", 0) - - # breaks original_group: - if g.func_name == 'intersperse': - assert g("12345678", [0], '.') == ('12345678', 0) - assert g("", [1], '.') == ('', 0) - assert g("12345678", [1], '.') == ('1234567.8', 1) - assert g("12345678", [1], '.') == ('1234567.8', 1) - assert g("12345678", [2], '.') == ('123456.78', 1) - assert g("12345678", [2,1], '.') == ('12345.6.78', 2) - assert g("12345678", [2,0], '.') == ('12.34.56.78', 3) - assert g("12345678", [-1,2], '.') == ('12345678', 0) - assert g("12345678", [2,-1], '.') == ('123456.78', 1) - assert g("12345678", [2,0,1], '.') == ('12.34.56.78', 3) - assert g("12345678", [2,0,0], '.') == ('12.34.56.78', 3) - assert g("12345678", [2,0,-1], '.') == ('12.34.56.78', 3) - assert g("12345678", [3,3,3,3], '.') == ('12.345.678', 2) - - assert original_group("abc1234567xy", [2], '.') == ('abc1234567.xy', 1) - assert original_group("abc1234567xy8", [2], '.') == ('abc1234567xy8', 0) # difference here... - assert original_group("abc12", [3], '.') == ('abc12', 0) - assert original_group("abc12", [2], '.') == ('abc12', 0) - assert original_group("abc12", [1], '.') == ('abc1.2', 1) - - assert intersperse("abc1234567xy", [2], '.') == ('abc1234567.xy', 1) - assert intersperse("abc1234567xy8", [2], '.') == ('abc1234567x.y8', 1) # ... w.r.t. here. - assert intersperse("abc12", [3], '.') == ('abc12', 0) - assert intersperse("abc12", [2], '.') == ('abc12', 0) - assert intersperse("abc12", [1], '.') == ('abc1.2', 1) - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/res/test/res_lang.py b/openerp/addons/base/res/test/res_lang.py deleted file mode 100644 index dbfa64f2993..00000000000 --- a/openerp/addons/base/res/test/res_lang.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys -import openerp - -import openerp.addons.base.res.res_lang as res_lang -res_lang._group_examples() - - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/test/__init__.py b/openerp/addons/base/test/__init__.py deleted file mode 100644 index c0cc8f7cb78..00000000000 --- a/openerp/addons/base/test/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2011-TODAY OpenERP S.A. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -# Useful for manual testing of cron jobs scheduling. -# This must be (un)commented with the corresponding yml file -# in ../__openerp__.py. -# import test_ir_cron - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/tests/__init__.py b/openerp/addons/base/tests/__init__.py index d891bc06fda..5023494172c 100644 --- a/openerp/addons/base/tests/__init__.py +++ b/openerp/addons/base/tests/__init__.py @@ -3,6 +3,7 @@ import test_expression import test_ir_attachment import test_ir_values import test_menu +import test_res_lang import test_search checks = [ @@ -11,5 +12,6 @@ checks = [ test_ir_attachment, test_ir_values, test_menu, + test_res_lang, test_search, ] diff --git a/openerp/addons/base/tests/test_base.py b/openerp/addons/base/tests/test_base.py index 285af8fbf6e..4e1de54920e 100644 --- a/openerp/addons/base/tests/test_base.py +++ b/openerp/addons/base/tests/test_base.py @@ -40,4 +40,4 @@ class test_base(common.TransactionCase): if __name__ == '__main__': - unittest2.main() \ No newline at end of file + unittest2.main() diff --git a/openerp/addons/base/tests/test_res_lang.py b/openerp/addons/base/tests/test_res_lang.py new file mode 100644 index 00000000000..325d1f72065 --- /dev/null +++ b/openerp/addons/base/tests/test_res_lang.py @@ -0,0 +1,43 @@ +import unittest2 + +import openerp.tests.common as common + +class test_res_lang(common.TransactionCase): + + def test_00_intersperse(self): + from openerp.addons.base.res.res_lang import intersperse + + assert intersperse("", []) == ("", 0), "Assert passed" + assert intersperse("0", []) == ("0", 0), "Assert passed" + assert intersperse("012", []) == ("012", 0), "Assert passed" + assert intersperse("1", []) == ("1", 0), "Assert passed" + assert intersperse("12", []) == ("12", 0), "Assert passed" + assert intersperse("123", []) == ("123", 0), "Assert passed" + assert intersperse("1234", []) == ("1234", 0), "Assert passed" + assert intersperse("123456789", []) == ("123456789", 0), "Assert passed" + assert intersperse("&ab%#@1", []) == ("&ab%#@1", 0), "Assert passed" + + assert intersperse("0", []) == ("0", 0), "Assert passed" + assert intersperse("0", [1]) == ("0", 0), "Assert passed" + assert intersperse("0", [2]) == ("0", 0), "Assert passed" + assert intersperse("0", [200]) == ("0", 0), "Assert passed" + + assert intersperse("12345678", [1], '.') == ('1234567.8', 1) + assert intersperse("12345678", [1], '.') == ('1234567.8', 1) + assert intersperse("12345678", [2], '.') == ('123456.78', 1) + assert intersperse("12345678", [2,1], '.') == ('12345.6.78', 2) + assert intersperse("12345678", [2,0], '.') == ('12.34.56.78', 3) + assert intersperse("12345678", [-1,2], '.') == ('12345678', 0) + assert intersperse("12345678", [2,-1], '.') == ('123456.78', 1) + assert intersperse("12345678", [2,0,1], '.') == ('12.34.56.78', 3) + assert intersperse("12345678", [2,0,0], '.') == ('12.34.56.78', 3) + assert intersperse("12345678", [2,0,-1], '.') == ('12.34.56.78', 3) + assert intersperse("12345678", [3,3,3,3], '.') == ('12.345.678', 2) + + assert intersperse("abc1234567xy", [2], '.') == ('abc1234567.xy', 1) + assert intersperse("abc1234567xy8", [2], '.') == ('abc1234567x.y8', 1) # ... w.r.t. here. + assert intersperse("abc12", [3], '.') == ('abc12', 0) + assert intersperse("abc12", [2], '.') == ('abc12', 0) + assert intersperse("abc12", [1], '.') == ('abc1.2', 1) + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: