After reading a bit on Selenium, it seems that it can in fact test JS
for errors - how cool :-).
Chris Lewis wrote:
Hello all. I'm working on a component that makes a 'slide show.' It
doesn't accept input as its only every used do display images. I'm
writing it so that users can have total control (if they wish) over
how the images are cycled, how the rotation starts, and what to do at
the end of the cycle. For example:
<div t:type="gc/slideshow" interval="3"
transition="SlideShow.CrossfadeTransition">
<div>one</div>
<div>2</div>
<div>three</div>
<div>4</div>
</div>
At the moment each child div represents what will become a slide (this
will probably be configurable). Obviously the image cycling is
controlled completely on the client side by javascript. The server
side of it includes the needed JS, collects the parameters (interval
and transition), and add a bit of script to instantiate a slideshow
object in JS on the client. This all works quite nicely, and now I
have a question.
The 'transition' parameter is a string. It points to a client-side
function that will handle the transitioning from one slide to the
next. The 'SlideShow.CrossfadeTransition' function uses scriptaculous
Effect.Fade/Appear to do a smooth crossfade from slide to slide. There
is also a pre-packaged 'SlideShow.AbruptTransition', which simply
flips to the next slide with no effect. My question is on the
'transition' parameter. Its nice as a string because its simple -
point it a function and it will call it. However because T5 is
virtually ignorant of JS, specifically of what's available to the
client-side runtime, there is no way to know if the function exists.
Is this a problem? Obviously it makes it untestable, unless the
testing framework actually handles JS errors (I'm not aware of this).
It seems that testing the rendering of the internal Form component
would face the same problem - how does it test if the error rendering
effect works or not (in terms of the JS)?
Thanks for your input!
Sincerely,
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]