@cloudflare/puppeteer
Version:
Puppeteer fork for Cloudflare Browser Run (formerly Browser Rendering)
54 lines • 3.02 kB
JavaScript
;
/**
* @license
* Copyright 2024 Google Inc.
* SPDX-License-Identifier: Apache-2.0
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const node_test_1 = require("node:test");
const expect_1 = __importDefault(require("expect"));
const PSelectorParser_js_1 = require("./PSelectorParser.js");
(0, node_test_1.describe)('PSelectorParser', () => {
(0, node_test_1.describe)('parsePSelectors', () => {
(0, node_test_1.it)('parses nested selectors', () => {
const [updatedSelector, isPureCSS, hasPseudoClasses] = (0, PSelectorParser_js_1.parsePSelectors)('& > div');
(0, expect_1.default)(updatedSelector).toEqual([[['&>div']]]);
(0, expect_1.default)(isPureCSS).toBeTruthy();
(0, expect_1.default)(hasPseudoClasses).toBeFalsy();
});
(0, node_test_1.it)('parses nested selectors with p-selector syntax', () => {
const [updatedSelector, isPureCSS, hasPseudoClasses] = (0, PSelectorParser_js_1.parsePSelectors)('& > div >>> button');
(0, expect_1.default)(updatedSelector).toEqual([[['&>div'], '>>>', ['button']]]);
(0, expect_1.default)(isPureCSS).toBeFalsy();
(0, expect_1.default)(hasPseudoClasses).toBeFalsy();
});
(0, node_test_1.it)('parses selectors with pseudo classes', () => {
const [updatedSelector, isPureCSS, hasPseudoClasses] = (0, PSelectorParser_js_1.parsePSelectors)('div:focus');
(0, expect_1.default)(updatedSelector).toEqual([[['div:focus']]]);
(0, expect_1.default)(isPureCSS).toBeTruthy();
(0, expect_1.default)(hasPseudoClasses).toBeTruthy();
});
(0, node_test_1.it)('parses nested selectors with pseudo classes and p-selector syntax', () => {
const [updatedSelector, isPureCSS, hasPseudoClasses] = (0, PSelectorParser_js_1.parsePSelectors)('& > div:focus >>>> button:focus');
(0, expect_1.default)(updatedSelector).toEqual([
[['&>div:focus'], '>>>>', ['button:focus']],
]);
(0, expect_1.default)(isPureCSS).toBeFalsy();
(0, expect_1.default)(hasPseudoClasses).toBeTruthy();
});
(0, node_test_1.describe)('hasAria', () => {
(0, node_test_1.it)('returns false if no aria query is present', () => {
const [, , , hasAria] = (0, PSelectorParser_js_1.parsePSelectors)('div:focus');
(0, expect_1.default)(hasAria).toEqual(false);
});
(0, node_test_1.it)('returns true if an aria query is present', () => {
const [, , , hasAria] = (0, PSelectorParser_js_1.parsePSelectors)('div:focus >>> ::-p-aria(Text)');
(0, expect_1.default)(hasAria).toEqual(true);
});
});
});
});
//# sourceMappingURL=PSelectorParser.test.js.map