Skip to content

Commit

Permalink
Now the spark resource view gets given the current resource!
Browse files Browse the repository at this point in the history
git-svn-id: http://openrastasparkcodec.googlecode.com/svn/trunk@32 1f2a5d12-3dac-11de-b232-599c1b3c59e8
  • Loading branch information
Jennifer.E.M.Smith authored and Jennifer.E.M.Smith committed Feb 17, 2010
1 parent 93bbe52 commit 4ae833c
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 2 deletions.
32 changes: 31 additions & 1 deletion src/OpenRasta.Codecs.Spark.UnitTests/SparkViewResolverTests.cs
@@ -1,3 +1,5 @@
using System;
using System.IO;
using System.Linq;
using NUnit.Framework;
using Rhino.Mocks;
Expand All @@ -11,7 +13,7 @@ public class SparkViewResolverTests
[Test]
public void UsesTheSparkEngineToCreateAView()
{
var expectedSparkView = MockRepository.GenerateStub<ISparkView>();
var expectedSparkView = new TestSparkResourceView();
var sparkViewEngine = MockRepository.GenerateStub<ISparkViewEngine>()
.StubCreateInstance(expectedSparkView);
sparkViewEngine.StubCreateInstance(expectedSparkView);
Expand All @@ -33,5 +35,33 @@ public void PassesTheSparkDescriptorIncludingTheTemplateNameToTheView()
var sparkViewDescriptor = (SparkViewDescriptor)sparkViewEngine.GetArgumentsForSingleCall(x => x.CreateInstance(null));
Assert.That(sparkViewDescriptor.Templates.FirstOrDefault(), Is.EqualTo(viewName));
}
[Test]
public void EnhancesTheViewWithTheViewData()
{
var expectedSparkView = new TestSparkResourceView();
var sparkViewEngine = MockRepository.GenerateStub<ISparkViewEngine>()
.StubCreateInstance(expectedSparkView);
sparkViewEngine.StubCreateInstance(expectedSparkView);
var resolver = new SparkViewResolverBuilder().With(sparkViewEngine).Build();

object viewData = new object();
SparkResourceView resolvedView = (SparkResourceView) resolver.Create(null, viewData);

Assert.That(resolvedView.ViewData, Is.Not.Null);
Assert.That(resolvedView.ViewData.Eval("Resource"), Is.EqualTo(viewData));

}
}
public class TestSparkResourceView : SparkResourceView
{
public override void RenderView(TextWriter writer)
{
throw new NotImplementedException();
}

public override Guid GeneratedViewId
{
get { throw new NotImplementedException(); }
}
}
}
4 changes: 3 additions & 1 deletion src/OpenRasta.Codecs.Spark/ISparkViewResolver.cs
Expand Up @@ -35,7 +35,9 @@ public SparkViewResolver(ISparkViewEngine sparkViewEngine)

public ISparkView Create(string name, object viewData)
{
return _sparkViewEngine.CreateInstance(new SparkViewDescriptor().AddTemplate(name));
SparkResourceView instance = (SparkResourceView) _sparkViewEngine.CreateInstance(new SparkViewDescriptor().AddTemplate(name));
instance.ViewData = new ViewData(viewData);
return instance;
}
}
}

0 comments on commit 4ae833c

Please sign in to comment.