Unit tests #26

paulirish opened this Issue Nov 22, 2010 · 6 comments


None yet
4 participants

jquery-tmpl is in dire need of unit tests.

They should likely use QUnit and be available in this repo.


BorisMoore commented Nov 22, 2010

Yes, that is the plan. We obviously will not move from beta to rtm without first adding unit tests.


jzaefferer commented Dec 29, 2010

A good bunch of tests, salvaged from previous work by borgar and shellscape, is now commited: 6a353f4


jzaefferer commented Dec 30, 2010

Open issues:

  • whitespace handling: disabled most tests that deal with input and output whitespace. Output is currently restricted as I'm using jQuery's text() method to get back at the text from Text nodes. This messes whitespace up to some extend. Considering the plan to seperate template rendering from DOM insertion, I'd say we adapt those tests to work against the plain rendering once in place. That should also fix most tests that cover whitespace within input - with the output mangling, these tests fail for now.
  • There were tests for an empty {{}} tag, with and without whitespace inbetween. The with-whitespace-empty-tag currently fails with a Template not found: " " error message. Which is probably fine.
  • Two tests (line 97 and 98 in tests/core.js) for disallowed operations fail: ${ new Object() } and ${ delete a }, while they are expected to throw a SyntaxError, like all the other disallowed operations
  • I can't currently test any html escaping, as that gets messed up when using the .text() method to extract text from the Text nodes
  • Some tests for comments fail, involving some weird constructs, starting with line 139 in tests/core.js. Not sure if we need to support these.
  • If nested lookups on undefined objects are supposed to fail silently, then thats broken currently.
  • Disallowed operations tests all fail to fail, e.g. having ${ a += 1 }. Dunno if that is supposed to work or fail.
  • {{each}} on object (instead of array) fails with an Unexpected end of input error.
  • There were tests for nesting {{tmpl}} within {{each}} and then using the loops $index within the template. Fails currently, not sure if that is supposed to work.

BorisMoore commented Jan 5, 2011

Thanks for this work and for the detailed status, Jorn.


BorisMoore commented Mar 1, 2011

It has been agreed with the jQuery team that unit tests will be added subsequently to Beta2, since there are quite a few API changes expected for Beta2. Unit tests must be completed before releasing V1.

See also http://bugs.jquery.com/ticket/7595, which has been resolved as a dup of this...


rdworth commented Oct 8, 2011

Thanks for taking the time to submit this issue. Just wanted to let you know this plugin is no longer being actively developed or maintained by the jQuery team. See README for more info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment