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
3bc19628
Commit
3bc19628
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
591facf2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
7 deletions
+51
-7
lib/python/OFS/SimpleItem.py
lib/python/OFS/SimpleItem.py
+1
-3
lib/python/OFS/tests/testSimpleItem.py
lib/python/OFS/tests/testSimpleItem.py
+50
-4
No files found.
lib/python/OFS/SimpleItem.py
View file @
3bc19628
...
@@ -36,7 +36,6 @@ from DocumentTemplate.html_quote import html_quote
...
@@ -36,7 +36,6 @@ from DocumentTemplate.html_quote import html_quote
from
DocumentTemplate.ustr
import
ustr
from
DocumentTemplate.ustr
import
ustr
from
ExtensionClass
import
Base
from
ExtensionClass
import
Base
from
webdav.Resource
import
Resource
from
webdav.Resource
import
Resource
from
webdav.xmltools
import
escape
as
xml_escape
from
zExceptions
import
Redirect
from
zExceptions
import
Redirect
from
zExceptions.ExceptionFormatter
import
format_exception
from
zExceptions.ExceptionFormatter
import
format_exception
from
zope.interface
import
implements
from
zope.interface
import
implements
...
@@ -235,7 +234,7 @@ class Item(Base, Resource, CopySource, App.Management.Tabs, Traversable,
...
@@ -235,7 +234,7 @@ class Item(Base, Resource, CopySource, App.Management.Tabs, Traversable,
exc_info
=
True
exc_info
=
True
)
)
try
:
try
:
strv
=
str
(
error_value
)
strv
=
repr
(
error_value
)
# quotes tainted strings
except
:
except
:
strv
=
(
'<unprintable %s object>'
%
strv
=
(
'<unprintable %s object>'
%
str
(
type
(
error_value
).
__name__
))
str
(
type
(
error_value
).
__name__
))
...
@@ -245,7 +244,6 @@ class Item(Base, Resource, CopySource, App.Management.Tabs, Traversable,
...
@@ -245,7 +244,6 @@ class Item(Base, Resource, CopySource, App.Management.Tabs, Traversable,
"event log for full details: %s)"
)
%
(
"event log for full details: %s)"
)
%
(
html_quote
(
sys
.
exc_info
()[
1
]),
html_quote
(
sys
.
exc_info
()[
1
]),
))
))
v
=
xml_escape
(
v
)
raise
error_type
,
v
,
tb
raise
error_type
,
v
,
tb
finally
:
finally
:
if
hasattr
(
self
,
'_v_eek'
):
del
self
.
_v_eek
if
hasattr
(
self
,
'_v_eek'
):
del
self
.
_v_eek
...
...
lib/python/OFS/tests/testSimpleItem.py
View file @
3bc19628
...
@@ -3,14 +3,60 @@ import unittest
...
@@ -3,14 +3,60 @@ import unittest
class
TestItem
(
unittest
.
TestCase
):
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
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.interfaces
import
IManageable
from
OFS.SimpleItem
import
Item
from
zope.interface.verify
import
verifyClass
from
zope.interface.verify
import
verifyClass
verifyClass
(
IItem
,
Item
)
verifyClass
(
IManageable
,
self
.
_getTargetClass
())
verifyClass
(
IManageable
,
Item
)
def
test_raise_StandardErrorMessage_str_errorValue
(
self
):
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
=
{
'dummy'
:
''
},
)
except
:
import
sys
self
.
assertEqual
(
sys
.
exc_info
()[
0
],
'OverflowError'
)
value
=
sys
.
exc_info
()[
1
]
self
.
failUnless
(
value
.
startswith
(
"'simple'"
))
self
.
failUnless
(
'full details: testing'
in
value
)
def
test_raise_StandardErrorMessage_TaintedString_errorValue
(
self
):
from
ZPublisher.TaintedString
import
TaintedString
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
=
{
'dummy'
:
''
},
)
except
:
import
sys
self
.
assertEqual
(
sys
.
exc_info
()[
0
],
'OverflowError'
)
value
=
sys
.
exc_info
()[
1
]
self
.
failIf
(
'<'
in
value
)
class
TestItem_w__name__
(
unittest
.
TestCase
):
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