E&S CVS Commit: PEAK - "You are in a maze of twisty events, all different." Added more tests for

pje at eby-sarna.com pje at eby-sarna.com
Wed Apr 30 07:44:01 EDT 2003

Module Name:	PEAK
Committed By:	pje
Date:		Wed Apr 30 11:43:05 UTC 2003

Modified Files:
	PEAK/src/peak/binding: components.py
	PEAK/src/peak/binding/tests: __init__.py

Log Message:
"You are in a maze of twisty events, all different."  Added more tests for
"assembly events", and fixed some very twisty bugs.  Setting parents,
keyword arguments, suggesting parent components, requesting and initiating
assembly notifications all must take place in a very specific order, to
prevent objects seeing other objects in an unitialized state or otherwise
creating circularity.

Specifically, attributes must be set first, then children told about their
parents, and finally the component can set its own parent.  This means that
keyword arguments should never have their 'uponAssembly()' event called
before they are attached to their parent, and the parent is attached to
its parent.  Previously, this condition could be false.

Also, components that only got suggested parents, weren't registering for
assembly events.  Anyway, I can't think of anything else to test for on
this, so I guess assembly events are done for the time being.

To view diffs of this commit, you can use the following URL(s):

To generate a diff of this commit:
cvs rdiff -r1.97 -r1.98 PEAK/src/peak/binding/components.py
cvs rdiff -r1.28 -r1.29 PEAK/src/peak/binding/tests/__init__.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

More information about the source-changes mailing list