public void Basic() { var resolver = new JavaScriptCodeResolver(Options.Create(new JavascriptCodeResolverOptions())); var result = (bool)resolver.Resolve(typeof(bool), " userId != null ", new Dictionary <string, object> { { "userId", "aa" } }); Assert.True(result); result = (bool)resolver.Resolve(typeof(bool), " userId == null ", new Dictionary <string, object> { { "userId", null } }); Assert.True(result); result = (bool)resolver.Resolve(typeof(bool), " userId == null ", new Dictionary <string, object> { { "userId", "" } }); Assert.False(result); }
public void ReplaceOperator() { var resolver = new JavaScriptCodeResolver(Options.Create(new JavascriptCodeResolverOptions { })); var code = " userId != null and userId == 'aa' "; var result = (bool)resolver.Resolve(typeof(bool), code, new Dictionary <string, object> { { "userId", "aa" } }); Assert.True(result); code = " userId == null or userId != 'aa' or userId == \" \\\" ' and sdfsssdf '\" or userId gte \" s or ' s \" or userId eq 'aa' "; result = (bool)resolver.Resolve(typeof(bool), code, new Dictionary <string, object> { { "userId", "aa" } }); Assert.True(result); code = " userId != null and userId eq '\"' "; result = (bool)resolver.Resolve(typeof(bool), code, new Dictionary <string, object> { { "userId", "\"" } }); Assert.True(result); code = " userId != null and userId == '\\\'' "; result = (bool)resolver.Resolve(typeof(bool), code, new Dictionary <string, object> { { "userId", "'" } }); Assert.True(result); }
public void NotReplaceOperator() { var resolver = new JavaScriptCodeResolver(Options.Create(new JavascriptCodeResolverOptions { IsReplaceOperator = false })); var code = @"var and = 'aa'; userId == and "; var result = (bool)resolver.Resolve(typeof(bool), code, new Dictionary <string, object> { { "userId", "aa" } }); Assert.True(result); }