webdriver-install 0.3.2

Fast and simple webdriver installation
Documentation
use tempfile::tempdir;
use webdriver_install::Driver;

#[cfg(any(target_os = "linux", target_os = "macos"))]
use std::process::Command;

#[cfg(any(target_os = "linux", target_os = "macos"))]
#[test]
fn chromedriver_install_test() {
    let target_dir = tempdir().unwrap();
    let executable_path = target_dir.path().join("chromedriver");
    Driver::Chrome.install_into(target_dir.into_path()).unwrap();

    let output = Command::new(executable_path)
        .arg("--version")
        .output()
        .unwrap();
    assert!(output.status.success());
}

#[cfg(any(target_os = "linux", target_os = "macos"))]
#[test]
fn geckodriver_install_test() {
    let target_dir = tempdir().unwrap();
    let executable_path = target_dir.path().join("geckodriver");
    Driver::Gecko.install_into(target_dir.into_path()).unwrap();

    let output = Command::new(executable_path)
        .arg("--version")
        .output()
        .unwrap();
    assert!(output.status.success());
}

#[cfg(target_os = "windows")]
#[test]
fn chromedriver_install_test_win() {
    let target_dir = tempdir().unwrap();
    let target_dir = target_dir.path();
    let executable_path = target_dir.join("chromedriver.exe");

    assert!(!executable_path.exists());
    Driver::Chrome
        .install_into(target_dir.to_path_buf())
        .unwrap();
    assert!(executable_path.exists());
}

#[cfg(target_os = "windows")]
#[test]
fn geckodriver_install_test_win() {
    let target_dir = tempdir().unwrap();
    let executable_path = target_dir.path().join("geckodriver.exe");

    assert!(!executable_path.exists());
    Driver::Gecko.install_into(target_dir.into_path()).unwrap();
    assert!(executable_path.exists());
}