From 95827a49c27d17cccf0f908d2e629ee0152abc51 Mon Sep 17 00:00:00 2001 From: "Elijah C. M. Voigt" Date: Wed, 2 Oct 2019 06:35:03 -0700 Subject: [PATCH] Rust tests for `var x` and `let x` default to undefined --- .gitignore | 6 +++++- src/lib/exec.rs | 29 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b7bb3b00d4d..c6fae6041d0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,10 @@ .idea/ *.iml +# Vim +.*.swp +.*.swo + # Build target dist @@ -9,4 +13,4 @@ dist node_modules .DS_Store yarn-error.log -.vscode/settings.json \ No newline at end of file +.vscode/settings.json diff --git a/src/lib/exec.rs b/src/lib/exec.rs index b9b776ecbab..ceb7d9e07e0 100644 --- a/src/lib/exec.rs +++ b/src/lib/exec.rs @@ -630,3 +630,32 @@ impl Interpreter { } } } + +#[cfg(test)] +mod tests { + use crate::exec; + + #[test] + fn empty_let_decl_undefined() { + let scenario = r#" + let a; + a == undefined; + "#; + + let pass = String::from("true"); + + assert_eq!(exec(scenario), pass); + } + + #[test] + fn empty_var_decl_undefined() { + let scenario = r#" + let b; + b == undefined; + "#; + + let pass = String::from("true"); + + assert_eq!(exec(scenario), pass); + } +}