(&mut self, browser_version: &str)
| 526 | } |
| 527 | |
| 528 | fn get_browser_binary_path(&mut self, browser_version: &str) -> Result<PathBuf, Error> { |
| 529 | let browser_in_cache = self.get_browser_path_in_cache()?; |
| 530 | if MACOS.is(self.get_os()) { |
| 531 | let macos_app_name = if self.is_beta(browser_version) { |
| 532 | EDGE_BETA_MACOS_APP_NAME |
| 533 | } else if self.is_dev(browser_version) { |
| 534 | EDGE_DEV_MACOS_APP_NAME |
| 535 | } else if self.is_nightly(browser_version) { |
| 536 | EDGE_CANARY_MACOS_APP_NAME |
| 537 | } else { |
| 538 | EDGE_MACOS_APP_NAME |
| 539 | }; |
| 540 | Ok(browser_in_cache.join(macos_app_name)) |
| 541 | } else if WINDOWS.is(self.get_os()) { |
| 542 | // Stable Edge MSI installs to Program Files (x86) for compatibility |
| 543 | // Beta/Dev/Canary MSIs install to Program Files |
| 544 | let (browser_path, program_files_env) = if self.is_unstable(browser_version) { |
| 545 | ( |
| 546 | self.get_browser_path_from_version(browser_version) |
| 547 | .to_string(), |
| 548 | ENV_PROGRAM_FILES, |
| 549 | ) |
| 550 | } else { |
| 551 | ( |
| 552 | format!( |
| 553 | r"Microsoft\Edge\Application\{}\msedge.exe", |
| 554 | self.get_browser_version() |
| 555 | ), |
| 556 | ENV_PROGRAM_FILES_X86, |
| 557 | ) |
| 558 | }; |
| 559 | let env_value = env::var(program_files_env).unwrap_or_default(); |
| 560 | let full_browser_path = Path::new(&env_value).join(&browser_path); |
| 561 | Ok((&path_to_string(&full_browser_path)).into()) |
| 562 | } else { |
| 563 | Ok(browser_in_cache.join(format!( |
| 564 | "{}{}", |
| 565 | EDGE_WINDOWS_AND_LINUX_APP_NAME, |
| 566 | get_binary_extension(self.get_os()) |
| 567 | ))) |
| 568 | } |
| 569 | } |
| 570 | |
| 571 | fn get_browser_url_for_download(&mut self, browser_version: &str) -> Result<String, Error> { |
| 572 | if self.browser_url.is_none() { |
no test coverage detected