Skip to content

Commit 05034b3

Browse files
committed
tests for Not operation
1 parent 8cd8658 commit 05034b3

File tree

1 file changed

+31
-0
lines changed
  • crates/move-bytecode-verifier/src/type_safety_tests

1 file changed

+31
-0
lines changed

crates/move-bytecode-verifier/src/type_safety_tests/mod.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,3 +431,34 @@ fn test_or_and_too_few_args() {
431431
let _result = type_safety::verify(&module, &fun_context, &mut DummyMeter);
432432
}
433433
}
434+
435+
436+
#[test]
437+
fn test_not_correct_type() {
438+
let code = vec![Bytecode::LdFalse, Bytecode::Not];
439+
let module = make_module(code);
440+
let fun_context = get_fun_context(&module);
441+
let result = type_safety::verify(&module, &fun_context, &mut DummyMeter);
442+
assert!(result.is_ok());
443+
}
444+
445+
#[test]
446+
fn test_not_wrong_type() {
447+
let code = vec![Bytecode::LdU32(42), Bytecode::Not];
448+
let module = make_module(code);
449+
let fun_context = get_fun_context(&module);
450+
let result = type_safety::verify(&module, &fun_context, &mut DummyMeter);
451+
assert_eq!(
452+
result.unwrap_err().major_status(),
453+
StatusCode::BOOLEAN_OP_TYPE_MISMATCH_ERROR
454+
);
455+
}
456+
457+
#[test]
458+
#[should_panic]
459+
fn test_not_no_arg() {
460+
let code = vec![Bytecode::Not];
461+
let module = make_module(code);
462+
let fun_context = get_fun_context(&module);
463+
let _result = type_safety::verify(&module, &fun_context, &mut DummyMeter);
464+
}

0 commit comments

Comments
 (0)