"use strict";var t=require("./index.js");const e=new t.Automator;let n,o=!1;try{n=require("jest-environment-node")}catch(t){n=require(require.resolve("jest-environment-node",{paths:[process.cwd()]}))}n&&n.TestEnvironment&&(o=!0,n=n.TestEnvironment);module.exports=class extends n{constructor(t,e){super(o?{projectConfig:t}:t,e),process.env.UNI_AUTOMATOR_CONFIG?this.launchOptions=require(process.env.UNI_AUTOMATOR_CONFIG):this.launchOptions=t.testEnvironmentOptions?t.testEnvironmentOptions:t.projectConfig.testEnvironmentOptions}async setup(){await super.setup();const n=global;if(n.__init__){if(!n.program)throw Error("Program init failed")}else n.__init__=!0,this.launchOptions.platform=this.launchOptions.platform||process.env.UNI_PLATFORM,n.program=await e.launch(this.launchOptions),this.launchOptions.devtools&&this.launchOptions.devtools.remote&&await n.program.remote(!0);this.global.program=n.program,this.global.uni=t.initUni(n.program)}async teardown(){await super.teardown()}};
