Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unit tests #26

Open
paulirish opened this issue Nov 22, 2010 · 6 comments
Open

Unit tests #26

paulirish opened this issue Nov 22, 2010 · 6 comments

Comments

@paulirish
Copy link

jquery-tmpl is in dire need of unit tests.

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

@BorisMoore
Copy link
Owner

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

@jzaefferer
Copy link
Contributor

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

@jzaefferer
Copy link
Contributor

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
Copy link
Owner

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

@BorisMoore
Copy link
Owner

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
Copy link
Contributor

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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants