public void When_given_a_template_Should_return_valid_Ruby_Code()
        {
            IViewParser rubyViewParser = new IronRubyViewParser();
            string result = rubyViewParser.Parse(_templatePath);

            Assert.That(result,Is.EqualTo(RubyCode));
        }
        public void When_passing_a_template_location_that_was_pre_compile_Should_not_parse_it_again()
        {
            IViewParser rubyViewParser = new IronRubyViewParser();
            rubyViewParser.Parse(_templatePath);

            var oldDate = File.GetLastWriteTimeUtc(_templatePath + ".rhtml");
            rubyViewParser.Parse(_templatePath);
            var newDate = File.GetLastWriteTimeUtc(_templatePath + ".rhtml");

            Assert.That(newDate, Is.EqualTo(oldDate));
        }
 public void When_passing_code_Should_Execute_It_and_return_text()
 {
     ILocalizationService localizationService = new ResourceLocalizationService();
     IViewExecutor ironRubyViewExecutor = new IronRubyViewExecutor();
     var parser = new IronRubyViewParser();
     var code = parser.Parse(_templatePath);
     var model = new {ftuValue = "100 USD",ftuUrl="LaunchPage",idModifier = "modifier"};
     ironRubyViewExecutor.SetGlobalVariables("localization",localizationService);
     ironRubyViewExecutor.SetGlobalVariables("lang","en");
     var html = ironRubyViewExecutor.Execute(RubyCode, model);
     Assert.That(html, Is.EqualTo(HtmlCode));
 }
 public void When_passing_code_Should_Execute_It_and_return_text()
 {
     IViewExecutor ironRubyViewExecutor = new IronRubyViewExecutor();
     var parser = new IronRubyViewParser();
     var code = parser.Parse(_templatePath);
     var model = new DynamicModel();
     model.SetAttributeValue("ftuValue","100 USD");
     model.SetAttributeValue("ftuUrl", "LaunchPage");
     model.SetAttributeValue("idModifier", "modifier");
     model.SetAttributeValue("phrases", new {FREE = "FREE", viewing_credit = "Viewing Credit", new_users = "new users", no_purchase_required = "no purchase required", start_here = "start here" });
     var html = ironRubyViewExecutor.Execute(code, model);
     Assert.That(html, Is.EqualTo(HtmlCode));
 }
        public void When_the_template_is_newer_that_the_precompile_file_Should_precompile_it_again()
        {
            var lines = File.ReadAllLines(_templatePath + ".htm");
            using (var file = File.CreateText(_templatePath + "changed.htm"))
            {
                foreach (var line in lines)
                {
                    file.WriteLine(line);
                }
                file.Close();
            }
            IViewParser rubyViewParser = new IronRubyViewParser();
            rubyViewParser.Parse(_templatePath + "changed");
            var oldDate = File.GetLastWriteTimeUtc(_templatePath + "changed.rhtml");

            lines = File.ReadAllLines(_templatePath + "changed.htm");
            using (var file = File.CreateText(_templatePath + "changed.htm"))
            {
                foreach (var line in lines)
                {
                    file.WriteLine(line);
                }
                file.Close();
            }

            rubyViewParser.Parse(_templatePath + "changed");
            var newDate = File.GetLastWriteTimeUtc(_templatePath + "changed.rhtml");

            Assert.That(newDate, Is.GreaterThan(oldDate));
        }
 public void When_passing_a_template_location_Should_parse_it_and_save_it_to_disk()
 {
     IViewParser rubyViewParser =  new IronRubyViewParser();
     rubyViewParser.Parse(_templatePath);
     Assert.That(File.Exists(_templatePath + ".rhtml"));
 }