From ed7678eefdffb3995f5b6a3e9afb18903c648df8 Mon Sep 17 00:00:00 2001 From: Justin Maier Date: Wed, 25 Mar 2015 20:09:44 -0700 Subject: [PATCH 1/2] Make BuildFile work without a controller context Update demo to MVC 5 --- Rotativa.Demo/Models/AccountModels.cs | 4 +- Rotativa.Demo/Rotativa.Demo.csproj | 45 +++++++++-- Rotativa.Demo/Views/Web.config | 18 ++--- Rotativa.Demo/Web.config | 77 +++++++++---------- Rotativa.Demo/packages.config | 4 + Rotativa.Tests/App.config | 15 +++- Rotativa.Tests/Rotativa.Tests.csproj | 22 +++++- Rotativa.UnitTests/BinaryTests.cs | 6 +- Rotativa.UnitTests/Rotativa.UnitTests.csproj | 40 +++++++++- .../WkhtmltoimageCommandLineStringTests.cs | 2 +- .../WkhtmltopdfCommandLineStringTests.cs | 2 +- Rotativa.UnitTests/app.config | 15 ++++ Rotativa.UnitTests/packages.config | 6 +- Rotativa.sln | 4 +- Rotativa/ActionAsImage.cs | 7 +- Rotativa/ActionAsPdf.cs | 7 +- Rotativa/AsPdfResultBase.cs | 2 +- Rotativa/AsResultBase.cs | 17 ++-- Rotativa/RouteAsImage.cs | 7 +- Rotativa/RouteAsPdf.cs | 7 +- Rotativa/UrlAsImage.cs | 5 +- Rotativa/UrlAsPdf.cs | 5 +- Rotativa/ViewAsImage.cs | 3 +- Rotativa/ViewAsPdf.cs | 3 +- 24 files changed, 223 insertions(+), 100 deletions(-) create mode 100644 Rotativa.UnitTests/app.config diff --git a/Rotativa.Demo/Models/AccountModels.cs b/Rotativa.Demo/Models/AccountModels.cs index b970d60..d70c3a8 100644 --- a/Rotativa.Demo/Models/AccountModels.cs +++ b/Rotativa.Demo/Models/AccountModels.cs @@ -23,7 +23,7 @@ public class ChangePasswordModel [DataType(DataType.Password)] [Display(Name = "Confirm new password")] - [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] + [System.ComponentModel.DataAnnotations.Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] public string ConfirmPassword { get; set; } } @@ -61,7 +61,7 @@ public class RegisterModel [DataType(DataType.Password)] [Display(Name = "Confirm password")] - [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] + [System.ComponentModel.DataAnnotations.Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] public string ConfirmPassword { get; set; } } } diff --git a/Rotativa.Demo/Rotativa.Demo.csproj b/Rotativa.Demo/Rotativa.Demo.csproj index 60e8055..a4b60a8 100644 --- a/Rotativa.Demo/Rotativa.Demo.csproj +++ b/Rotativa.Demo/Rotativa.Demo.csproj @@ -8,12 +8,12 @@ 2.0 {8EC08BFB-6ABA-4D71-8405-77AFF5859F3D} - {E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} Library Properties Rotativa.Demo Rotativa.Demo - v4.0 + v4.5 false true ..\ @@ -27,6 +27,8 @@ + true + true @@ -36,6 +38,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -44,23 +47,53 @@ TRACE prompt 4 + false + + True + ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + + - - - - + + + + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll + + + False + ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll + + + False + ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll + + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll + + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll + + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll + + diff --git a/Rotativa.Demo/Views/Web.config b/Rotativa.Demo/Views/Web.config index 4c30ef2..e9ae84d 100644 --- a/Rotativa.Demo/Views/Web.config +++ b/Rotativa.Demo/Views/Web.config @@ -2,14 +2,14 @@ - -
-
- + +
+
+ - + @@ -36,13 +36,9 @@ To change this behavior apply the ValidateInputAttribute to a controller or action. --> - + - + diff --git a/Rotativa.Demo/Web.config b/Rotativa.Demo/Web.config index f353760..03efa39 100644 --- a/Rotativa.Demo/Web.config +++ b/Rotativa.Demo/Web.config @@ -1,92 +1,91 @@ - + - + connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" + providerName="System.Data.SqlClient"/> - - + + - - - - - - - - + + - - + - + enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" + maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/> - - + - - - + + - - + - - - - - + + + + + - - - + + - - - + + + + + + + + + + - + \ No newline at end of file diff --git a/Rotativa.Demo/packages.config b/Rotativa.Demo/packages.config index 9b5b820..2ef9f26 100644 --- a/Rotativa.Demo/packages.config +++ b/Rotativa.Demo/packages.config @@ -4,5 +4,9 @@ + + + + \ No newline at end of file diff --git a/Rotativa.Tests/App.config b/Rotativa.Tests/App.config index 224fc8d..c8bcb09 100644 --- a/Rotativa.Tests/App.config +++ b/Rotativa.Tests/App.config @@ -1,6 +1,15 @@ - + - + - \ No newline at end of file + + + + + + + + + + diff --git a/Rotativa.Tests/Rotativa.Tests.csproj b/Rotativa.Tests/Rotativa.Tests.csproj index af81757..6159678 100644 --- a/Rotativa.Tests/Rotativa.Tests.csproj +++ b/Rotativa.Tests/Rotativa.Tests.csproj @@ -10,10 +10,11 @@ Properties Rotativa.Tests Rotativa.Tests - v4.0 + v4.5 512 ..\ true + true @@ -23,6 +24,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -31,6 +33,7 @@ TRACE prompt 4 + false @@ -80,6 +83,23 @@ PreserveNewest + + + + + + {8ec08bfb-6aba-4d71-8405-77aff5859f3d} + Rotativa.Demo + False + + + {d93faa11-31f0-4629-b53c-aa8680283529} + Rotativa + + + + + diff --git a/Rotativa.UnitTests/BinaryTests.cs b/Rotativa.UnitTests/BinaryTests.cs index 1340dba..4779979 100644 --- a/Rotativa.UnitTests/BinaryTests.cs +++ b/Rotativa.UnitTests/BinaryTests.cs @@ -27,7 +27,7 @@ public class BinaryTests public void Can_build_the_pdf_binary() { var localPath = Directory.GetParent(AppDomain.CurrentDomain.BaseDirectory); - var solutionDir = localPath.Parent.Parent.FullName; + var solutionDir = localPath.Parent.Parent.Parent.FullName; var wkhtmltopdfPath = Path.Combine(solutionDir, "Rotativa", "Rotativa"); var actionResult = new UrlAsPdf("https://github.com/webgio/Rotativa") { @@ -36,7 +36,7 @@ public void Can_build_the_pdf_binary() var builder = new TestControllerBuilder(); var controller = new HomeController(); builder.InitializeController(controller); - var pdfBinary = actionResult.BuildPdf(controller.ControllerContext); + var pdfBinary = actionResult.BuildPdf(); var pdfTester = new PdfTester(); pdfTester.LoadPdf(pdfBinary); pdfTester.PdfIsValid.Should().Be.True(); @@ -47,7 +47,7 @@ public void Can_build_the_pdf_binary() public void Can_build_the_image_binary() { var localPath = Directory.GetParent(AppDomain.CurrentDomain.BaseDirectory); - var solutionDir = localPath.Parent.Parent.FullName; + var solutionDir = localPath.Parent.Parent.Parent.FullName; var wkhtmltoimagePath = Path.Combine(solutionDir, "Rotativa", "Rotativa"); var actionResult = new UrlAsImage("https://github.com/webgio/Rotativa") { diff --git a/Rotativa.UnitTests/Rotativa.UnitTests.csproj b/Rotativa.UnitTests/Rotativa.UnitTests.csproj index 1a689f5..8b1362f 100644 --- a/Rotativa.UnitTests/Rotativa.UnitTests.csproj +++ b/Rotativa.UnitTests/Rotativa.UnitTests.csproj @@ -10,10 +10,11 @@ Properties Rotativa.UnitTests Rotativa.UnitTests - v4.0 + v4.5 512 ..\ true + true @@ -23,6 +24,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -31,8 +33,13 @@ TRACE prompt 4 + false + + True + ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + ..\packages\MvcContrib.Mvc3.TestHelper-ci.3.0.100.0\lib\MvcContrib.TestHelper.dll @@ -56,7 +63,30 @@ - + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll + + + False + ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll + + + False + ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll + + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll + + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll + + + False + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll + @@ -72,7 +102,7 @@ - {8EC08BFB-6ABA-4D71-8405-77AFF5859F3D} + {8ec08bfb-6aba-4d71-8405-77aff5859f3d} Rotativa.Demo @@ -85,11 +115,15 @@ + + + +