Ejemplo n.º 1
0
        public void CanParseHtmlContainingDoubleQuotes()
        {
            var template = new RubyTemplate("<html><span title=\"blah\" /></html>");
            var result = template.ToScript();

            var expected = @"response.Write(""<html><span title=\""blah\"" /></html>"")";

            Assert.Equal(expected, result);
        }
Ejemplo n.º 2
0
        public void CanParseHtmlEndingInScriptBlock()
        {
            var template = new RubyTemplate("<html><% puts 'test' %>");
            var result = template.ToScript();

            var expected = ExpectedWrite("\"<html>\"") + Environment.NewLine
                           + "puts 'test'";

            Assert.Equal(expected, result);
        }
Ejemplo n.º 3
0
        public void CanConverToScript()
        {
            var template = new RubyTemplate("<% puts 'test' %></html>");
            var result = template.ToScript("puts_test");

            var expected = "def puts_test" + Environment.NewLine
                           + "puts 'test'" + Environment.NewLine
                           + ExpectedWrite("\"</html>\"") + Environment.NewLine
                           + "end";

            Assert.Equal(expected, result);
        }
Ejemplo n.º 4
0
        public void CanParseScriptBlock()
        {
            var template = new RubyTemplate("<% puts 'hello world' %>");

            Assert.Equal("puts 'hello world'", template.ToScript());
        }
Ejemplo n.º 5
0
 public void CanParseMultiLineBlock()
 {
     var template = new RubyTemplate("<% puts \"Hello World\"\r\nputs 'IronRuby is fun!' %>");
     var result = template.ToScript();
     Assert.Equal("puts \"Hello World\"\r\nputs 'IronRuby is fun!'", result);
 }
Ejemplo n.º 6
0
 public void CanParseEmptyTemplate()
 {
     var template = new RubyTemplate(string.Empty);
     Assert.Equal(string.Empty, template.ToScript());
 }
Ejemplo n.º 7
0
        public void TemplateWithBackslashDoesNotCauseException()
        {
            var template = new RubyTemplate(@"<html>\</html>");
            var result = template.ToScript();

            var expected = ExpectedWrite(@"""<html>\\</html>""");

            Assert.Equal(expected, result);
        }
Ejemplo n.º 8
0
 public void ParsingAScriptBlockThatStartsButDoesNotEndThrowsInvalidOperationException()
 {
     var template = new RubyTemplate("<%=");
     Assert.Throws<InvalidOperationException>("Started a '<%=' block without ending it.",
                                              () => template.ToScript());
 }
Ejemplo n.º 9
0
        public void NewLinesInTemplateAreReflectedInScript()
        {
            var original = "<% [1..10].each do |i| %>" + Environment.NewLine
                           + "	<%= i %>" + Environment.NewLine
                           + "<% end %>";

            var template = new RubyTemplate(original);
            var result = template.ToScript();

            var expected = "[1..10].each do |i|" + Environment.NewLine
                           + ExpectedWrite(@"""\r\n	""") + Environment.NewLine
                           + ExpectedWrite("i") + Environment.NewLine
                           + ExpectedWrite(@"""\r\n""") + Environment.NewLine
                           + "end";

            Assert.Equal(expected, result);
        }
Ejemplo n.º 10
0
 public void CanAddRequires()
 {
     var template = new RubyTemplate(string.Empty);
     template.AddRequire("mscorlib.dll");
     Assert.Equal(@"require 'mscorlib.dll'", template.ToScript());
 }
Ejemplo n.º 11
0
 public void LeavesHtmlAlone()
 {
     var template =
         new RubyTemplate("<html>\r\n<head><title></title></head>\r\n<body>\r\nHello World</body>\r\n</html>");
     var result = template.ToScript();
     Assert.Equal(
         ExpectedWrite(
             "\"<html>\\r\\n<head><title></title></head>\\r\\n<body>\\r\\nHello World</body>\\r\\n</html>\""),
         result);
 }
Ejemplo n.º 12
0
 public void CanParseScriptWriteBlock()
 {
     var template = new RubyTemplate("<%= \"Hello World\" %>");
     var result = template.ToScript();
     Assert.Equal("response.Write(\"Hello World\")", result);
 }