Skip to content

Commit f719b02

Browse files
committed
[rust] Move browser and driver names to each specific module
1 parent cebf542 commit f719b02

File tree

7 files changed

+55
-61
lines changed

7 files changed

+55
-61
lines changed

rust/src/chrome.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ use crate::{
3535
FALLBACK_RETRIES, NIGHTLY, REG_QUERY, STABLE, WMIC_COMMAND, WMIC_COMMAND_ENV,
3636
};
3737

38-
const BROWSER_NAME: &str = "chrome";
39-
const DRIVER_NAME: &str = "chromedriver";
38+
pub const CHROME_NAMES: &[&str] = &["chrome"];
39+
pub const CHROMEDRIVER_NAME: &str = "chromedriver";
4040
const DRIVER_URL: &str = "https://chromedriver.storage.googleapis.com/";
4141
const LATEST_RELEASE: &str = "LATEST_RELEASE";
4242

@@ -51,8 +51,8 @@ pub struct ChromeManager {
5151
impl ChromeManager {
5252
pub fn new() -> Box<Self> {
5353
Box::new(ChromeManager {
54-
browser_name: BROWSER_NAME,
55-
driver_name: DRIVER_NAME,
54+
browser_name: CHROME_NAMES[0],
55+
driver_name: CHROMEDRIVER_NAME,
5656
config: ManagerConfig::default(),
5757
http_client: create_default_http_client(),
5858
log: Logger::default(),

rust/src/edge.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ use crate::{
3434
REG_QUERY, STABLE, WMIC_COMMAND, WMIC_COMMAND_ENV,
3535
};
3636

37-
const BROWSER_NAME: &str = "edge";
38-
const DRIVER_NAME: &str = "msedgedriver";
37+
pub const EDGE_NAME: &[&str] = &["edge", "msedge", "microsoftedge"];
38+
pub const EDGEDRIVER_NAME: &str = "msedgedriver";
3939
const DRIVER_URL: &str = "https://msedgedriver.azureedge.net/";
4040
const LATEST_STABLE: &str = "LATEST_STABLE";
4141
const LATEST_RELEASE: &str = "LATEST_RELEASE";
@@ -51,8 +51,8 @@ pub struct EdgeManager {
5151
impl EdgeManager {
5252
pub fn new() -> Box<Self> {
5353
Box::new(EdgeManager {
54-
browser_name: BROWSER_NAME,
55-
driver_name: DRIVER_NAME,
54+
browser_name: EDGE_NAME[0],
55+
driver_name: EDGEDRIVER_NAME,
5656
config: ManagerConfig::default(),
5757
http_client: create_default_http_client(),
5858
log: Logger::default(),

rust/src/firefox.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ use crate::{
3434
WMIC_COMMAND_ENV,
3535
};
3636

37-
const BROWSER_NAME: &str = "firefox";
38-
const DRIVER_NAME: &str = "geckodriver";
37+
pub const FIREFOX_NAME: &[&str] = &["firefox"];
38+
pub const GECKODRIVER_NAME: &str = "geckodriver";
3939
const DRIVER_URL: &str = "https://github.com/mozilla/geckodriver/releases/";
4040
const LATEST_RELEASE: &str = "latest";
4141

@@ -50,8 +50,8 @@ pub struct FirefoxManager {
5050
impl FirefoxManager {
5151
pub fn new() -> Box<Self> {
5252
Box::new(FirefoxManager {
53-
browser_name: BROWSER_NAME,
54-
driver_name: DRIVER_NAME,
53+
browser_name: FIREFOX_NAME[0],
54+
driver_name: GECKODRIVER_NAME,
5555
config: ManagerConfig::default(),
5656
http_client: create_default_http_client(),
5757
log: Logger::default(),

rust/src/iexplorer.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,14 @@ use crate::metadata::{
3030
create_driver_metadata, get_driver_version_from_metadata, get_metadata, write_metadata,
3131
};
3232

33-
const BROWSER_NAME: &str = "iexplorer";
34-
const DRIVER_NAME: &str = "IEDriverServer";
33+
pub const IE_NAME: &[&str] = &[
34+
"iexplorer",
35+
"ie",
36+
"internetexplorer",
37+
"internet-explorer",
38+
"internet_explorer",
39+
];
40+
pub const IEDRIVER_NAME: &str = "IEDriverServer";
3541
const DRIVER_URL: &str = "https://github.com/SeleniumHQ/selenium/releases/";
3642
const LATEST_RELEASE: &str = "latest";
3743

@@ -46,8 +52,8 @@ pub struct IExplorerManager {
4652
impl IExplorerManager {
4753
pub fn new() -> Box<Self> {
4854
Box::new(IExplorerManager {
49-
browser_name: BROWSER_NAME,
50-
driver_name: DRIVER_NAME,
55+
browser_name: IE_NAME[0],
56+
driver_name: IEDRIVER_NAME,
5157
config: ManagerConfig::default(),
5258
http_client: create_default_http_client(),
5359
log: Logger::default(),

rust/src/lib.rs

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use crate::chrome::ChromeManager;
19-
use crate::edge::EdgeManager;
18+
use crate::chrome::{ChromeManager, CHROMEDRIVER_NAME, CHROME_NAMES};
19+
use crate::edge::{EdgeManager, EDGEDRIVER_NAME, EDGE_NAME};
2020
use crate::files::compose_cache_folder;
21-
use crate::firefox::FirefoxManager;
22-
use crate::iexplorer::IExplorerManager;
23-
use crate::safari::{SafariManager, SAFARI};
21+
use crate::firefox::{FirefoxManager, FIREFOX_NAME, GECKODRIVER_NAME};
22+
use crate::iexplorer::{IExplorerManager, IEDRIVER_NAME, IE_NAME};
23+
use crate::safari::{SafariManager, SAFARIDRIVER_NAME, SAFARI_NAME};
2424
use std::fs;
2525

2626
use crate::config::OS::WINDOWS;
@@ -38,7 +38,7 @@ use crate::logger::Logger;
3838
use crate::metadata::{
3939
create_browser_metadata, get_browser_version_from_metadata, get_metadata, write_metadata,
4040
};
41-
use crate::safaritp::SafariTPManager;
41+
use crate::safaritp::{SafariTPManager, SAFARITP_NAME};
4242

4343
pub mod chrome;
4444
pub mod config;
@@ -257,7 +257,7 @@ pub trait SeleniumManager {
257257
}
258258

259259
fn is_safari(&self) -> bool {
260-
self.get_browser_name().contains(SAFARI)
260+
self.get_browser_name().contains(SAFARI_NAME[0])
261261
}
262262

263263
fn is_browser_version_unstable(&self) -> bool {
@@ -435,48 +435,33 @@ pub trait SeleniumManager {
435435

436436
pub fn get_manager_by_browser(browser_name: String) -> Result<Box<dyn SeleniumManager>, String> {
437437
let browser_name_lower_case = browser_name.to_ascii_lowercase();
438-
if browser_name_lower_case.eq("chrome") {
438+
if CHROME_NAMES.contains(&browser_name_lower_case.as_str()) {
439439
Ok(ChromeManager::new())
440-
} else if browser_name.eq("firefox") {
440+
} else if FIREFOX_NAME.contains(&browser_name_lower_case.as_str()) {
441441
Ok(FirefoxManager::new())
442-
} else if vec!["edge", "msedge", "microsoftedge"].contains(&browser_name_lower_case.as_str()) {
442+
} else if EDGE_NAME.contains(&browser_name_lower_case.as_str()) {
443443
Ok(EdgeManager::new())
444-
} else if vec![
445-
"iexplorer",
446-
"ie",
447-
"internetexplorer",
448-
"internet-explorer",
449-
"internet_explorer",
450-
]
451-
.contains(&browser_name_lower_case.as_str())
452-
{
444+
} else if IE_NAME.contains(&browser_name_lower_case.as_str()) {
453445
Ok(IExplorerManager::new())
454-
} else if browser_name.eq("safari") {
446+
} else if SAFARI_NAME.contains(&browser_name_lower_case.as_str()) {
455447
Ok(SafariManager::new())
456-
} else if vec![
457-
"safari technology preview",
458-
r#"safari\ technology\ preview"#,
459-
"safaritechnologypreview",
460-
"safaritp",
461-
]
462-
.contains(&browser_name_lower_case.as_str())
463-
{
448+
} else if SAFARITP_NAME.contains(&browser_name_lower_case.as_str()) {
464449
Ok(SafariTPManager::new())
465450
} else {
466451
Err(format!("Invalid browser name: {browser_name}"))
467452
}
468453
}
469454

470455
pub fn get_manager_by_driver(driver_name: String) -> Result<Box<dyn SeleniumManager>, String> {
471-
if driver_name.eq_ignore_ascii_case("chromedriver") {
456+
if driver_name.eq_ignore_ascii_case(CHROMEDRIVER_NAME) {
472457
Ok(ChromeManager::new())
473-
} else if driver_name.eq_ignore_ascii_case("geckodriver") {
458+
} else if driver_name.eq_ignore_ascii_case(GECKODRIVER_NAME) {
474459
Ok(FirefoxManager::new())
475-
} else if driver_name.eq_ignore_ascii_case("msedgedriver") {
460+
} else if driver_name.eq_ignore_ascii_case(EDGEDRIVER_NAME) {
476461
Ok(EdgeManager::new())
477-
} else if driver_name.eq_ignore_ascii_case("iedriverserver") {
462+
} else if driver_name.eq_ignore_ascii_case(IEDRIVER_NAME) {
478463
Ok(IExplorerManager::new())
479-
} else if driver_name.eq_ignore_ascii_case("safaridriver") {
464+
} else if driver_name.eq_ignore_ascii_case(SAFARIDRIVER_NAME) {
480465
Ok(SafariManager::new())
481466
} else {
482467
Err(format!("Invalid driver name: {driver_name}"))

rust/src/safari.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ use crate::files::BrowserPath;
2626

2727
use crate::config::OS::MACOS;
2828
use crate::{
29-
create_default_http_client, format_one_arg, Logger, SeleniumManager, PLIST_COMMAND,
30-
STABLE,
29+
create_default_http_client, format_one_arg, Logger, SeleniumManager, PLIST_COMMAND, STABLE,
3130
};
3231

33-
pub const SAFARI: &str = "safari";
34-
const DRIVER_NAME: &str = "safaridriver";
32+
pub const SAFARI_NAME: &[&str] = &["safari"];
33+
pub const SAFARIDRIVER_NAME: &str = "safaridriver";
3534

3635
pub struct SafariManager {
3736
pub browser_name: &'static str,
@@ -44,8 +43,8 @@ pub struct SafariManager {
4443
impl SafariManager {
4544
pub fn new() -> Box<Self> {
4645
Box::new(SafariManager {
47-
browser_name: SAFARI,
48-
driver_name: DRIVER_NAME,
46+
browser_name: SAFARI_NAME[0],
47+
driver_name: SAFARIDRIVER_NAME,
4948
config: ManagerConfig::default(),
5049
http_client: create_default_http_client(),
5150
log: Logger::default(),

rust/src/safaritp.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,16 @@ use crate::files::BrowserPath;
2626

2727
use crate::config::OS::MACOS;
2828
use crate::{
29-
create_default_http_client, format_one_arg, Logger, SeleniumManager, PLIST_COMMAND,
30-
STABLE,
29+
create_default_http_client, format_one_arg, Logger, SeleniumManager, PLIST_COMMAND, STABLE,
3130
};
3231

33-
const BROWSER_NAME: &str = "safaritp";
34-
const DRIVER_NAME: &str = "safaridriver";
32+
pub const SAFARITP_NAME: &[&str] = &[
33+
"safaritp",
34+
"safari technology preview",
35+
r#"safari\ technology\ preview"#,
36+
"safaritechnologypreview",
37+
];
38+
pub const SAFARITPDRIVER_NAME: &str = "safaridriver";
3539

3640
pub struct SafariTPManager {
3741
pub browser_name: &'static str,
@@ -44,8 +48,8 @@ pub struct SafariTPManager {
4448
impl SafariTPManager {
4549
pub fn new() -> Box<Self> {
4650
Box::new(SafariTPManager {
47-
browser_name: BROWSER_NAME,
48-
driver_name: DRIVER_NAME,
51+
browser_name: SAFARITP_NAME[0],
52+
driver_name: SAFARITPDRIVER_NAME,
4953
config: ManagerConfig::default(),
5054
http_client: create_default_http_client(),
5155
log: Logger::default(),

0 commit comments

Comments
 (0)