Spaces:
Sleeping
Sleeping
| ; | |
| /** | |
| * @license | |
| * Copyright 2026 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_assert_1 = __importDefault(require("node:assert")); | |
| const main_js_1 = require("./main.js"); | |
| describe('DefaultProvider', () => { | |
| let provider; | |
| beforeEach(() => { | |
| provider = new main_js_1.DefaultProvider(); | |
| }); | |
| describe('constructor', () => { | |
| it('should create provider with default base URL', () => { | |
| const defaultProvider = new main_js_1.DefaultProvider(); | |
| (0, node_assert_1.default)(defaultProvider instanceof main_js_1.DefaultProvider); | |
| }); | |
| it('should create provider with custom base URL', () => { | |
| const customBaseUrl = 'https://custom.example.com/'; | |
| const customProvider = new main_js_1.DefaultProvider(customBaseUrl); | |
| (0, node_assert_1.default)(customProvider instanceof main_js_1.DefaultProvider); | |
| }); | |
| }); | |
| describe('BrowserProvider interface compliance', () => { | |
| it('should implement supports method', () => { | |
| node_assert_1.default.strictEqual(typeof provider.supports, 'function'); | |
| }); | |
| it('should implement getDownloadUrl method', () => { | |
| node_assert_1.default.strictEqual(typeof provider.getDownloadUrl, 'function'); | |
| }); | |
| it('should implement getExecutablePath method', () => { | |
| node_assert_1.default.strictEqual(typeof provider.getExecutablePath, 'function'); | |
| }); | |
| }); | |
| describe('basic functionality', () => { | |
| it('should handle different browsers', () => { | |
| // Test with a known build ID that should exist | |
| const result = provider.supports({ | |
| browser: main_js_1.Browser.CHROME, | |
| platform: main_js_1.BrowserPlatform.LINUX, | |
| buildId: '120.0.6099.109', | |
| }); | |
| // Chrome for Testing supports all browsers | |
| node_assert_1.default.strictEqual(result, true); | |
| }); | |
| it('should handle different platforms', () => { | |
| const result = provider.supports({ | |
| browser: main_js_1.Browser.CHROME, | |
| platform: main_js_1.BrowserPlatform.MAC, | |
| buildId: '120.0.6099.109', | |
| }); | |
| // Chrome for Testing supports all platforms | |
| node_assert_1.default.strictEqual(result, true); | |
| }); | |
| it('should handle ChromeDriver', () => { | |
| const result = provider.supports({ | |
| browser: main_js_1.Browser.CHROMEDRIVER, | |
| platform: main_js_1.BrowserPlatform.LINUX, | |
| buildId: '120.0.6099.109', | |
| }); | |
| // Chrome for Testing supports all browsers | |
| node_assert_1.default.strictEqual(result, true); | |
| }); | |
| it('should return URL for valid build', () => { | |
| const result = provider.getDownloadUrl({ | |
| browser: main_js_1.Browser.CHROME, | |
| platform: main_js_1.BrowserPlatform.LINUX, | |
| buildId: '120.0.6099.109', | |
| }); | |
| (0, node_assert_1.default)(result instanceof URL); | |
| (0, node_assert_1.default)(result.toString().includes('120.0.6099.109')); | |
| }); | |
| }); | |
| }); | |
| //# sourceMappingURL=DefaultProvider.spec.js.map |