Can you file a ticket in lighthouse?
On Mon, Dec 21, 2009 at 8:20 PM, Brian Ramsay <[email protected]>wrote:
> I am seeing a strange bug using MooTools' Hash object in Firefox.
>
> Many places in my code use $H(some_obj).each(function(stuff, key)
> { blah; }); and some of them are not working properly in Firefox
> 3.5.6.
>
> In Safari and Chrome everything ran fine, but Firefox would throw
> "TypeError: var key is not a function" on some tests in my unit test
> suite. There were a few places that reliably failed, and another
> couple tests (using the same data as other passing tests) that only
> failed occasionally.
>
> I tracked the problem to the initialize method in Hash. If I edited
> the following code in the MooTools Hash definition
>
> initialize: function(obj){ if ($type(obj) == 'hash') obj =
> $unlink(obj.getClean());
> for (var key in obj) this[key] = obj[key];
> return this;
> }
>
> and removed the 'var' keyword, it all worked and the problem was
> resolved.
>
> Obviously I don't want to rely on a manual change in mootools as that
> would hamper my ability to upgrade, so I ended up replacing a few of
> the calls to $H() that I have in my script with a manual for( var key
> in my_obj) { }
>
> Example:
> var keys = [];
> for(var key in CharacterBase.classes) {
> if(CharacterBase.classes.hasOwnProperty(key)) {
> keys.push(key);
> }
> }
> instead of
> var keys = $H(CharacterBase.classes).getKeys();
>
>
> Does anyone have any idea why this would be happening only in Firefox,
> and why it is seemingly sporadic? The objects I am using are pretty
> straightforward. Any clue what kind of bug in my own code could cause
> this behavior?
>
> Thanks,
> Brian
>