From 41401804df70f9e2de229a82ba081385377aa186 Mon Sep 17 00:00:00 2001 From: "Glen E. Ivey" Date: Thu, 15 Apr 2010 13:43:44 -0700 Subject: [PATCH 1/3] First cut at eliminating spurious/invalid "delete" operators. See Lighthouse ticket http://envjs.lighthouseapp.com/projects/21590-envjs/tickets/153. --- src/common/urlparse.js | 2 +- src/event/eventtarget.js | 1 - src/parser/domparser.js | 12 ++---------- src/platform/rhino/window.js | 12 ++++-------- src/window/window.js | 2 -- 5 files changed, 7 insertions(+), 22 deletions(-) diff --git a/src/common/urlparse.js b/src/common/urlparse.js index 9177bd9b..0bdaf732 100644 --- a/src/common/urlparse.js +++ b/src/common/urlparse.js @@ -149,7 +149,7 @@ urlparse.urlnormalize = function(url) // remove default port if ((parts.scheme === 'http' && parts.port == 80) || (parts.scheme === 'https' && parts.port == 443)) { - delete parts.port; + parts.port = null; // hostname is already lower case parts.netloc = parts.hostname; } diff --git a/src/event/eventtarget.js b/src/event/eventtarget.js index 19237a33..2afc0369 100644 --- a/src/event/eventtarget.js +++ b/src/event/eventtarget.js @@ -61,7 +61,6 @@ function __removeEventListener__(target, type, fn, phase){ //used to clean all event listeners for a given node //console.log('cleaning all event listeners for node %s %s',target, target.uuid); delete $events[target.uuid]; - $events[target.uuid] = null; return; }else if ( !$events[target.uuid][type] ){ return; diff --git a/src/parser/domparser.js b/src/parser/domparser.js index 96eae0be..5e468059 100644 --- a/src/parser/domparser.js +++ b/src/parser/domparser.js @@ -39,17 +39,13 @@ XMLParser.parseDocument = function(xmlstring, xmldoc, mimetype){ } while(xmldoc.firstChild != null){ - tmpNode = xmldoc.removeChild( xmldoc.firstChild ); - delete tmpNode; + xmldoc.removeChild( xmldoc.firstChild ); } while(parent.firstChild != null){ tmpNode = parent.removeChild( parent.firstChild ); importedNode = xmldoc.importNode( tmpNode, true); xmldoc.appendChild( importedNode ); - delete tmpNode; } - delete tmpdoc, - xmlstring; return xmldoc; }; @@ -111,8 +107,7 @@ HTMLParser.parseFragment = function(htmlstring, element){ parent = tmpdoc.body.childNodes[0]; while(element.firstChild != null){ //zap the elements children so we can import - tmpNode = element.removeChild( element.firstChild ); - delete tmpNode; + element.removeChild( element.firstChild ); } if(tmpdoc.cached){ @@ -126,10 +121,7 @@ HTMLParser.parseFragment = function(htmlstring, element){ tmpNode = parent.removeChild( parent.firstChild ); importedNode = element.importNode( tmpNode, true); element.appendChild( importedNode ); - delete tmpNode; } - delete tmpdoc; - delete htmlstring; } // console.log('finished fragment: %s', element.outerHTML); diff --git a/src/platform/rhino/window.js b/src/platform/rhino/window.js index be4000f2..c72be8f5 100644 --- a/src/platform/rhino/window.js +++ b/src/platform/rhino/window.js @@ -48,14 +48,10 @@ Envjs.loadFrame = function(frame, url){ Envjs.unloadFrame = function(frame){ var all, length, i; try{ - //clean up all the nodes - /*all = frame.contentDocument.all, - length = all.length; - for(i=0;i Date: Sat, 17 Apr 2010 09:49:53 -0700 Subject: [PATCH 2/3] Change to allow recently-added parser tests to get a little farther in browser. They still fail because they depend on the Envjs-specific callback rather than using standard browser events (probably because browser events are currently broken in iframes -- alas.) Someone should revisit these tests once iframe/scoping issues are resolved. --- specs/parser/spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specs/parser/spec.js b/specs/parser/spec.js index 42f411bd..6e72a149 100644 --- a/specs/parser/spec.js +++ b/specs/parser/spec.js @@ -233,7 +233,7 @@ test('HTMLParser.parseDocument / malformed content', function(){ */ test('Image Loading', function(){ var node; - if (!Envjs) { + if ((typeof Envjs == 'undefined') || !Envjs) { Envjs = {}; } @@ -297,7 +297,7 @@ test('Image Loading', function(){ */ test('Link Loading', function(){ var node; - if (!Envjs) { + if ((typeof Envjs == 'undefined') || !Envjs) { Envjs = {}; } From a4edebf915ce287ceb41dc0c5ca4cdd82bee988d Mon Sep 17 00:00:00 2001 From: "Glen E. Ivey" Date: Sat, 17 Apr 2010 10:01:41 -0700 Subject: [PATCH 3/3] Ensure that if a QUnit test fails, ant reports a build failure. --- specs/env.qunit.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specs/env.qunit.js b/specs/env.qunit.js index a05ce8e8..f188f11b 100644 --- a/specs/env.qunit.js +++ b/specs/env.qunit.js @@ -30,6 +30,8 @@ QUnit.done = function( fail, pass){ console.log('\t\tFAILED: ' +fail); console.log('\tCompleted in '+(_endtime-_starttime)+' milliseconds.\n'); } + if (fail > 0) + quit(42); }; QUnit.start = function(){ _start();