Official MooTools bug reports go here: http://mootools.lighthouseapp.com/
On Mar 19, 6:08 am, electronbender <[email protected]> wrote: > I was complaining about this a few weeks ago. > IE7 has a thing for it, Aaron, newton, can you guys take a look at > this? > > On Mar 17, 10:34 pm, Leeb <[email protected]> wrote: > > > I put the code in the following link > > >http://paste.mootools.net/f7e54d48f > > > I didn't tested it with diffrent browsers other then (ie7 and firefox > > 3) > > > On Mar 16, 2:25 pm, Leeb <[email protected]> wrote: > > > > I have been testing this bug both on IE7 and Firefox 3 > > > > short description: > > > when creating an array and intilizing elements with not consecutive > > > index > > > the $each() function will not iterate over the array as expected, for > > > me its returned > > > some undefiend. > > > while in firefox its work as expected. > > > > currently to solve the problem I use the Hash.each to get it work on > > > both browsers > > > > more to note that firefox, work both with Hash.each and Array.each > > > with the same result > > > > -------------------------------------- > > > here is a small unit test i created > > > > ------ > > > function TEST_0001(){ > > > /* > > > Test Description > > > Create an Array > > > Assign element with "random" indexs > > > Iterate over the Elements using $each > > > */ > > > myTest = Array(); > > > myTest[1] = 'I '; > > > myTest[4] = 'In '; > > > myTest[7] = 'Order '; > > > myTest[5] = 'The Right '; > > > myTest[2] = 'Am '; > > > > result = ""; > > > $each(myTest,function(t,i){ > > > //alert(i + ' : ' + t); > > > result += t ; > > > > }.bind(result)); > > > > if (result == 'I Am In The Right Order '){ > > > return true; > > > } else { > > > return false; > > > } > > > > } > > > > function TEST_0002(){ > > > /* > > > Test Description > > > Create an Array > > > Assign element with "random" indexs > > > Iterate over the Elements using Array.each > > > > */ > > > myTest = Array(); > > > myTest[1] = 'I '; > > > myTest[4] = 'In '; > > > myTest[7] = 'Order '; > > > myTest[5] = 'The Right '; > > > myTest[2] = 'Am '; > > > > result = ""; > > > Array.each(myTest,function(t,i){ > > > //alert(i + ' : ' + t); > > > result += t ; > > > > }.bind(result)); > > > > if (result == 'I Am In The Right Order '){ > > > return true; > > > } else { > > > return false; > > > } > > > > } > > > > function TEST_0003(){ > > > /* > > > Test Description > > > Create an Array > > > Assign element with "random" indexs > > > Iterate over the Elements using Hash.each > > > > both firefox and IE will pass this test > > > the only diffrent is that firefox will sort the element by index order > > > while IE will iterate over the element in the same order they > > > "assigned" > > > > */ > > > myTest = Array(); > > > myTest[1] = 'I '; > > > myTest[4] = 'In '; > > > myTest[7] = 'Order '; > > > myTest[5] = 'The Right '; > > > myTest[2] = 'Am '; > > > > result = ""; > > > Hash.each(myTest,function(t,i){ > > > //alert(i + ' : ' + t); > > > result += t ;}.bind(result)); > > > > alert(result); > > > if (result == 'I Am In The Right Order ' || result == 'I In Order The > > > Right Am '){ //the order is less importent > > > return true; > > > } else { > > > return false; > > > } > > > > } > > > > alert(TEST_0001.run()?'passed':'failed'); //$each > > > alert(TEST_0002.run()?'passed':'failed'); //Array.each > > > alert(TEST_0003.run()?'passed':'failed'); //Hash.each
