[Wtr-general] iec update: 2004.xxx.x
Chris Morris
chrismo at clabs.org
Sat Jan 3 02:28:51 EST 2004
Been coding away on the IEC codebase in prep for Austin, while
simultaneously trying to fulfill some of the need for tests on IEC
itself. I just committed some new code -- here's the latest changelog
stuff in progress, though it ain't all necessarily working like I want
it to.
I'm trying to make sure all changes keep IEC backward compatible ... but
we don't have the tests to prove it right at the moment, though I do use
the lib 'in production' for my own personal use. Anyway, as I notify the
lists of these commits, if any of you want to get the latest from cvs
and try it out, please do.
====2004.xxx.x
* ClIEController.form now has optional param to automatically wrap the DOM
form instance in an IEDomFormWrapper instance.
* ClIEController.initialize now takes an options hash to specify, well,
options. Two options at this point: visible and auto_wrap_form. This
method is still backwards compatible -- if you pass in a boolean then
the visible variable is set and all others ignored.
* Big refactoring/improvements in accessing DOM nodes:
* IEDomFormWrapper used to have more funky code for wrapping widgets, now
it's a more flexible plug-in-ish, polymorphing structure, with a
separate subclass to wrap every node type (although only some node types
are supported yet -- see readme.txt). Supporting additional node types
will be much easier to add to the code now.
* There were some limitations because the previous code favored element
nodes instead of all nodes on the form. That's been fixed so that text
nodes are not discriminated against.
* Special code nonsense for ASP.NET labels has been removed, though should
still be supported.
* A new method_missing on ClIEController itself allows very easy access
to DOM nodes (in and out of forms) that have id/name attributes.
[there is still a little screwiness here using this method to talk to
some form inputs].
If the page has a link with an id like so:
<a href='http://clabs.org' id=clabs>cLabs.org</a>
You can simply call:
@iec.clabs
... to click the link.
Buttons with names/ids can be accessed the same way, other node
types, etc.
You can even add your own method_missing to forward calls to your @iec
instance so your test scripts can look something like this:
home
browse
apples
add; add;
checkout
(unfortunately, assigning values to text inputs, for example, doesn't
work with this method_missing approach, because Ruby interprets this:
first_name = 'chris'
as a local variable assignment, and it's never passed to
method_missing. So it has to again be:
@iec.first_name = 'chris')
* WindowsFormWrapper code for use against .NET Windows Forms that have COM
interop enabled has been removed. This code lives in a file called
dotnet.form.rb that's back in the old cLabs scrapware cliecontroller CVS
repository.
--
Chris
http://clabs.org/blogki
http://cministries.org/blogki
-=-=-=-=--=-=-=-=-=-=-
Free solo piano album (mp3)
http://cministries.org/cstudios/blackandwhite.htm
More information about the Wtr-general
mailing list