summaryrefslogtreecommitdiff
path: root/addons/website/tests
diff options
context:
space:
mode:
authorxmo-odoo <xmo@odoo.com>2017-05-10 09:39:55 +0200
committerGitHub <noreply@github.com>2017-05-10 09:39:55 +0200
commitfffaf735f58f1ac57781c095eb552de6d1fcdc47 (patch)
tree88ab0ab65430d871862a836524e0ecc890d1674d /addons/website/tests
parent10eee18a047d35305dc46282e610e88936d81ffc (diff)
[FIX] P3: list -> iterable builtins (#16811)
In Python 3: * various builtins and dict methods were changed to return view/iterable objects rather than lists * and the separate Python 2 view/iterable builtins and methods were removed altogether This is problematic when using these items as list (which the happens repeatedly in Odoo), but more viciously when iterating *multiple times* over them (which also happens, which I've messed up multiple times while writing this, and which is a pain to debug even when you've just created the issue). Convert all code using these to semantics-matching cross-version helper functions to get the LCD behaviour between P2 and P3, and forbid the builtins via lint. issue #8530
Diffstat (limited to 'addons/website/tests')
-rw-r--r--addons/website/tests/test_converter.py4
-rw-r--r--addons/website/tests/test_crawl.py2
-rw-r--r--addons/website/tests/test_views.py3
3 files changed, 6 insertions, 3 deletions
diff --git a/addons/website/tests/test_converter.py b/addons/website/tests/test_converter.py
index 0c3dfe0434a..9267826c689 100644
--- a/addons/website/tests/test_converter.py
+++ b/addons/website/tests/test_converter.py
@@ -4,6 +4,8 @@
import unittest
from odoo.addons.website.models.website import slugify, unslug
+from odoo.tools import pycompat
+
class TestUnslug(unittest.TestCase):
@@ -23,7 +25,7 @@ class TestUnslug(unittest.TestCase):
'foo1': (None, None),
}
- for slug, expected in tests.iteritems():
+ for slug, expected in pycompat.items(tests):
self.assertEqual(unslug(slug), expected)
diff --git a/addons/website/tests/test_crawl.py b/addons/website/tests/test_crawl.py
index 704cd62a41b..a9f1e9b1f84 100644
--- a/addons/website/tests/test_crawl.py
+++ b/addons/website/tests/test_crawl.py
@@ -40,7 +40,7 @@ class Crawler(odoo.tests.HttpCase):
_logger.info("%s %s", msg, url)
r = self.url_open(url)
code = r.getcode()
- self.assertIn(code, pycompat.range(200, 300), "%s Fetching %s returned error response (%d)" % (msg, url, code))
+ self.assertIn(code, range(200, 300), "%s Fetching %s returned error response (%d)" % (msg, url, code))
if r.info().gettype() == 'text/html':
doc = lxml.html.fromstring(r.read())
diff --git a/addons/website/tests/test_views.py b/addons/website/tests/test_views.py
index a90c14f3193..415e1668ce1 100644
--- a/addons/website/tests/test_views.py
+++ b/addons/website/tests/test_views.py
@@ -8,10 +8,11 @@ from lxml import etree as ET, html
from lxml.html import builder as h
from odoo.tests import common
+from odoo.tools import pycompat
def attrs(**kwargs):
- return dict(('data-oe-%s' % key, str(value)) for key, value in kwargs.iteritems())
+ return {'data-oe-%s' % key: str(value) for key, value in pycompat.items(kwargs)}
class TestViewSaving(common.TransactionCase):