Skip to content

Commit

Permalink
Add fetch_remote_source tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinkassimo committed Dec 7, 2018
1 parent d591ae3 commit 612e5d5
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions src/deno_dir.rs
Original file line number Diff line number Diff line change
Expand Up @@ -502,6 +502,56 @@ macro_rules! add_root {
};
}

#[test]
fn test_fetch_remote_source_1() {
use tokio_util;
// http_util::fetch_sync_string requires tokio
tokio_util::init(|| {
let (_temp_dir, deno_dir) = test_setup();
let module_name = "https://localhost:4545/tests/subdir/mt_video_mp2t.t3.ts";
let filename = deno_fs::normalize_path(
deno_dir
.deps_http
.join("localhost_PORT4545/tests/subdir/mt_video_mp2t.t3.ts")
.as_ref(),
);
let mime_file_name = format!("{}.mime", &filename);

let result = deno_dir.fetch_remote_source(module_name, &filename);
assert!(result.is_ok());
let r = result.unwrap();
assert_eq!(&(r.0), "export const loaded = true;\n");
assert_eq!(&(r.1), &msg::MediaType::TypeScript);
assert_eq!(fs::read_to_string(&mime_file_name).unwrap(), "video/mp2t");

// Modify .mime, make sure still read from local
let _ = fs::write(&mime_file_name, "text/javascript");
let result2 = deno_dir.fetch_remote_source(module_name, &filename);
assert!(result2.is_ok());
let r2 = result2.unwrap();
assert_eq!(&(r2.0), "export const loaded = true;\n");
// Not MediaType::TypeScript due to .mime modification
assert_eq!(&(r2.1), &msg::MediaType::JavaScript);
});
}

#[test]
fn test_fetch_remote_source_2() {
// only local, no http_util::fetch_sync_string called
let (_temp_dir, deno_dir) = test_setup();
let cwd = std::env::current_dir().unwrap();
let cwd_string = cwd.to_str().unwrap();
let module_name = "https://example.com/mt_text_typescript.t1.ts"; // not used
let filename =
format!("{}/tests/subdir/mt_text_typescript.t1.ts", &cwd_string);

let result = deno_dir.fetch_remote_source(module_name, &filename);
assert!(result.is_ok());
let r = result.unwrap();
assert_eq!(&(r.0), "export const loaded = true;\n");
assert_eq!(&(r.1), &msg::MediaType::TypeScript);
}

#[test]
fn test_code_fetch() {
let (_temp_dir, deno_dir) = test_setup();
Expand Down

0 comments on commit 612e5d5

Please sign in to comment.