From c01a23bcf866138f2eee75b7e4abddf20bf60d17 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sun, 21 May 2023 10:22:46 +0300 Subject: [PATCH] Return `Ok` when disabling builtin functions in `EmptyContext` and enabling builtin functions in `EmptyContextWithBuiltinFunctions`. These are noops anyways. --- src/context/mod.rs | 16 ++++++++++++---- tests/integration.rs | 4 +++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/context/mod.rs b/src/context/mod.rs index 63dc379..041f678 100644 --- a/src/context/mod.rs +++ b/src/context/mod.rs @@ -94,8 +94,12 @@ impl Context for EmptyContext { } /// Builtin functions can't be enabled for `EmptyContext`. - fn set_builtin_functions_disabled(&mut self, _disabled: bool) -> EvalexprResult<()> { - Err(EvalexprError::BuiltinFunctionsCannotBeEnabled) + fn set_builtin_functions_disabled(&mut self, disabled: bool) -> EvalexprResult<()> { + if disabled { + Ok(()) + } else { + Err(EvalexprError::BuiltinFunctionsCannotBeEnabled) + } } } @@ -134,8 +138,12 @@ impl Context for EmptyContextWithBuiltinFunctions { } /// Builtin functions can't be disabled for EmptyContextWithBuiltinFunctions. - fn set_builtin_functions_disabled(&mut self, _disabled: bool) -> EvalexprResult<()> { - Err(EvalexprError::BuiltinFunctionsCannotBeDisabled) + fn set_builtin_functions_disabled(&mut self, disabled: bool) -> EvalexprResult<()> { + if disabled { + Err(EvalexprError::BuiltinFunctionsCannotBeDisabled) + } else { + Ok(()) + } } } diff --git a/tests/integration.rs b/tests/integration.rs index 37158ae..c837fa2 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -1527,6 +1527,7 @@ fn test_empty_context() { "max" ))) ); + assert_eq!(context.set_builtin_functions_disabled(true), Ok(())); assert_eq!( context.set_builtin_functions_disabled(false), Err(EvalexprError::BuiltinFunctionsCannotBeEnabled) @@ -1542,9 +1543,10 @@ fn test_empty_context_with_builtin_functions() { Err(EvalexprError::FunctionIdentifierNotFound("abc".to_owned())) ); assert_eq!(eval_with_context("max(1,3)", &context), Ok(Value::Int(3))); + assert_eq!(context.set_builtin_functions_disabled(false), Ok(())); assert_eq!( context.set_builtin_functions_disabled(true), - Err(EvalexprError::BuiltinFunctionsCannotBeEnabled) + Err(EvalexprError::BuiltinFunctionsCannotBeDisabled) ); }