UNPKG

@cloudflare/puppeteer

Version:

Puppeteer fork for Cloudflare Browser Run (formerly Browser Rendering)

54 lines 3.02 kB
"use strict"; /** * @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