Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
Zope
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
Zope
Commits
9a317161
Commit
9a317161
authored
Jan 11, 2010
by
Tres Seaver
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Forward port better fix and test for LP #491224 from 2.8 branch.
parent
70748a88
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
7 deletions
+57
-7
src/OFS/SimpleItem.py
src/OFS/SimpleItem.py
+1
-3
src/OFS/tests/testSimpleItem.py
src/OFS/tests/testSimpleItem.py
+56
-4
No files found.
src/OFS/SimpleItem.py
View file @
9a317161
...
...
@@ -50,7 +50,6 @@ from DocumentTemplate.ustr import ustr
from
ExtensionClass
import
Base
from
Persistence
import
Persistent
from
webdav.Resource
import
Resource
from
webdav.xmltools
import
escape
as
xml_escape
from
zExceptions
import
Redirect
from
zExceptions
import
upgradeException
from
zExceptions.ExceptionFormatter
import
format_exception
...
...
@@ -295,7 +294,7 @@ class Item(Base,
exc_info
=
True
)
try
:
strv
=
str
(
error_value
)
strv
=
repr
(
error_value
)
# quotes tainted strings
except
:
strv
=
(
'<unprintable %s object>'
%
str
(
type
(
error_value
).
__name__
))
...
...
@@ -311,7 +310,6 @@ class Item(Base,
# return the rendered exception and let the
# ZPublisher Exception Hook deal with it.
return
error_type
,
v
,
tb
v
=
xml_escape
(
v
)
raise
error_type
,
v
,
tb
finally
:
if
hasattr
(
self
,
'_v_eek'
):
del
self
.
_v_eek
...
...
src/OFS/tests/testSimpleItem.py
View file @
9a317161
...
...
@@ -3,14 +3,66 @@ import unittest
class
TestItem
(
unittest
.
TestCase
):
def
test_z3interfaces
(
self
):
def
_getTargetClass
(
self
):
from
OFS.SimpleItem
import
Item
return
Item
def
_makeOne
(
self
,
*
args
,
**
kw
):
return
self
.
_getTargetClass
()(
*
args
,
**
kw
)
def
test_conforms_to_IItem
(
self
):
from
OFS.interfaces
import
IItem
from
zope.interface.verify
import
verifyClass
verifyClass
(
IItem
,
self
.
_getTargetClass
())
def
test_conforms_to_IManageable
(
self
):
from
OFS.interfaces
import
IManageable
from
OFS.SimpleItem
import
Item
from
zope.interface.verify
import
verifyClass
verifyClass
(
IItem
,
Item
)
verifyClass
(
IManageable
,
Item
)
verifyClass
(
IManageable
,
self
.
_getTargetClass
())
def
test_raise_StandardErrorMessage_str_errorValue
(
self
):
class
REQUEST
(
object
):
class
RESPONSE
(
object
):
handle_errors
=
True
item
=
self
.
_makeOne
()
def
_raise_during_standard_error_message
(
*
args
,
**
kw
):
raise
ZeroDivisionError
(
'testing'
)
item
.
standard_error_message
=
_raise_during_standard_error_message
try
:
item
.
raise_standardErrorMessage
(
error_type
=
OverflowError
,
error_value
=
'simple'
,
REQUEST
=
REQUEST
(),
)
except
:
import
sys
self
.
assertEqual
(
sys
.
exc_info
()[
0
],
OverflowError
)
value
=
sys
.
exc_info
()[
1
]
self
.
failUnless
(
value
.
message
.
startswith
(
"'simple'"
))
self
.
failUnless
(
'full details: testing'
in
value
.
message
)
def
test_raise_StandardErrorMessage_TaintedString_errorValue
(
self
):
from
ZPublisher.TaintedString
import
TaintedString
class
REQUEST
(
object
):
class
RESPONSE
(
object
):
handle_errors
=
True
item
=
self
.
_makeOne
()
def
_raise_during_standard_error_message
(
*
args
,
**
kw
):
raise
ZeroDivisionError
(
'testing'
)
item
.
standard_error_message
=
_raise_during_standard_error_message
try
:
item
.
raise_standardErrorMessage
(
error_type
=
OverflowError
,
error_value
=
TaintedString
(
'<simple>'
),
REQUEST
=
REQUEST
(),
)
except
:
import
sys
self
.
assertEqual
(
sys
.
exc_info
()[
0
],
OverflowError
)
value
=
sys
.
exc_info
()[
1
]
self
.
failIf
(
'<'
in
value
.
message
)
class
TestItem_w__name__
(
unittest
.
TestCase
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment