Exemplo n.º 1
0
        public void Equals_SameInstance_ReturnsTrue() {
            // Arrange
            var span = new ModelSpan(SourceLocation.Zero, " TypeName   ", "TypeName");

            // Act + Assert
            Assert.IsTrue(span.Equals(span));
        }
        public void OnEndSpan_ProcessesModelSpansAndAddsDesignTimeStatement()
        {
            // Arrange
            Mock <RazorEngineHost> mockHost = new Mock <RazorEngineHost>();

            mockHost.SetupGet(h => h.NamespaceImports).Returns(new HashSet <string>());
            mockHost.SetupGet(h => h.DefaultBaseClass).Returns("System.Web.Mvc.WebViewPage");
            var generator = new MvcCSharpRazorCodeGenerator("FooClass", "Root.Namespace", "SomeSourceFile.cshtml", mockHost.Object)
            {
                DesignTimeMode = true
            };
            Span modelNameSpan = new ModelSpan(SourceLocation.Zero, "MyFooModel", "MyFooModel");

            generator.VisitStartBlock(BlockType.Statement);

            // Act
            generator.VisitSpan(modelNameSpan);

            // Assert
            Assert.AreEqual(3, generator.HelperVariablesMethod.Statements.Count);
            var statements = generator.HelperVariablesMethod.Statements.Cast <CodeSnippetStatement>().Select(s => s.Value).ToList();

            Assert.AreEqual("#pragma warning disable 219", statements[0]);
            Assert.AreEqual("MyFooModel __modelHelper = null;\r\n", statements[1]);
            Assert.AreEqual("#pragma warning restore 219", statements[2]);
        }
Exemplo n.º 3
0
        public void Equals_DifferentType_ReturnsFalse() {
            // Arrange
            var span = new ModelSpan(SourceLocation.Zero, "A", "A");

            // Act + Assert
            Assert.IsFalse(span.Equals(new object()));
        }
        /// <summary>
        /// Visits a model span.
        /// </summary>
        /// <param name="span">The model span.</param>
        private void VisitModelSpan(ModelSpan span)
        {
            SetModelType(span.ModelTypeName);

            if (DesignTimeMode)
                WriteHelperVariable(span.Content, "__modelHelper");
        }
Exemplo n.º 5
0
        public void Equals_NullValue_ReturnsFalse() {
            // Arrange
            var span = new ModelSpan(SourceLocation.Zero, "A", "A");

            // Act + Assert
            Assert.IsFalse(span.Equals(null));
        }
Exemplo n.º 6
0
        public void Equals_DifferentType_ReturnsFalse()
        {
            // Arrange
            var span = new ModelSpan(SourceLocation.Zero, "A", "A");

            // Act + Assert
            Assert.IsFalse(span.Equals(new object()));
        }
Exemplo n.º 7
0
        public void Equals_NullValue_ReturnsFalse()
        {
            // Arrange
            var span = new ModelSpan(SourceLocation.Zero, "A", "A");

            // Act + Assert
            Assert.IsFalse(span.Equals(null));
        }
Exemplo n.º 8
0
        public void Equals_IdenticalSpan_ReturnsTrue() {
            // Arrange
            var span1 = new ModelSpan(SourceLocation.Zero, " TypeName   ", "TypeName");
            var span2 = new ModelSpan(SourceLocation.Zero, " TypeName   ", "TypeName");

            // Act + Assert
            Assert.IsTrue(span1.Equals(span2));
        }
Exemplo n.º 9
0
        public void Equals_SameInstance_ReturnsTrue()
        {
            // Arrange
            var span = new ModelSpan(SourceLocation.Zero, " TypeName   ", "TypeName");

            // Act + Assert
            Assert.IsTrue(span.Equals(span));
        }
Exemplo n.º 10
0
        public void Equals_IdenticalSpan_ReturnsTrue()
        {
            // Arrange
            var span1 = new ModelSpan(SourceLocation.Zero, " TypeName   ", "TypeName");
            var span2 = new ModelSpan(SourceLocation.Zero, " TypeName   ", "TypeName");

            // Act + Assert
            Assert.IsTrue(span1.Equals(span2));
        }
Exemplo n.º 11
0
        private void VisitModelSpan(ModelSpan span)
        {
            SetBaseType(span.ModelTypeName);

            if (DesignTimeMode)
            {
                WriteHelperVariable(span.Content, "__modelHelper");
            }
        }
