<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 9, 2009, at 9:15 PM, Robert O'Callahan wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Fri, Jul 10, 2009 at 3:04 PM, Maciej Stachowiak <span dir="ltr"><<a href="mailto:mjs@apple.com">mjs@apple.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> Robert's code is a bit buggy; canPlayType returns a string, not a boolean, so it will always appear to say yes.</blockquote><div> <br>You're being polite, my code was not "a bit buggy", it was completely broken.<br> <br>I've actually made this mistake several times while writing tests recently, so I should have known better.<br><br>I actually anticipated this problem, and argued strenuously to break canPlayType into two boolean functions, "canPlayType" and "cannotPlayType", but I lost. Hopefully most Web authors are smarter than I am.<br> </div></div></blockquote></div><br><div>I think at one point I suggested that canPlayType should return one of boolean false, true or "maybe", so that naiive boolean tests would work. Or in any case, make the "no" option something that tests as boolean false.</div><div><br></div><div> - Maciej</div><div><br></div></body></html>