Unit tests are meant to be unitary, that is, every test you setup and clean up whatever they need. This could be events, extra markup, etc.
You shouldn't assume a click bound before the test. -- Ariel Flesler http://flesler.blogspot.com On Oct 19, 12:16 am, "John Teague" <[email protected]> wrote: > yes, commenting out that line did resolve the issue. > > Thanks you. Please let me know if the change is going to committed to the > trunk or if I need to submit a bug report. > > Thanks, > John > > On Sat, Oct 18, 2008 at 4:59 PM, Diego Perini <[email protected]>wrote: > > > > > John, > > it doesn't seem a "ready()" problem, look instead in > > "testrunner.js"...explicitly in the "reset()" method that the "test()" > > function is calling inside a try/catch block. > > > The content of the "#main" container is overwritten by the following > > line of code in the "reset()" method: > > > jQuery("#main").html( _config.fixture ); > > > Even if the "_config.fixture" is an exact clone of the original html, > > events are lost when using the ".html()" method to replace content. > > > I have tested commenting the above line and the event is correctly > > fired, the alert says "hello"... > > > Hope I did understand and explain correctly, > > > -- > > Diego Perini > > > On 18 Ott, 15:46, "John Teague" <[email protected]> wrote: > > > sure, here is the complete test suite. > > > > thanks for helping with this, > > > John > > > > <head><link rel="Stylesheet" href="../Content/css/testsuite.css" > > /><title> > > > > </title></head> > > > <body> > > > > <h1>WebService Tests</h1> > > > <h2 id="banner"></h2> > > > <h2 id="userAgent"></h2> > > > > <ol id="tests"></ol> > > > > <div id="main"> > > > <a id="l2" href="#">Execute Function Test</a> > > > </div> > > > > </body> > > > <script src="/Content/js/jquery.js" type="text/javascript"></script> > > > <script type="text/javascript">/*<![CDATA[*/ > > > $(document).ready(function(){ > > > $('#l2').click(test1); > > > > }); > > > > //]]></script> > > > > <script type="text/javascript" > > > src="../../Content/js/testrunner.js"></script> > > > <script type="text/javascript"> > > > function test1(){ > > > ok(true,"click event"); > > > alert("hello"); > > > return false; > > > } > > > $(document).ready(function(){ > > > > module("when anchor is generated "); > > > test("should create anchor with correct id",function(){ > > > var $a = $('#l2'); > > > ok($a.length === 1); > > > }); > > > > test("should create anchor with correct text",function(){ > > > var $a = $('#l2'); > > > ok($a.text() === 'Execute Function Test'); > > > }); > > > > module("when calling execute function on click") > > > > test("should execute the specified method",function(){ > > > expect(1); > > > var $a = $('#l2').click(); > > > > }); > > > > }); > > > > </script> > > > </html> > > > > On Sat, Oct 18, 2008 at 2:39 AM, Jörn Zaefferer < > > > > [email protected]> wrote: > > > > Could you provide a more complete example? > > > > > Jörn > > > > > On Fri, Oct 17, 2008 at 6:41 PM, john teague <[email protected]> > > wrote: > > > > > > I have a library that generates jquery that I would like to test with > > > > > qUnit, but I'm running into problems. > > > > > > The library generates attaches events during the ready event, but > > > > > events are not being wired up when I have a unit test on the page in > > a > > > > > sepearate ready event. My code looks like this. > > > > > <body> > > > > > <div id="main"> > > > > > <a id="l2" href="#">Execute Function Test</a> > > > > > </div> > > > > > </body> > > > > > --script source tags here > > > > > --this is the generated code > > > > > <script type="text/javascript">/*<![CDATA[*/ > > > > > $(document).ready(function(){ > > > > > $('#l2').click(function(){alert('hello')}); > > > > > > }); > > > > > > //]]></script> > > > > > -- and now the tests > > > > > <script type="text/javascript"> > > > > > $(document).ready(function(){ > > > > > module("when anchor is generated "); > > > > > test("should create anchor with correct > > > > id",function(){ > > > > > var $a = $('#l2'); > > > > > ok($a.length === 1); > > > > > }); > > > > > }); > > > > > </script> > > > > > the click event will not fire for the anchor. > > > > > > Any suggestions? > > > > > > Thanks, > > > > > John > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---
