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

$has queries break if test value coerces to/is false #17

Merged
merged 1 commit into from
Oct 29, 2012

Conversation

andrewjshults
Copy link
Contributor

It looks like util.toArray converts false to [] rather than [false], so the Hash.hasIn test fails because the CS version gets converted to if(value) (line 127 of query-engine.coffee, line 91 of query-engine.js). It seems like this should test to see if the value isn't undefined rather than coercible to true, since false, 0, and '' may be valid tests (false is in my case).

I added a test specifically for this and it looks like all the other tests are still passing, but since I'm just getting started with this project wasn't sure if there are any other areas I should poke around to make sure I didn't break anything.

Cheers!
Andrew

@balupton
Copy link
Member

Sweet :) Will merge that now.

One thing to note is that this change will also add support for null in the same way support for false was added. Not sure this is a good idea or not, as null is generally regarded as undefined. So for now, I'll just change the if valueExists checks to if value? to avoid the risk of breaking things. When someone complains, will be happy to change it back to the undefined check :)

@andrewjshults
Copy link
Contributor Author

Makes sense - while I can see the use case for wanting to test to see if an array has a null element, I think that'd be better left as a comment on the $has test (with instructions on how to enable it), since I see it causing more confusion as the default.

balupton added a commit that referenced this pull request Oct 29, 2012
- v1.3.1 October 29, 2012
	- Fixed searching for `false`
		- Thanks to [Andrew Shults](https://github.com/andrewjshults) for
[pull request #17](#17)
@balupton balupton merged commit 0a1e287 into bevry:master Oct 29, 2012
@balupton
Copy link
Member

Sorry for the very long delay on this. Just got published to v1.3.1. Thanks!

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

Successfully merging this pull request may close these issues.

2 participants