On Thu, 19 Jul 2007 22:24:14 +0200, David Håsäther <[EMAIL PROTECTED]> wrote:

One of the steps for the send() method[3] says:
| Use the stringification mechanisms of the host language on data and treat
  | the result as if data is a DOMString.
 What should happen if toString() is overridden? E.g.:
   Number.prototype.toString = function() { return (this*2)+''; };
  ...
  request.send(1);
Should '1' or '2' be sent? I tested this in Opera 9.2 and Firefox 2. Opera doesn't seem to post anything when the parameter is a number. Firefox sends '1'.

The output of the custom toString() should be used if toString is overridden.

However, your test isn't testing the scenario you want to test because stringification of a number literal does not use Number.prototype.toString(). Say

request.send(new Number(1));

for example.

Opera not sending anything looks like a bug, I'll file it.

--
Hallvord R. M. Steen
Core QA JavaScript tester, Opera Software
http://www.opera.com/
Opera - simply the best Internet experience

Reply via email to