From f30f160f5d2fdf467ef0bdc39c74e999cd887e4f Mon Sep 17 00:00:00 2001 From: Witold Filipczyk Date: Sat, 18 Dec 2021 17:07:50 +0100 Subject: [PATCH] [quickjs] rewritten matches function --- src/ecmascript/quickjs/element.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ecmascript/quickjs/element.c b/src/ecmascript/quickjs/element.c index 9a36c589..2c8138f5 100644 --- a/src/ecmascript/quickjs/element.c +++ b/src/ecmascript/quickjs/element.c @@ -1484,10 +1484,6 @@ js_element_matches(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst } xmlpp::ustring css = str; xmlpp::ustring xpath = css2xpath(css); - if (xpath[0] == '/' && xpath[1] == '/') - { - xpath = xmlpp::ustring("descendant-or-self::") + xpath.substr(2); - } JS_FreeCString(ctx, str); xmlpp::Node::NodeSet elements; @@ -1498,7 +1494,13 @@ js_element_matches(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst return JS_FALSE; } - return JS_NewBool(ctx, elements.size()); + for (auto node: elements) { + if (node == el) { + return JS_TRUE; + } + } + + return JS_FALSE; }