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