1886da342Sopenharmony_ci/* 2886da342Sopenharmony_ci * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 3886da342Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4886da342Sopenharmony_ci * you may not use this file except in compliance with the License. 5886da342Sopenharmony_ci * You may obtain a copy of the License at 6886da342Sopenharmony_ci * 7886da342Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8886da342Sopenharmony_ci * 9886da342Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10886da342Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11886da342Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12886da342Sopenharmony_ci * See the License for the specific language governing permissions and 13886da342Sopenharmony_ci * limitations under the License. 14886da342Sopenharmony_ci */ 15886da342Sopenharmony_ci 16886da342Sopenharmony_ciclass SpecEvent { 17886da342Sopenharmony_ci constructor(attr) { 18886da342Sopenharmony_ci this.id = attr.id; 19886da342Sopenharmony_ci this.coreContext = attr.context; 20886da342Sopenharmony_ci this.eventMonitors = []; 21886da342Sopenharmony_ci } 22886da342Sopenharmony_ci 23886da342Sopenharmony_ci subscribeEvent(service) { 24886da342Sopenharmony_ci this.eventMonitors.push(service); 25886da342Sopenharmony_ci } 26886da342Sopenharmony_ci 27886da342Sopenharmony_ci async specStart() { 28886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 29886da342Sopenharmony_ci await monitor['specStart'](); 30886da342Sopenharmony_ci } 31886da342Sopenharmony_ci } 32886da342Sopenharmony_ci 33886da342Sopenharmony_ci async specDone() { 34886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 35886da342Sopenharmony_ci await monitor['specDone'](); 36886da342Sopenharmony_ci } 37886da342Sopenharmony_ci } 38886da342Sopenharmony_ci} 39886da342Sopenharmony_ci 40886da342Sopenharmony_ciclass SuiteEvent { 41886da342Sopenharmony_ci constructor(attr) { 42886da342Sopenharmony_ci this.id = attr.id; 43886da342Sopenharmony_ci this.suiteContext = attr.coreContext; 44886da342Sopenharmony_ci this.eventMonitors = []; 45886da342Sopenharmony_ci } 46886da342Sopenharmony_ci 47886da342Sopenharmony_ci subscribeEvent(service) { 48886da342Sopenharmony_ci this.eventMonitors.push(service); 49886da342Sopenharmony_ci } 50886da342Sopenharmony_ci 51886da342Sopenharmony_ci async suiteStart() { 52886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 53886da342Sopenharmony_ci await monitor['suiteStart'](); 54886da342Sopenharmony_ci } 55886da342Sopenharmony_ci } 56886da342Sopenharmony_ci 57886da342Sopenharmony_ci async suiteDone() { 58886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 59886da342Sopenharmony_ci await monitor['suiteDone'](); 60886da342Sopenharmony_ci } 61886da342Sopenharmony_ci } 62886da342Sopenharmony_ci} 63886da342Sopenharmony_ci 64886da342Sopenharmony_ciclass TaskEvent { 65886da342Sopenharmony_ci constructor(attr) { 66886da342Sopenharmony_ci this.id = attr.id; 67886da342Sopenharmony_ci this.coreContext = attr.coreContext; 68886da342Sopenharmony_ci this.eventMonitors = []; 69886da342Sopenharmony_ci } 70886da342Sopenharmony_ci 71886da342Sopenharmony_ci subscribeEvent(service) { 72886da342Sopenharmony_ci this.eventMonitors.push(service); 73886da342Sopenharmony_ci } 74886da342Sopenharmony_ci 75886da342Sopenharmony_ci async taskStart() { 76886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 77886da342Sopenharmony_ci await monitor['taskStart'](); 78886da342Sopenharmony_ci } 79886da342Sopenharmony_ci } 80886da342Sopenharmony_ci 81886da342Sopenharmony_ci async taskDone() { 82886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 83886da342Sopenharmony_ci await monitor['taskDone'](); 84886da342Sopenharmony_ci } 85886da342Sopenharmony_ci } 86886da342Sopenharmony_ci 87886da342Sopenharmony_ci incorrectFormat() { 88886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 89886da342Sopenharmony_ci monitor['incorrectFormat'](); 90886da342Sopenharmony_ci } 91886da342Sopenharmony_ci } 92886da342Sopenharmony_ci 93886da342Sopenharmony_ci incorrectTestSuiteFormat() { 94886da342Sopenharmony_ci for (const monitor of this.eventMonitors) { 95886da342Sopenharmony_ci monitor.incorrectTestSuiteFormat(); 96886da342Sopenharmony_ci } 97886da342Sopenharmony_ci } 98886da342Sopenharmony_ci} 99886da342Sopenharmony_ci 100886da342Sopenharmony_ciexport { SpecEvent, TaskEvent, SuiteEvent }; 101