diff options
author | Andrey Lebedev <andrey@lebedev.lt> | 2013-02-19 19:07:25 +0200 |
---|---|---|
committer | Andrey Lebedev <andrey@lebedev.lt> | 2013-02-19 19:07:25 +0200 |
commit | 67e4c91acc5d16e1408696189d31771be73d311e (patch) | |
tree | b26882d8e014a081d5f3e6a74791a54187b244d1 /src | |
parent | e1d5f7cf375ccdfb8f6207c2bf813ca64c1d7bda (diff) | |
parent | aad857434f77e494a9c1ea1ba90f95bb1cc60551 (diff) | |
download | zope-security-67e4c91acc5d16e1408696189d31771be73d311e.tar.gz |
Merge branch 'moretests'
Diffstat (limited to 'src')
-rw-r--r-- | src/zope/security/checker.py | 8 | ||||
-rw-r--r-- | src/zope/security/testing.py | 19 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/zope/security/checker.py b/src/zope/security/checker.py index e5f88dc..5f1d7df 100644 --- a/src/zope/security/checker.py +++ b/src/zope/security/checker.py @@ -595,7 +595,7 @@ _typeChecker = NamesChecker( '__implemented__']) _namedChecker = NamesChecker(['__name__']) -_iteratorChecker = NamesChecker(['next', '__iter__']) +_iteratorChecker = NamesChecker(['next', '__iter__', '__len__']) _setChecker = NamesChecker(['__iter__', '__len__', '__str__', '__contains__', 'copy', 'difference', 'intersection', 'issubset', @@ -642,9 +642,13 @@ _basic_types = { datetime.time: NoProxy, datetime.tzinfo: NoProxy, } -if PYTHON2: +if PYTHON2: _basic_types[long] = NoProxy _basic_types[unicode] = NoProxy +else: #pragma NO COVER + _basic_types[type({}.values())] = NoProxy + _basic_types[type({}.keys())] = NoProxy + _basic_types[type({}.items())] = NoProxy try: import pytz diff --git a/src/zope/security/testing.py b/src/zope/security/testing.py index 53d1ebe..ee13db8 100644 --- a/src/zope/security/testing.py +++ b/src/zope/security/testing.py @@ -15,13 +15,30 @@ This module provides some helper/stub objects for setting up interactions. """ +import sys +import re from zope import interface, component from zope.security import interfaces from zope.security.permission import Permission import contextlib import zope.security.management - +from zope.testing import renormalizing + +PY2 = sys.version_info[0] == 2 + +if PY2: + _u = unicode + rules = [(re.compile("b('.*?')"), r"\1"), + (re.compile('b(".*?")'), r"\1"), + ] + output_checker = renormalizing.RENormalizing(rules) +else: + _u = str + rules = [(re.compile("u('.*?')"), r"\1"), + (re.compile('u(".*?")'), r"\1"), + ] + output_checker = renormalizing.RENormalizing(rules) @interface.implementer(interfaces.IPrincipal) class Principal: |