use super::super::*;
#[test]
fn rewrite_indexing_syntax_rewrites_conditions_and_assignments() {
let mut statements = vec![
"if t0 get t1 {".to_string(),
"}".to_string(),
"else if t0 has_key t1 {".to_string(),
"}".to_string(),
"while t0 get t1 {".to_string(),
"}".to_string(),
"for (let i = 0; t0 has_key i; i = i + 1) {".to_string(),
"}".to_string(),
"let value = t0 get t1;".to_string(),
"let nested = t0 get t1 get t2;".to_string(),
"set_item(t0, t1, t2);".to_string(),
"// if t0 get t1 {".to_string(),
];
HighLevelEmitter::rewrite_indexing_syntax(&mut statements);
assert_eq!(statements[0], "if t0[t1] {");
assert_eq!(statements[2], "else if has_key(t0, t1) {");
assert_eq!(statements[4], "while t0[t1] {");
assert_eq!(
statements[6],
"for (let i = 0; has_key(t0, i); i = i + 1) {"
);
assert_eq!(statements[8], "let value = t0[t1];");
assert_eq!(statements[9], "let nested = t0[t1[t2]];");
assert_eq!(statements[10], "t0[t1] = t2;");
assert_eq!(statements[11], "// if t0 get t1 {");
}