UNPKG

@redhat-developer/page-objects

Version:

Page Object API implementation for a VS Code editor used by ExTester framework.

101 lines 4.22 kB
"use strict"; /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License", destination); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ExtensionEditorView = void 0; const __1 = require("../.."); class ExtensionEditorView extends __1.Editor { constructor(view = new __1.EditorView()) { super(view, ExtensionEditorView.locators.ExtensionEditorView.constructor); } /** * Get name of extension. * @returns Promise resolving name of extension. */ async getName() { const name = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.name); return await name?.getText(); } /** * Get version of extension. * @returns Promise resolving version of extension. * @deprecated It is no more actual for VS Code 1.96+. Version can accessed using ExtensionEditorDetailsSection. */ async getVersion() { const name = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.version); return await name?.getText(); } /** * Get publisher of extension. * @returns Promise resolving publisher of extension. */ async getPublisher() { const name = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.publisher); return await name?.getText(); } /** * Get description of extension. * @returns Promise description name of opened extension. */ async getDescription() { const name = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.description); return await name?.getText(); } /** * Get count of extension. * @returns Promise resolving count of opened extension. */ async getCount() { const count = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.count); return await count?.getText(); } /** * Get available tabs. * @returns Promise resolving tabs of opened extension. */ async getTabs() { const tabs = []; const navbar = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.navbar); const els = await navbar.findElements(ExtensionEditorView.locators.ExtensionEditorView.tab); for (const element of els) { tabs.push(await element.getText()); } return tabs; } /** * Switch to different tab. * @param tabName Name of required tab to be switched on. * @returns Promise resolving to true if tabs were switched successfully, false otherwise. */ async switchToTab(tabName) { const navbar = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.navbar); const requiredTab = await navbar.findElement(ExtensionEditorView.locators.ExtensionEditorView.specificTab(tabName)); await requiredTab.click(); return (await this.getActiveTab()).toLowerCase() === tabName.toLowerCase(); } /** * Get name of opened tab. * @returns Promise resolving name of opened tab. */ async getActiveTab() { const navbar = await this.findElement(ExtensionEditorView.locators.ExtensionEditorView.navbar); const features = await navbar.findElement(ExtensionEditorView.locators.ExtensionEditorView.activeTab); return await features.getText(); } } exports.ExtensionEditorView = ExtensionEditorView; //# sourceMappingURL=ExtensionEditorView.js.map