Exemplo n.º 12
0
        public void Constructor() {
            // Arrange
            var start = new SourceLocation(1, 2, 3);

            // Act
            var result = new ModelSpan(start, "content", "typeName");

            // Assert
            Assert.AreEqual("typeName", result.ModelTypeName);
            Assert.IsFalse(result.Hidden);
            Assert.AreEqual(SpanKind.Code, result.Kind);
            Assert.AreEqual(start, result.Start);
            Assert.AreEqual("content", result.Content);
            Assert.IsFalse(result.IsBlock);
        }
Exemplo n.º 13
0
        public void Constructor()
        {
            // Arrange
            var start = new SourceLocation(1, 2, 3);

            // Act
            var result = new ModelSpan(start, "content", "typeName");

            // Assert
            Assert.AreEqual("typeName", result.ModelTypeName);
            Assert.IsFalse(result.Hidden);
            Assert.AreEqual(SpanKind.Code, result.Kind);
            Assert.AreEqual(start, result.Start);
            Assert.AreEqual("content", result.Content);
            Assert.IsFalse(result.IsBlock);
        }
        public void OnEndSpan_ProcessesModelSpans() {
            // Arrange
            Mock<RazorEngineHost> mockHost = new Mock<RazorEngineHost>();
            mockHost.SetupGet(h => h.NamespaceImports).Returns(new HashSet<string>());
            mockHost.SetupGet(h => h.DefaultBaseClass).Returns("System.Web.Mvc.WebViewPage");
            var generator = new MvcVBRazorCodeGenerator("FooClass", "Root.Namespace", "SomeSourceFile.vbhtml", mockHost.Object);
            Span modelSpan = new ModelSpan(SourceLocation.Zero, "MyFooModel", "MyFooModel");
            generator.VisitStartBlock(BlockType.Statement);

            // Act
            generator.VisitSpan(modelSpan);

            // Assert
            Assert.AreEqual(1, generator.GeneratedClass.BaseTypes.Count);
            var baseType = generator.GeneratedClass.BaseTypes[0];
            Assert.AreEqual("System.Web.Mvc.WebViewPage(Of MyFooModel)", baseType.BaseType);
            Assert.AreEqual(0, generator.GeneratedExecuteMethod.Statements.Count);
        }
        public void OnEndSpan_ProcessesModelSpansAndAddsDesignTimeStatement() {
            // Arrange
            Mock<RazorEngineHost> mockHost = new Mock<RazorEngineHost>();
            mockHost.SetupGet(h => h.NamespaceImports).Returns(new HashSet<string>());
            mockHost.SetupGet(h => h.DefaultBaseClass).Returns("System.Web.Mvc.WebViewPage");
            var generator = new MvcVBRazorCodeGenerator("FooClass", "Root.Namespace", "SomeSourceFile.vbhtml", mockHost.Object) {
                DesignTimeMode = true
            };
            Span modelNameSpan = new ModelSpan(SourceLocation.Zero, "MyFooModel", "MyFooModel");
            generator.VisitStartBlock(BlockType.Statement);

            // Act
            generator.VisitSpan(modelNameSpan);

            // Assert
            Assert.AreEqual(1, generator.HelperVariablesMethod.Statements.Count);
            var statements = generator.HelperVariablesMethod.Statements.Cast<CodeSnippetStatement>().Select(s => s.Value).ToList();
            Assert.AreEqual("Dim __modelHelper As MyFooModel = Nothing\r\n", statements[0]);
        }
        public void OnEndSpan_ProcessesModelSpans()
        {
            // Arrange
            Mock <RazorEngineHost> mockHost = new Mock <RazorEngineHost>();

            mockHost.SetupGet(h => h.NamespaceImports).Returns(new HashSet <string>());
            mockHost.SetupGet(h => h.DefaultBaseClass).Returns("System.Web.Mvc.WebViewPage");
            var  generator = new MvcCSharpRazorCodeGenerator("FooClass", "Root.Namespace", "SomeSourceFile.cshtml", mockHost.Object);
            Span modelSpan = new ModelSpan(SourceLocation.Zero, "MyFooModel", "MyFooModel");

            generator.VisitStartBlock(BlockType.Statement);

            // Act
            generator.VisitSpan(modelSpan);

            // Assert
            Assert.AreEqual(1, generator.GeneratedClass.BaseTypes.Count);
            var baseType = generator.GeneratedClass.BaseTypes[0];

            Assert.AreEqual("System.Web.Mvc.WebViewPage<MyFooModel>", baseType.BaseType);
            Assert.AreEqual(0, generator.GeneratedExecuteMethod.Statements.Count);
        }
 private void VisitModelSpan(ModelSpan span)
 {
     this.SetBaseType(span.ModelTypeName);
 }
Exemplo n.º 18
0
 private void VisitModelSpan(ModelSpan span)
 {
     this.SetBaseType(span.ModelTypeName);
 }