Пример #1
0
        public void It_Should_be_possible_to_ExtractScript()
        {
            PageScriptService target = new PageScriptService(null);

            string expression;
            bool valid;

            valid = target.TryExtractScript("@prova", out expression);
            Assert.AreEqual(true, valid);
            Assert.AreEqual("prova", expression);

            valid = target.TryExtractScript("@test.html(\"ciao\") ", out expression);
            Assert.AreEqual(true, valid);
            Assert.AreEqual("test.html(\"ciao\")", expression);

            valid = target.TryExtractScript(" @test.html()", out expression);
            Assert.AreEqual(true, valid);
            Assert.AreEqual("test.html()", expression);

            valid = target.TryExtractScript("@new Player() { FirstName = \"John\", LastName = \"Wayne\" }", out expression);
            Assert.AreEqual(true, valid);
            Assert.AreEqual("new Player() { FirstName = \"John\", LastName = \"Wayne\" }", expression);

            valid = target.TryExtractScript("#test.html()", out expression);
            Assert.AreEqual(false, valid);
            valid = target.TryExtractScript("{@test.html()}", out expression);
            Assert.AreEqual(false, valid);
            valid = target.TryExtractScript("", out expression);
            Assert.AreEqual(false, valid);
            valid = target.TryExtractScript(null, out expression);
            Assert.AreEqual(false, valid);
        }
Пример #2
0
        public void It_should_be_possible_to_eval_constant()
        {
            PageScriptService target = new PageScriptService(null);
            IContext context = new Mocks.ContextMock();
            ModuleDefinitionList modulesDefinition = new ModuleDefinitionList();
            PageParameterList pageParameters = new PageParameterList();
            Dictionary<string, object> modules = new Dictionary<string, object>();
            ContextParameterList parameters = new ContextParameterList();

            XValue exp;

            exp = target.Parse("ciao", typeof(string), modulesDefinition, pageParameters);
            Assert.AreEqual("ciao", target.Eval(exp, modules, parameters));

            exp = target.Parse("459", typeof(int), modulesDefinition, pageParameters);
            Assert.AreEqual(459, target.Eval(exp, modules, parameters));

            exp = target.Parse("0.59", typeof(double), modulesDefinition, pageParameters);
            Assert.AreEqual(0.59, target.Eval(exp, modules, parameters));

            exp = target.Parse("01/02/2045", typeof(DateTime), modulesDefinition, pageParameters);
            Assert.AreEqual(new DateTime(2045, 01, 02), target.Eval(exp, modules, parameters));
        }
Пример #3
0
        public void It_should_be_possible_to_parse_and_eval_script_with_modules()
        {
            var scriptService = new Moq.Mock<IScriptService>();
            scriptService.Setup(p => p.Parse("TestModule.Name", Moq.It.IsAny<ScriptParameterList>())).Returns(new Mocks.ScriptExpressionMock("TestModule.Name", typeof(string)));
            TestModule testModule = new TestModule();

            ModuleDefinitionList modules = new ModuleDefinitionList();
            modules.Add(new ModuleDefinition("TestModule", TestModule.Definition));
            PageParameterList parameters = new PageParameterList();

            PageScriptService target = new PageScriptService(scriptService.Object);

            XValue exp;
            exp = target.Parse("@TestModule.Name", typeof(string), modules, parameters);

            scriptService.Verify(p => p.Parse("TestModule.Name", Moq.It.IsAny<ScriptParameterList>()));

            Dictionary<string, object> modulesInstance = new Dictionary<string, object>();
            modulesInstance.Add("TestModule", testModule);
            ContextParameterList parametersInstance = new ContextParameterList();

            target.Eval(exp, modulesInstance, parametersInstance);

            scriptService.Verify(p => p.Eval(Moq.It.IsAny<IScriptExpression>(), Moq.It.IsAny<ScriptParameterList>()));
        }