[MERGE] res_lang: moved tests in unittest2 test case.
bzr revid: vmt@openerp.com-20130212112752-xclnhzzbvvu3kdl8
This commit is contained in:
commit
61fb403a60
|
@ -228,45 +228,6 @@ class lang(osv.osv):
|
||||||
|
|
||||||
lang()
|
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):
|
def split(l, counts):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -317,52 +278,4 @@ def intersperse(string, counts, separator=''):
|
||||||
res = separator.join(map(reverse, reverse(splits)))
|
res = separator.join(map(reverse, reverse(splits)))
|
||||||
return left + res + right, len(splits) > 0 and len(splits) -1 or 0
|
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:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
|
@ -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:
|
|
|
@ -1,27 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
##############################################################################
|
|
||||||
#
|
|
||||||
# OpenERP, Open Source Management Solution
|
|
||||||
# Copyright (C) 2011-TODAY OpenERP S.A. <http://www.openerp.com>
|
|
||||||
#
|
|
||||||
# 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 <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
# 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:
|
|
|
@ -3,6 +3,7 @@ import test_expression
|
||||||
import test_ir_attachment
|
import test_ir_attachment
|
||||||
import test_ir_values
|
import test_ir_values
|
||||||
import test_menu
|
import test_menu
|
||||||
|
import test_res_lang
|
||||||
import test_search
|
import test_search
|
||||||
|
|
||||||
checks = [
|
checks = [
|
||||||
|
@ -11,5 +12,6 @@ checks = [
|
||||||
test_ir_attachment,
|
test_ir_attachment,
|
||||||
test_ir_values,
|
test_ir_values,
|
||||||
test_menu,
|
test_menu,
|
||||||
|
test_res_lang,
|
||||||
test_search,
|
test_search,
|
||||||
]
|
]
|
||||||
|
|
|
@ -40,4 +40,4 @@ class test_base(common.TransactionCase):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest2.main()
|
unittest2.main()
|
||||||
|
|
|
@ -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:
|
Loading…
Reference in New Issue