diff --git a/bower.json b/bower.json index 8d22d56..7ae7ecf 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "nwmatcher", - "version": "1.4.1", + "version": "1.4.2", "homepage": "https://github.com/dperini/nwmatcher", "authors": [ "Diego Perini " diff --git a/build/HEADER b/build/HEADER index 4430107..4415ae9 100644 --- a/build/HEADER +++ b/build/HEADER @@ -1,5 +1,5 @@ /*! - * NWMatcher 1.4.1 - Fast CSS3 Selector Engine + * NWMatcher 1.4.2 - Fast CSS3 Selector Engine * Copyright (C) 2007-2017 Diego Perini * See http://nwbox.com/license */ diff --git a/build/VERSION b/build/VERSION index 347f583..9df886c 100644 --- a/build/VERSION +++ b/build/VERSION @@ -1 +1 @@ -1.4.1 +1.4.2 diff --git a/package.json b/package.json index 7c7be7f..e72bba4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nwmatcher", - "version": "1.4.1", + "version": "1.4.2", "description": "A CSS3-compliant JavaScript selector engine.", "homepage": "http://javascript.nwbox.com/NWMatcher/", "main": "./src/nwmatcher", diff --git a/src/nwmatcher-base.js b/src/nwmatcher-base.js index 9492e3a..f969a66 100644 --- a/src/nwmatcher-base.js +++ b/src/nwmatcher-base.js @@ -5,9 +5,9 @@ * nwmatcher-base.js - A fast CSS selector engine and matcher * * Author: Diego Perini - * Version: 1.4.1 + * Version: 1.4.2 * Created: 20070722 - * Release: 20170610 + * Release: 20170804 * * License: * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE @@ -28,7 +28,7 @@ })(this, function(global) { - var version = 'nwmatcher-1.4.1', + var version = 'nwmatcher-1.4.2', doc = global.document, root = doc.documentElement, diff --git a/src/nwmatcher-noqsa.js b/src/nwmatcher-noqsa.js index f21f4d6..4dd631b 100644 --- a/src/nwmatcher-noqsa.js +++ b/src/nwmatcher-noqsa.js @@ -5,9 +5,9 @@ * nwmatcher-noqsa.js - A fast CSS selector engine and matcher * * Author: Diego Perini - * Version: 1.4.1 + * Version: 1.4.2 * Created: 20070722 - * Release: 20170610 + * Release: 20170804 * * License: * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE @@ -28,7 +28,7 @@ })(this, function(global) { - var version = 'nwmatcher-1.4.1', + var version = 'nwmatcher-1.4.2', doc = global.document, root = doc.documentElement, diff --git a/src/nwmatcher.js b/src/nwmatcher.js index efdf37d..8d9ffa8 100644 --- a/src/nwmatcher.js +++ b/src/nwmatcher.js @@ -5,9 +5,9 @@ * nwmatcher.js - A fast CSS selector engine and matcher * * Author: Diego Perini - * Version: 1.4.1 + * Version: 1.4.2 * Created: 20070722 - * Release: 20170610 + * Release: 20170804 * * License: * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE @@ -28,7 +28,7 @@ })(this, function(global) { - var version = 'nwmatcher-1.4.1', + var version = 'nwmatcher-1.4.2', // processing context & root element doc = global.document, diff --git a/test/css3-compat/css3-compat.js b/test/css3-compat/css3-compat.js index 5a54246..28cdde6 100644 --- a/test/css3-compat/css3-compat.js +++ b/test/css3-compat/css3-compat.js @@ -13,7 +13,7 @@ var CDN = 'http://ajax.googleapis.com/ajax/libs/', engines = { 'querySelectorAll': [ 'document.querySelectorAll(s)', '' ], - 'nwmatcher-1.4.1': [ 'NW.Dom.select(s)', '../../src/nwmatcher-noqsa.js' ] + 'nwmatcher-1.4.2': [ 'NW.Dom.select(s)', '../../src/nwmatcher-noqsa.js' ] // 'base2-2.0alpha1': [ 'base2.dom.querySelectorAll(c,s)', 'lib/base2+dom.js' ], // 'prototype-1.6.1': [ '$$(s)', CDN + 'prototype/1.6.1.0/prototype.js' ], diff --git a/test/ender/ender.js b/test/ender/ender.js index cda6df1..3ef5f6e 100644 --- a/test/ender/ender.js +++ b/test/ender/ender.js @@ -101,9 +101,9 @@ * nwmatcher.js - A fast CSS selector engine and matcher * * Author: Diego Perini - * Version: 1.4.1 + * Version: 1.4.2 * Created: 20070722 - * Release: 20170610 + * Release: 20170804 * * License: * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE @@ -124,7 +124,7 @@ })(this, function(global) { - var version = 'nwmatcher-1.4.1', + var version = 'nwmatcher-1.4.2', // processing context & root element doc = global.document, @@ -1223,30 +1223,28 @@ // E + F (F adiacent sibling of E) else if ((match = selector.match(Patterns.adjacent))) { source = NATIVE_TRAVERSAL_API ? - 'var N' + k + '=e;while(e&&(e=e.previousElementSibling)){' + source + 'break;}e=N' + k + ';' : - 'var N' + k + '=e;while(e&&(e=e.previousSibling)){if(e.nodeName>"@"){' + source + 'break;}}e=N' + k + ';'; + 'var N' + k + '=e;if((e=e.previousElementSibling)){' + source + '}e=N' + k + ';' : + 'var N' + k + '=e;while((e=e.previousSibling)){if(e.nodeType==1){' + source + 'break;}}e=N' + k + ';'; } // *** General sibling combinator // E ~ F (F relative sibling of E) else if ((match = selector.match(Patterns.relative))) { source = NATIVE_TRAVERSAL_API ? - ('var N' + k + '=e;e=e.parentNode.firstElementChild;' + - 'while(e&&e!==N' + k + '){' + source + 'e=e.nextElementSibling;}e=N' + k + ';') : - ('var N' + k + '=e;e=e.parentNode.firstChild;' + - 'while(e&&e!==N' + k + '){if(e.nodeName>"@"){' + source + '}e=e.nextSibling;}e=N' + k + ';'); + 'var N' + k + '=e;while((e=e.previousElementSibling)){' + source + '}e=N' + k + ';' : + 'var N' + k + '=e;while((e=e.previousSibling)){if(e.nodeType==1){' + source + '}}e=N' + k + ';'; } // *** Child combinator // E > F (F children of E) else if ((match = selector.match(Patterns.children))) { - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + 'break;}e=N' + k + ';'; + source = 'var N' + k + '=e;if((e=e.parentNode)&&e.nodeType==1){' + source + '}e=N' + k + ';'; } // *** Descendant combinator // E F (E ancestor of F) else if ((match = selector.match(Patterns.ancestor))) { - source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + '}e=N' + k + ';'; + source = 'var N' + k + '=e;while((e=e.parentNode)&&e.nodeType==1){' + source + '}e=N' + k + ';'; } // *** Structural pseudo-classes