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); }
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)); }
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>())); }