Skip to content
This repository has been archived by the owner on Aug 3, 2023. It is now read-only.

Commit

Permalink
Remove the fixtures directory (#854)
Browse files Browse the repository at this point in the history
* Empty webpack fixture directories

* Create Fixture struct to kill fixtures dir

* Rename utils mod to fixture mod

* Move cleanup out of preview function
  • Loading branch information
EverlastingBugstopper authored and gabbifish committed Nov 9, 2019
1 parent c3deb57 commit 6a7d66b
Show file tree
Hide file tree
Showing 38 changed files with 444 additions and 407 deletions.
311 changes: 181 additions & 130 deletions tests/build.rs

Large diffs are not rendered by default.

103 changes: 103 additions & 0 deletions tests/fixture/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
use std::env;
use std::fs;
use std::fs::File;
use std::io::prelude::*;
use std::path::PathBuf;
use std::process::Command;
use std::sync::Mutex;

lazy_static! {
static ref BUILD_LOCK: Mutex<u8> = Mutex::new(0);
}

const BUNDLE_OUT: &str = "./worker";

pub struct Fixture {
name: String,
}

impl Fixture {
pub fn new(name: &str) -> Fixture {
let fixture = Fixture {
name: name.to_string(),
};

let dest = fixture.get_path();

if dest.exists() {
fixture.cleanup();
}

fs::create_dir_all(dest.clone()).unwrap();
fixture
}

pub fn scaffold_webpack(&self) {
self.create_default_package_json();
self.create_empty_js();
}

pub fn get_path(&self) -> PathBuf {
let mut dest = env::temp_dir();
dest.push(&self.name);
dest
}

pub fn get_output_path(&self) -> PathBuf {
self.get_path().join(BUNDLE_OUT)
}

pub fn create_file(&self, name: &str, content: &str) {
let file_path = self.get_path().join(name);
let mut file = File::create(file_path).unwrap();
let content = String::from(content);
file.write_all(content.as_bytes()).unwrap();
}

pub fn create_dir(&self, name: &str) {
let dir_path = self.get_path().join(name);
fs::create_dir(dir_path).unwrap();
}

pub fn create_empty_js(&self) {
self.create_file("index.js", "");
}

pub fn create_default_package_json(&self) {
self.create_file(
"package.json",
r#"
{
"main": "index.js"
}
"#,
);
}

pub fn create_wrangler_toml(&self, content: &str) {
let content = &format!(
r#"
name = "test"
workers_dev = true
{}
"#,
content
);
self.create_file("wrangler.toml", content);
}

pub fn cleanup(&self) {
let path = self.get_path();
assert!(path.exists(), format!("{:?} does not exist", path));

// Workaround https://github.com/rust-lang/rust/issues/29497
if cfg!(target_os = "windows") {
let mut command = Command::new("cmd");
command.arg("rmdir");
command.arg("/s");
command.arg(&path);
} else {
fs::remove_dir_all(&path).unwrap();
}
}
}
11 changes: 0 additions & 11 deletions tests/fixtures/simple_js/index.js

This file was deleted.

3 changes: 0 additions & 3 deletions tests/fixtures/simple_js/package.json

This file was deleted.

35 changes: 0 additions & 35 deletions tests/fixtures/simple_rust/Cargo.toml

This file was deleted.

22 changes: 0 additions & 22 deletions tests/fixtures/simple_rust/src/lib.rs

This file was deleted.

17 changes: 0 additions & 17 deletions tests/fixtures/simple_rust/src/utils.rs

This file was deleted.

14 changes: 0 additions & 14 deletions tests/fixtures/simple_rust/worker/worker.js

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_function_config_js/index.js

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_function_config_js/package.json

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_function_promise_config_js/index.js

This file was deleted.

This file was deleted.

Empty file.
3 changes: 0 additions & 3 deletions tests/fixtures/webpack_multiple_config/package.json

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_promise_config_js/index.js

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_promise_config_js/package.json

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_promise_config_js/webpack.config.js

This file was deleted.

11 changes: 0 additions & 11 deletions tests/fixtures/webpack_simple_js/index.js

This file was deleted.

3 changes: 0 additions & 3 deletions tests/fixtures/webpack_simple_js/package.json

This file was deleted.

Empty file.

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_single_js_use_package_main/index.js

This file was deleted.

This file was deleted.

Empty file.
3 changes: 0 additions & 3 deletions tests/fixtures/webpack_specify_config/package.json

This file was deleted.

Empty file.
3 changes: 0 additions & 3 deletions tests/fixtures/webpack_target_node/package.json

This file was deleted.

Empty file.
3 changes: 0 additions & 3 deletions tests/fixtures/webpack_target_web/package.json

This file was deleted.

Empty file.
3 changes: 0 additions & 3 deletions tests/fixtures/webpack_target_webworker/package.json

This file was deleted.

3 changes: 0 additions & 3 deletions tests/fixtures/webpack_wast/index.js

This file was deleted.

1 change: 0 additions & 1 deletion tests/fixtures/webpack_wast/module.wast

This file was deleted.

5 changes: 0 additions & 5 deletions tests/fixtures/webpack_wast/package.json

This file was deleted.

12 changes: 0 additions & 12 deletions tests/fixtures/webpack_wast/webpack.config.js

This file was deleted.

Loading

0 comments on commit 6a7d66b

Please sign in to comment.