Пример #1
0
        public void TestNotWritable()
        {
            SpelExpression expr = (SpelExpression)parser.ParseExpression("37");

            Assert.False(expr.IsWritable(new StandardEvaluationContext()));
            expr = (SpelExpression)parser.ParseExpression("37L");
            Assert.False(expr.IsWritable(new StandardEvaluationContext()));
            expr = (SpelExpression)parser.ParseExpression("true");
            Assert.False(expr.IsWritable(new StandardEvaluationContext()));
        }
Пример #2
0
        private void CheckConstantList(string expressionText, bool expectedToBeConstant)
        {
            SpelExpressionParser parser     = new SpelExpressionParser();
            SpelExpression       expression = (SpelExpression)parser.ParseExpression(expressionText);
            var  node      = expression.AST;
            bool condition = node is InlineList;

            Assert.True(condition);
            InlineList inlineList = (InlineList)node;

            if (expectedToBeConstant)
            {
                Assert.True(inlineList.IsConstant);
            }
            else
            {
                Assert.False(inlineList.IsConstant);
            }
        }
Пример #3
0
        public void TestMapKeysThatAreAlsoSpELKeywords()
        {
            var            parser     = new SpelExpressionParser();
            SpelExpression expression = null;
            object         o          = null;

            expression = (SpelExpression)parser.ParseExpression("Foo[T]");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("TV", o);

            expression = (SpelExpression)parser.ParseExpression("Foo[t]");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("tv", o);

            expression = (SpelExpression)parser.ParseExpression("Foo[NEW]");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("VALUE", o);

            expression = (SpelExpression)parser.ParseExpression("Foo[new]");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("value", o);

            expression = (SpelExpression)parser.ParseExpression("Foo['abc.def']");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("value", o);

            expression = (SpelExpression)parser.ParseExpression("Foo[Foo[NEW]]");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("37", o);

            expression = (SpelExpression)parser.ParseExpression("Foo[Foo[new]]");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("38", o);

            expression = (SpelExpression)parser.ParseExpression("Foo[Foo[Foo[T]]]");
            o          = expression.GetValue(new MapHolder());
            Assert.Equal("value", o);
        }
Пример #4
0
        private Operator GetOperatorNode(SpelExpression expr)
        {
            var node = expr.AST;

            return(FindOperator(node));
        }