Are you sure your comment for "DefaultPresentationType" is valid, c.f.
with "LzDataElementMixin#setAttr" where any non-string input produces a
debug-warning (maybe it should just perform implicit string-coercion as
in as3 instead of the warning...).
And I think you shouldn't take the changes in LzDataAttrBind (at least
yet), because all data-classes have this loose distinction between
`null` and `undefined` and if you just change it in one place, it's
likely it could break other things or create an inconsistent state.
And finally, these "memoization comparison" bugs are a general issue we
should fix, even base functions like "setAttribute" (with its magic
third argument) have got this bug. How about creating a task to do some
clean-up in the LFC?
On 1/15/2009 7:40 PM, P T Withington wrote:
Change 20090115-ptw-u by [email protected] on 2009-01-15
07:57:16 EST
in /Users/ptw/OpenLaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: Improve presentation types
Bugs Fixed: LPP-7622 StringPresentationType required
Technical Reviewer: [email protected] (pending)
QA Reviewer: max (pending)
Details:
regression: Revert changes of r10414 that now show up as errors
due to untyped attributes correctly getting databound to
expressions.
presentation-types: Add more tests
LzSprite: Change Debug.write to Debut.error
LzNode: Reinstitute DefaultPresentationType (which is just a
straight pass-through, for backward compatibility). Fix yet
another memoization bug due to using equality rather than
identity.
PresentationTypes: Clean up comments, indentation, whitespace.
Ensure all presentation types have both accept and present methods
(note that static methods are not inherited). Add
DefaultPresentationType for backward compatibility. Rewrite
ExpressionPresentationType to match Adam's 'Laszlo XML DOM Data
Type Strictness - RFC'.
LzDataAttrBind: Remove coercion of undefined to null, fix another
memoization comparison.
Tests:
smokecheck, allcomponents example in debug no longer signals error
Files:
M test/smoke/regression.lzl
M test/smoke/presentation-types.lzl
M WEB-INF/lps/lfc/kernel/swf/LzSprite.as
M WEB-INF/lps/lfc/core/LzNode.lzs
M WEB-INF/lps/lfc/core/PresentationTypes.lzs
M WEB-INF/lps/lfc/data/LzDataAttrBind.lzs
Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/20090115-ptw-u.tar