public void TestResolvedDataKeys() { GadgetMaster target; DataGadgetTestData gadget = new DataGadgetTestData(); MemoryStream stream = new MemoryStream(); StreamWriter writer = new StreamWriter(stream); target = new GadgetMaster(testFactory, gadget.Source); ResolveDataControlValues(target.MyDataContext, gadget.ExpectedViewer, gadget.ExpectedViewer, gadget.ExpectedFriends); target.MyDataContext.ResolveDataValues(); target.RenderContent(writer); string written = ControlTestHelper.GetStreamContent(stream); object data; for (int i = 0; i < gadget.ExpectedDataKeys.Length; i++) { string key = gadget.ExpectedDataKeys[i]; Assert.IsTrue(target.MasterDataContext.HasVariable(key), "Key not registered: " + key); data = target.MasterDataContext.GetVariableValue(gadget.ExpectedDataKeys[i]); Assert.IsNotNull(data, "Data not resolved for: " + key); } }
public void TestTagRepeater() { DataGadgetTestData data = new DataGadgetTestData(); TestOsRepeaterTagFoundNotEmpty(data); TestRepeaterRenderResult(data); }
/// <summary> /// Helper to check the rendered results /// </summary> /// <param name="gadget"></param> void TestRepeaterRenderResult(DataGadgetTestData gadget) { GadgetMaster master = null; master = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, gadget.Source); master.RenderingOptions.DivWrapContentBlocks = false; ResolveDataControlValues(master.MyDataContext, gadget.ExpectedViewer, gadget.ExpectedViewer, gadget.ExpectedFriends); string result = ControlTestHelper.GetRenderedContents(master, "canvas"); string expected = gadget.ExpectedCanvas.Trim().Replace("\r\n", "\n"); Assert.AreEqual(ControlTestHelper.NormalizeRenderResult(expected), ControlTestHelper.NormalizeRenderResult(result), "Rendered results incorrect"); }
/// <summary> /// Helper method to test that the tag doesn't render blank results /// </summary> /// <param name="gadget"></param> void TestOsRepeaterTagFoundNotEmpty(DataGadgetTestData gadget) { GadgetMaster master = null; MemoryStream stream = null; StreamWriter writer = null; stream = new MemoryStream(); writer = new StreamWriter(stream); master = GadgetMaster.CreateGadget(TEST_FACTORY_KEY, gadget.Source); ResolveDataControlValues(master.MyDataContext, gadget.ExpectedViewer, gadget.ExpectedViewer, gadget.ExpectedFriends); master.RenderContent(writer); Assert.AreEqual(1, master.ContentBlocks.Count); ContentBlock block = master.ContentBlocks[0]; Assert.IsNotNull(block); bool found = false; OsmlRepeater repeater = null; foreach (BaseGadgetControl control in block.Templates) { OsTemplate template = control as OsTemplate; if (template != null) { foreach (BaseGadgetControl innerControl in template.Controls) { if (innerControl is OsmlRepeater) { found = true; repeater = (OsmlRepeater)innerControl; break; } } } } Assert.IsTrue(found, "Repeater not found in gadget results"); Assert.IsNotNull(repeater, "Repeater control is null - i.e. wasn't created"); Assert.Greater(repeater.Controls.Count, 0, "Repeater control tree not built"); }
public void RepeaterGadgetTest() { DataGadgetTestData gadget = null; GadgetMaster target = null; MemoryStream stream = null; StreamWriter writer = null; stream = new MemoryStream(); writer = new StreamWriter(stream); gadget = new DataGadgetTestData(); target = new GadgetMaster(testFactory, gadget.Source); target.RenderingOptions.DivWrapContentBlocks = false; ResolveDataControlValues(target.MyDataContext, gadget.ExpectedViewer, gadget.ExpectedViewer, gadget.ExpectedFriends); string written = ControlTestHelper.GetRenderedContents(target, "canvas"); written = written.Trim(); string expected = gadget.ExpectedCanvas.Trim(); Assert.AreEqual(expected, written, "Repeater canvas does not match"); }