From 92374741ff938a920097c4479a5f9d6eec1fb37a Mon Sep 17 00:00:00 2001 From: ilvalle Date: Sat, 4 Jun 2016 17:42:36 +0200 Subject: [PATCH] fix rewrite, enabled test_router & test_routes --- gluon/rewrite.py | 4 ++-- gluon/tests/__init__.py | 4 ++-- gluon/tests/test_router.py | 6 ++++-- gluon/tests/test_routes.py | 5 ++++- gluon/tests/test_scheduler.py | 4 +--- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gluon/rewrite.py b/gluon/rewrite.py index 1cedf78b..1939695c 100644 --- a/gluon/rewrite.py +++ b/gluon/rewrite.py @@ -27,7 +27,7 @@ from gluon.storage import Storage, List from gluon.http import HTTP from gluon.fileutils import abspath, read_file from gluon.settings import global_settings -from gluon._compat import urllib_unquote, urllib_quote, iteritems +from gluon._compat import urllib_unquote, urllib_quote, iteritems, xrange isdir = os.path.isdir isfile = os.path.isfile @@ -317,7 +317,7 @@ def load(routes='routes.py', app=None, data=None, rdict=None): symbols = dict(app=app) try: - exec (data + '\n') in symbols + exec(data + '\n', symbols) except SyntaxError as e: logger.error( '%s has a syntax error and will not be loaded\n' % path diff --git a/gluon/tests/__init__.py b/gluon/tests/__init__.py index 15ee3631..d30199fe 100644 --- a/gluon/tests/__init__.py +++ b/gluon/tests/__init__.py @@ -11,13 +11,13 @@ from .test_cache import * from .test_template import * from .test_html import * from .test_contribs import * +from .test_routes import * +from .test_router import * if sys.version[:3] == '2.7': from .test_compileapp import * from .test_is_url import * from .test_languages import * - from .test_router import * - from .test_routes import * from .test_serializers import * from .test_validators import * from .test_utils import * diff --git a/gluon/tests/test_router.py b/gluon/tests/test_router.py index 20223048..0cf51a83 100644 --- a/gluon/tests/test_router.py +++ b/gluon/tests/test_router.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- """Unit tests for rewrite.py routers option""" - +from __future__ import print_function import sys import os import unittest @@ -21,6 +21,7 @@ from gluon.fileutils import abspath from gluon.settings import global_settings from gluon.http import HTTP from gluon.storage import Storage +from gluon._compat import to_bytes, to_native logger = None oldcwd = None @@ -1366,8 +1367,9 @@ class TestRouter(unittest.TestCase): URL(a='init', c='default', f='f', args=['ar g'])), "/f/ar%20g") self.assertEqual(str( URL(a='init', c='default', f='f', args=['årg'])), "/f/%C3%A5rg") + self.assertEqual(URL(a='init', c='default', f='fünc'), "/fünc") self.assertEqual( - str(URL(a='init', c='default', f='fünc')), "/f\xc3\xbcnc") + to_bytes(URL(a='init', c='default', f='fünc')), b"/f\xc3\xbcnc") def test_routes_anchor(self): ''' diff --git a/gluon/tests/test_routes.py b/gluon/tests/test_routes.py index dca0859c..16bb8a09 100644 --- a/gluon/tests/test_routes.py +++ b/gluon/tests/test_routes.py @@ -21,6 +21,7 @@ from gluon.fileutils import abspath from gluon.settings import global_settings from gluon.http import HTTP from gluon.storage import Storage +from gluon._compat import to_bytes logger = None oldcwd = None @@ -319,7 +320,9 @@ routes_out = [ self.assertEqual(str(URL( a='welcome', c='default', f='f', args=['årg'])), "/f/%C3%A5rg") self.assertEqual( - str(URL(a='welcome', c='default', f='fünc')), "/f\xc3\xbcnc") + URL(a='welcome', c='default', f='fünc'), "/fünc") + self.assertEqual( + to_bytes(URL(a='welcome', c='default', f='fünc')), b"/f\xc3\xbcnc") def test_routes_anchor(self): ''' diff --git a/gluon/tests/test_scheduler.py b/gluon/tests/test_scheduler.py index 107579e7..35bba0cc 100644 --- a/gluon/tests/test_scheduler.py +++ b/gluon/tests/test_scheduler.py @@ -11,8 +11,6 @@ import datetime import sys from .fix_path import fix_sys_path - - fix_sys_path(__file__) from gluon.storage import Storage @@ -25,7 +23,7 @@ class BaseTestScheduler(unittest.TestCase): def setUp(self): self.db = None self.cleanfolder() - from gluon import current + from gluon.globals import current s = Storage({'application': 'welcome', 'folder': 'applications/welcome', 'controller': 'default'})