From 00f0e5ef84a9f6966d3f9923fc8b29a33352e923 Mon Sep 17 00:00:00 2001 From: ayende Date: Sat, 9 Feb 2008 21:27:12 +0000 Subject: [PATCH] Some JS generation tests works. git-svn-id: https://svn.castleproject.org/svn/castle/trunk@4791 73e77b4c-caa6-f847-a29a-24ab75ae54b6 --- .../BaseViewOnlyTestFixture.cs | 23 ++++++++++++++++ .../HappenedOnTheFieldFixture.cs | 5 ++-- .../JSGenerationTestCase.cs | 32 +++++++++++----------- 3 files changed, 42 insertions(+), 18 deletions(-) diff --git a/MonoRail/Castle.MonoRail.Views.Brail.Tests/BaseViewOnlyTestFixture.cs b/MonoRail/Castle.MonoRail.Views.Brail.Tests/BaseViewOnlyTestFixture.cs index 427bd05e0..21ec27f96 100644 --- a/MonoRail/Castle.MonoRail.Views.Brail.Tests/BaseViewOnlyTestFixture.cs +++ b/MonoRail/Castle.MonoRail.Views.Brail.Tests/BaseViewOnlyTestFixture.cs @@ -19,6 +19,8 @@ namespace Castle.MonoRail.Views.Brail.Tests using System.IO; using System.Reflection; using Castle.MonoRail.Framework.Helpers; + using Castle.MonoRail.Framework.JSGeneration; + using Castle.MonoRail.Framework.JSGeneration.Prototype; using Castle.MonoRail.Framework.Services; using Castle.MonoRail.Framework.Test; using Framework; @@ -131,6 +133,27 @@ namespace Castle.MonoRail.Views.Brail.Tests return lastOutput; } + protected string ProcessViewJS(string templatePath) + { + StringWriter sw = new StringWriter(); + if (string.IsNullOrEmpty(Layout) == false) + ControllerContext.LayoutNames = new string[] { Layout, }; + MockEngineContext.CurrentControllerContext = ControllerContext; + JSCodeGenerator codeGenerator = + new JSCodeGenerator(MockEngineContext.Server, null, + MockEngineContext, null, ControllerContext, MockEngineContext.Services.UrlBuilder); + + IJSGenerator jsGen = new PrototypeGenerator(codeGenerator); + + codeGenerator.JSGenerator = jsGen; + + JSCodeGeneratorInfo info = new JSCodeGeneratorInfo(codeGenerator, jsGen, new object[0], new object[0]); + + BooViewEngine.GenerateJS(templatePath, sw, info,MockEngineContext, null, ControllerContext); + lastOutput = sw.ToString(); + return lastOutput; + } + protected string RenderStaticWithLayout(string staticText) { if (string.IsNullOrEmpty(Layout) == false) diff --git a/MonoRail/Castle.MonoRail.Views.Brail.Tests/HappenedOnTheFieldFixture.cs b/MonoRail/Castle.MonoRail.Views.Brail.Tests/HappenedOnTheFieldFixture.cs index 8e37ecb61..42eeab174 100644 --- a/MonoRail/Castle.MonoRail.Views.Brail.Tests/HappenedOnTheFieldFixture.cs +++ b/MonoRail/Castle.MonoRail.Views.Brail.Tests/HappenedOnTheFieldFixture.cs @@ -15,8 +15,8 @@ namespace Castle.MonoRail.Views.Brail.Tests { - - using NUnit.Framework; + using Castle.MonoRail.Views.Brail.TestSite.Components; + using NUnit.Framework; [TestFixture] public class HappenedOnTheFieldFixture : BaseViewOnlyTestFixture @@ -24,6 +24,7 @@ namespace Castle.MonoRail.Views.Brail.Tests [Test] public void UsingEmptyComponent() { + ViewComponentFactory.Inspect(typeof(SimpleInlineViewComponent3).Assembly); ProcessView_StripRailsExtension("happenedOnTheField/JustComponent.rails"); // should complete succesfully } diff --git a/MonoRail/Castle.MonoRail.Views.Brail.Tests/JSGenerationTestCase.cs b/MonoRail/Castle.MonoRail.Views.Brail.Tests/JSGenerationTestCase.cs index 4406040f1..abc5b086d 100644 --- a/MonoRail/Castle.MonoRail.Views.Brail.Tests/JSGenerationTestCase.cs +++ b/MonoRail/Castle.MonoRail.Views.Brail.Tests/JSGenerationTestCase.cs @@ -23,49 +23,49 @@ namespace Castle.MonoRail.Views.Brail.Tests [Test] public void AccessingElementAttribute() { - ProcessView_StripRailsExtension("jsgeneration/elementattribute.rails"); + ProcessViewJS("jsgeneration/elementattribute"); AssertReplyContains("$('aa').className = \"newclass\";"); } [Test] public void AccessingElementAttributeDepth() { - ProcessView_StripRailsExtension("jsgeneration/elementattributedepth.rails"); + ProcessViewJS("jsgeneration/elementattributedepth"); AssertReplyContains("$('aa').style.display = \"none\";"); } [Test] public void AccessingElementMethod() { - ProcessView_StripRailsExtension("jsgeneration/elementmethod.rails"); + ProcessViewJS("jsgeneration/elementmethod"); AssertReplyContains("$('aa').hide();"); } [Test] public void AccessingElementMethodDepth() { - ProcessView_StripRailsExtension("jsgeneration/elementmethoddepth.rails"); + ProcessViewJS("jsgeneration/elementmethoddepth"); AssertReplyContains("$('aa').read().test();"); } [Test] public void AccessingElementStockOperationReplace() { - ProcessView_StripRailsExtension("jsgeneration/elementreplace.rails"); + ProcessViewJS("jsgeneration/elementreplace"); AssertReplyContains("$('aa').replace(\"new content\")"); } [Test] public void AccessingElementStockOperationReplaceHtml() { - ProcessView_StripRailsExtension("jsgeneration/elementreplacehtml.rails"); + ProcessViewJS("jsgeneration/elementreplacehtml"); AssertReplyContains("$('aa').update(\"new content\")"); } [Test] public void CollectionFirstLast() { - ProcessView_StripRailsExtension("jsgeneration/collectionfirstlast.rails"); + ProcessViewJS("jsgeneration/collectionfirstlast"); AssertReplyContains("$$('p.welcome b').first().hide();"); AssertReplyContains("$$('p.welcome b').last().show();"); } @@ -73,7 +73,7 @@ namespace Castle.MonoRail.Views.Brail.Tests [Test] public void InsertHtml() { - ProcessView_StripRailsExtension("jsgeneration/InsertHtml.rails"); + ProcessViewJS("jsgeneration/InsertHtml"); AssertReplyContains("new Insertion.Top(\"aa\",\"new content\");"); AssertReplyContains("new Insertion.Bottom(\"aa\",\"new content\");"); AssertReplyContains("new Insertion.After(\"aa\",\"new content\");"); @@ -83,7 +83,7 @@ namespace Castle.MonoRail.Views.Brail.Tests [Test] public void MR_264() { - ProcessView_StripRailsExtension("jsgeneration/mr264.rails"); + ProcessViewJS("jsgeneration/mr264"); AssertReplyContains( "Element.update(\"holder\",\"test\");\r\n" + "new Effect.Highlight('holder', {});"); @@ -92,28 +92,28 @@ namespace Castle.MonoRail.Views.Brail.Tests [Test] public void Replace() { - ProcessView_StripRailsExtension("jsgeneration/replace.rails"); + ProcessViewJS("jsgeneration/replace"); AssertReplyContains("Element.replace(\"aa\",\"new content\")"); } [Test] public void ReplaceHtml() { - ProcessView_StripRailsExtension("jsgeneration/replacehtml.rails"); + ProcessViewJS("jsgeneration/replacehtml"); AssertReplyContains("Element.update(\"aa\",\"new content\");"); } [Test] public void ReplaceHtmlUsingPartial() { - ProcessView_StripRailsExtension("jsgeneration/replacehtmlwithpartial.rails"); + ProcessViewJS("jsgeneration/replacehtmlwithpartial"); AssertReplyContains("Element.update(\"aa\",\"You\'re hammett
[ a ][ b ]\")"); } [Test] public void ShowHideToggleRemove() { - ProcessView_StripRailsExtension("jsgeneration/multipleactions.rails"); + ProcessViewJS("jsgeneration/multipleactions"); AssertReplyContains("Element.show(\"a\");"); AssertReplyContains("Element.show(\"a\",\"b\",\"c\");"); AssertReplyContains("Element.hide(\"a\");"); @@ -126,21 +126,21 @@ namespace Castle.MonoRail.Views.Brail.Tests [Test] public void SimpleCollectionAccess() { - ProcessView_StripRailsExtension("jsgeneration/collectionaccess.rails"); + ProcessViewJS("jsgeneration/collectionaccess"); AssertReplyContains("$$('aa');"); } [Test] public void SimpleElementAccess() { - ProcessView_StripRailsExtension("jsgeneration/elementaccess.rails"); + ProcessViewJS("jsgeneration/elementaccess"); AssertReplyContains("$('aa');"); } [Test] public void VisualEffect() { - ProcessView_StripRailsExtension("jsgeneration/visualeffect.rails"); + ProcessViewJS("jsgeneration/visualeffect"); AssertReplyContains("Effect.Highlight('element1', {});"); AssertReplyContains("Effect.Highlight('element1', {duration:4});"); } -- 2.11.4.GIT