Skip to content

Commit 28c2b5a

Browse files
committed
Add tests, address feedback.
1 parent 0d6accb commit 28c2b5a

File tree

5 files changed

+54
-17
lines changed

5 files changed

+54
-17
lines changed

cli/compiler.rs

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,15 @@ mod tests {
275275
maybe_source_map: None,
276276
};
277277

278-
out = compile_sync(ThreadSafeState::mock(), specifier, &referrer, &out)
279-
.unwrap();
278+
out = compile_sync(
279+
ThreadSafeState::mock(vec![
280+
String::from("./deno"),
281+
String::from("hello.js"),
282+
]),
283+
specifier,
284+
&referrer,
285+
&out,
286+
).unwrap();
280287
assert!(
281288
out
282289
.maybe_output_code
@@ -289,8 +296,26 @@ mod tests {
289296
#[test]
290297
fn test_get_compiler_config_no_flag() {
291298
let compiler_type = "typescript";
292-
let state = ThreadSafeState::mock();
299+
let state = ThreadSafeState::mock(vec![
300+
String::from("./deno"),
301+
String::from("hello.js"),
302+
]);
293303
let out = get_compiler_config(&state, compiler_type);
294304
assert_eq!(out, None);
295305
}
306+
307+
#[test]
308+
fn test_bundle_async() {
309+
let state = ThreadSafeState::mock(vec![
310+
String::from("./deno"),
311+
String::from("source.ts"),
312+
String::from("bundle.ts"),
313+
]);
314+
let out = bundle_async(
315+
state,
316+
String::from("file://foo/bar/source.ts"),
317+
String::from("bundle.ts"),
318+
);
319+
assert_eq!(tokio_util::block_on(out), Ok(()));
320+
}
296321
}

cli/flags.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,4 +1052,19 @@ mod tests {
10521052
assert_eq!(subcommand, DenoSubcommand::Run);
10531053
assert_eq!(argv, svec!["deno", "script.ts"]);
10541054
}
1055+
1056+
#[test]
1057+
fn test_flags_from_vec_26() {
1058+
let (flags, subcommand, argv) =
1059+
flags_from_vec(svec!["deno", "bundle", "source.ts", "bundle.js"]);
1060+
assert_eq!(
1061+
flags,
1062+
DenoFlags {
1063+
allow_write: true,
1064+
..DenoFlags::default()
1065+
}
1066+
);
1067+
assert_eq!(subcommand, DenoSubcommand::Bundle);
1068+
assert_eq!(argv, svec!["deno", "source.ts", "bundle.js"])
1069+
}
10551070
}

cli/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,8 @@ fn bundle_command(flags: DenoFlags, argv: Vec<String>) {
263263

264264
let main_module = state.main_module().unwrap();
265265
let main_url = root_specifier_to_url(&main_module).unwrap();
266-
let out_file = state.out_file().unwrap();
266+
assert!(state.argv.len() >= 3);
267+
let out_file = state.argv[2].clone();
267268
debug!(">>>>> bundle_async START");
268269
let bundle_future = bundle_async(state, main_url.to_string(), out_file)
269270
.map_err(|e| {

cli/state.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -270,15 +270,6 @@ impl ThreadSafeState {
270270
}
271271
}
272272

273-
/// Read the out file from argv
274-
pub fn out_file(&self) -> Option<String> {
275-
if self.argv.len() <= 2 {
276-
None
277-
} else {
278-
Some(self.argv[2].clone())
279-
}
280-
}
281-
282273
pub fn mark_compiled(&self, module_id: &str) {
283274
let mut c = self.compiled.lock().unwrap();
284275
c.insert(module_id.to_string());
@@ -320,8 +311,7 @@ impl ThreadSafeState {
320311
}
321312

322313
#[cfg(test)]
323-
pub fn mock() -> ThreadSafeState {
324-
let argv = vec![String::from("./deno"), String::from("hello.js")];
314+
pub fn mock(argv: Vec<String>) -> ThreadSafeState {
325315
ThreadSafeState::new(
326316
flags::DenoFlags::default(),
327317
argv,
@@ -358,5 +348,8 @@ impl ThreadSafeState {
358348
#[test]
359349
fn thread_safe() {
360350
fn f<S: Send + Sync>(_: S) {}
361-
f(ThreadSafeState::mock());
351+
f(ThreadSafeState::mock(vec![
352+
String::from("./deno"),
353+
String::from("hello.js"),
354+
]));
362355
}

cli/worker.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,10 @@ mod tests {
280280
}
281281

282282
fn create_test_worker() -> Worker {
283-
let state = ThreadSafeState::mock();
283+
let state = ThreadSafeState::mock(vec![
284+
String::from("./deno"),
285+
String::from("hello.js"),
286+
]);
284287
let mut worker =
285288
Worker::new("TEST".to_string(), startup_data::deno_isolate_init(), state);
286289
js_check(worker.execute("denoMain()"));

0 commit comments

Comments
 (0)