From a8a06ee6e47d2694086acc924b79eece43b9f3ad Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 11 Feb 2013 17:04:43 +0100 Subject: [PATCH 1/3] [IMP] clean and sort up some old test directories bzr revid: abo@openerp.com-20130211160443-2xcw2quaj4a5taz9 --- openerp/addons/base/test/__init__.py | 27 ------------------- .../base/{res/test => tests}/res_lang.py | 0 2 files changed, 27 deletions(-) delete mode 100644 openerp/addons/base/test/__init__.py rename openerp/addons/base/{res/test => tests}/res_lang.py (100%) 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/res/test/res_lang.py b/openerp/addons/base/tests/res_lang.py similarity index 100% rename from openerp/addons/base/res/test/res_lang.py rename to openerp/addons/base/tests/res_lang.py From f1d660c853fb636f5f8ab9bfde419fbf0ec5ff9b Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 11 Feb 2013 18:01:28 +0100 Subject: [PATCH 2/3] [IMP] rename files, move code to the right place bzr revid: abo@openerp.com-20130211170128-2r28k5ldou1qn1n5 --- openerp/addons/base/res/res_lang.py | 48 ------------------- openerp/addons/base/tests/__init__.py | 2 + openerp/addons/base/tests/res_lang.py | 8 ---- openerp/addons/base/tests/test_base.py | 2 +- openerp/addons/base/tests/test_res_lang.py | 55 ++++++++++++++++++++++ 5 files changed, 58 insertions(+), 57 deletions(-) delete mode 100644 openerp/addons/base/tests/res_lang.py create mode 100644 openerp/addons/base/tests/test_res_lang.py diff --git a/openerp/addons/base/res/res_lang.py b/openerp/addons/base/res/res_lang.py index 01d501fe80f..e91633c2e15 100644 --- a/openerp/addons/base/res/res_lang.py +++ b/openerp/addons/base/res/res_lang.py @@ -317,52 +317,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/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/res_lang.py b/openerp/addons/base/tests/res_lang.py deleted file mode 100644 index dbfa64f2993..00000000000 --- a/openerp/addons/base/tests/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/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..3905dee0158 --- /dev/null +++ b/openerp/addons/base/tests/test_res_lang.py @@ -0,0 +1,55 @@ +import unittest2 + +import openerp.tests.common as common + +class test_res_lang(common.TransactionCase): + + def test_00(self): + from openerp.addons.base.res.res_lang import original_group, intersperse + + for g in [original_group, intersperse]: + # print "asserts on", g.func_name + assert g("", []) == ("", 0), "Assert passed" + assert g("0", []) == ("0", 0), "Assert passed" + assert g("012", []) == ("012", 0), "Assert passed" + assert g("1", []) == ("1", 0), "Assert passed" + assert g("12", []) == ("12", 0), "Assert passed" + assert g("123", []) == ("123", 0), "Assert passed" + assert g("1234", []) == ("1234", 0), "Assert passed" + assert g("123456789", []) == ("123456789", 0), "Assert passed" + assert g("&ab%#@1", []) == ("&ab%#@1", 0), "Assert passed" + + assert g("0", []) == ("0", 0), "Assert passed" + assert g("0", [1]) == ("0", 0), "Assert passed" + assert g("0", [2]) == ("0", 0), "Assert passed" + assert g("0", [200]) == ("0", 0), "Assert passed" + + # 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: From 74e53085afe44b9186f2343ed2736792250e8b6e Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Tue, 12 Feb 2013 12:12:44 +0100 Subject: [PATCH 3/3] [REF] res_lang: removed dead code (original_group function). That function was kept because its `intersperse` reimplementation behaves a bit differently but it was a long time ago and no bug report appeared. So the new function is good enough. bzr revid: vmt@openerp.com-20130212111244-aayco60ps923fn55 --- openerp/addons/base/res/res_lang.py | 39 ------------- openerp/addons/base/tests/test_res_lang.py | 64 +++++++++------------- 2 files changed, 26 insertions(+), 77 deletions(-) diff --git a/openerp/addons/base/res/res_lang.py b/openerp/addons/base/res/res_lang.py index e91633c2e15..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): """ diff --git a/openerp/addons/base/tests/test_res_lang.py b/openerp/addons/base/tests/test_res_lang.py index 3905dee0158..325d1f72065 100644 --- a/openerp/addons/base/tests/test_res_lang.py +++ b/openerp/addons/base/tests/test_res_lang.py @@ -4,47 +4,35 @@ import openerp.tests.common as common class test_res_lang(common.TransactionCase): - def test_00(self): - from openerp.addons.base.res.res_lang import original_group, intersperse + def test_00_intersperse(self): + from openerp.addons.base.res.res_lang import intersperse - for g in [original_group, intersperse]: - # print "asserts on", g.func_name - assert g("", []) == ("", 0), "Assert passed" - assert g("0", []) == ("0", 0), "Assert passed" - assert g("012", []) == ("012", 0), "Assert passed" - assert g("1", []) == ("1", 0), "Assert passed" - assert g("12", []) == ("12", 0), "Assert passed" - assert g("123", []) == ("123", 0), "Assert passed" - assert g("1234", []) == ("1234", 0), "Assert passed" - assert g("123456789", []) == ("123456789", 0), "Assert passed" - assert g("&ab%#@1", []) == ("&ab%#@1", 0), "Assert passed" + 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 g("0", []) == ("0", 0), "Assert passed" - assert g("0", [1]) == ("0", 0), "Assert passed" - assert g("0", [2]) == ("0", 0), "Assert passed" - assert g("0", [200]) == ("0", 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" - # 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("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.