User: johnsimons
Date: 2009/12/17 02:53 PM
Modified:
/MonoRail/trunk/src/
Changes.txt
/MonoRail/trunk/src/Castle.MonoRail.Framework.Tests/ViewComponents/
CombineJSViewComponentTestCase.cs
/MonoRail/trunk/src/Castle.MonoRail.Framework/ViewComponents/
CombineJSViewComponent.cs
Log:
Fixed MR-ISSUE-554
File Changes:
Directory: /MonoRail/trunk/src/Castle.MonoRail.Framework/ViewComponents/
========================================================================
File [modified]: CombineJSViewComponent.cs
Delta lines: +62 -1
===================================================================
---
MonoRail/trunk/src/Castle.MonoRail.Framework.Tests/ViewComponents/CombineJSViewComponentTestCase.cs
2009-12-17 20:50:32 UTC (rev 6447)
+++
MonoRail/trunk/src/Castle.MonoRail.Framework.Tests/ViewComponents/CombineJSViewComponentTestCase.cs
2009-12-17 21:53:23 UTC (rev 6448)
@@ -30,7 +30,7 @@
}
[Test]
- public void ResolveForRelative()
+ public void ResolveForRelativeUrlsWithoutQuotes()
{
CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", @".icon {
background-image: url(../images/test.png) }");
@@ -44,5 +44,66 @@
string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", @".icon1 {
background-image: url(../images/test1.png) }, .icon2 { background-image:
url(../images/icons/test2.png) }");
Assert.AreEqual(".icon1 { background-image:
url(/myapp/images/test1.png) }, .icon2 { background-image:
url(/myapp/images/icons/test2.png) }", output);
}
+
+ [Test]
+ public void ResolveForRelativeUrlsWithSingleQuotes()
+ {
+ CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
+ string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", @".icon1 {
background-image: url('../images/icons/file-xslx.gif') !important; }, .icon2 {
background-image: url('../images/icons/test2.png') }");
+ Assert.AreEqual(@".icon1 { background-image:
url('/myapp/images/icons/file-xslx.gif') !important; }, .icon2 {
background-image: url('/myapp/images/icons/test2.png') }", output);
+ }
+
+ [Test]
+ public void ResolveForRelativeUrlsWithDoubleQuotes()
+ {
+ CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
+ string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", @".icon1 {
background-image: url(""../images/icons/file-xslx.gif"") !important; }, .icon2
{ background-image: url(""../images/icons/test2.png"") }");
+ Assert.AreEqual(@".icon1 { background-image:
url(""/myapp/images/icons/file-xslx.gif"") !important; }, .icon2 {
background-image: url(""/myapp/images/icons/test2.png"") }", output);
+ }
+
+ [Test]
+ public void DontResolveForNonRelativeUrlsWithSingleQuotes()
+ {
+ CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
+ string css = @".icon1 { background-image:
url('/images/icons/file-xslx.gif') !important; }, .icon2 { background-image:
url('/images/icons/test2.png') }";
+ string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", css);
+ Assert.AreEqual(css, output);
+ }
+
+ [Test]
+ public void DontResolveForNonRelativeUrlsWithDoubleQuotes()
+ {
+ CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
+ string css = @".icon1 { background-image:
url(""/images/icons/file-xslx.gif"") !important; }, .icon2 { background-image:
url(""/images/icons/test2.png"") }";
+ string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", css);
+ Assert.AreEqual(css, output);
+ }
+
+ [Test]
+ public void DontResolveForAbsoluteUrls()
+ {
+ CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
+ string css = @".icon1 { background-image:
url(""http://www.castleproject.org/images/icons/file-xslx.gif"") !important; },
.icon2 { background-image:
url('http://www.castleproject.org//images/icons/test2.png') }, .icon3 {
background-image: url(http://www.castleproject.org//images/icons/test3.png) }";
+ string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", css);
+ Assert.AreEqual(css, output);
+ }
+
+ [Test]
+ public void DontResolveForAbsoluteHttpsUrls()
+ {
+ CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
+ string css = @".icon1 { background-image:
url(""https://www.castleproject.org/images/icons/file-xslx.gif"") !important;
}, .icon2 { background-image:
url('https://www.castleproject.org//images/icons/test2.png') }, .icon3 {
background-image: url(https://www.castleproject.org//images/icons/test3.png) }";
+ string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", css);
+ Assert.AreEqual(css, output);
+ }
+
+ [Test]
+ public void DontResolveForAbsoluteUrlsWithPortSpecified()
+ {
+ CombineJSViewComponent.CssRelativeUrlResolver resolver
= new
CombineJSViewComponent.CssRelativeUrlResolver(@"c:\inetpub\wwwroot\myapp\", new
Uri("/myapp/", UriKind.Relative));
+ string css = @".icon1 { background-image:
url(""http://www.castleproject.org:8080/images/icons/file-xslx.gif"")
!important; }, .icon2 { background-image:
url('http://www.castleproject.org:8080/images/icons/test2.png') }, .icon3 {
background-image: url(http://www.castleproject.org:8080/images/icons/test3.png)
}";
+ string output =
resolver.Resolve(@"c:\inetpub\wwwroot\myapp\css\main.css", css);
+ Assert.AreEqual(css, output);
+ }
}
}
Directory: /MonoRail/trunk/src/Castle.MonoRail.Framework.Tests/ViewComponents/
==============================================================================
File [modified]: CombineJSViewComponentTestCase.cs
Delta lines: +3 -0
===================================================================
--- MonoRail/trunk/src/Changes.txt 2009-12-17 20:50:32 UTC (rev 6447)
+++ MonoRail/trunk/src/Changes.txt 2009-12-17 21:53:23 UTC (rev 6448)
@@ -1,5 +1,8 @@
Unreleased
==========
+- Fixed MR-ISSUE-554
+ "Image url's in single quotes get rewritten as empty strings by JSCombine
View Component"
+
- Applied Alex's patch fixing MR-ISSUE-553
"IRoutingEngine service when present in parent container is not used by
DefaultMonoRailContainer"
Directory: /MonoRail/trunk/src/
===============================
File [modified]: Changes.txt
Delta lines: +0 -0
===================================================================
--
You received this message because you are subscribed to the Google Groups
"Castle Project Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-commits?hl=en.