public void MultiParaCopy() { var styles = new AssembledStyles(); var root = new RootBoxFdo(styles); var owner = new MockData1(23, 23); var mock1 = new MockData1(23, 23); var mock2 = new MockData1(23, 23); var mock3 = new MockData1(23, 23); owner.InsertIntoObjSeq1(0, mock1); owner.InsertIntoObjSeq1(1, mock2); owner.InsertIntoObjSeq1(2, mock3); mock1.SimpleThree = "This is the"; mock2.SimpleThree = "day that the"; mock3.SimpleThree = "Lord has made"; var engine = new FakeRenderEngine() { Ws = 23, SegmentHeight = 13 }; var factory = new FakeRendererFactory(); factory.SetRenderer(23, engine); var layoutInfo = HookupTests.MakeLayoutInfo(int.MaxValue / 2, m_gm.VwGraphics, 23); PaintTransform ptrans = new PaintTransform(2, 2, 96, 96, 0, 0, 96, 96); MockSite site = new MockSite(); site.m_transform = ptrans; site.m_vwGraphics = m_gm.VwGraphics; root.Site = site; var po = new MockReceiveParagraphOperations(); root.Builder.Show(Display.Of(() => owner.ObjSeq1).Using((bldr, md) => bldr.AddString(() => md.SimpleThree, 23)) .EditParagraphsUsing(po)); var layoutArgs = MakeLayoutInfo(Int32.MaxValue / 2, m_gm.VwGraphics, factory); root.Layout(layoutArgs); int x = FakeRenderEngine.SimulatedWidth("This ") + 2; var location = new Point(x, 8); Clipboard.SetDataObject(""); MouseEventArgs e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); root.OnMouseDown(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCopy(), Is.EqualTo(false), "Should not be able to copy"); x = FakeRenderEngine.SimulatedWidth("Lord") + 2; location = new Point(x, 29); e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); root.OnMouseMove(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCopy(), Is.EqualTo(true), "Should be able to copy"); root.OnEditCopy(); Assert.That(owner.ObjSeq1[0].SimpleThree + owner.ObjSeq1[1].SimpleThree + owner.ObjSeq1[2].SimpleThree, Is.EqualTo("This is the" + "day that the" + "Lord has made")); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo("is the\r\nday that the\r\nLord"), "Selected String should be \"is the\nday that the\nLord \""); }
public void BasicCopy() { var styles = new AssembledStyles(); var root = new RootBoxFdo(styles); var mock1 = new MockData1(23, 23); mock1.SimpleThree = "old contents"; var engine = new FakeRenderEngine() { Ws = 23, SegmentHeight = 13 }; var factory = new FakeRendererFactory(); factory.SetRenderer(23, engine); root.Builder.Show(Display.Of(() => mock1.SimpleThree, 23)); var layoutArgs = MakeLayoutInfo(Int32.MaxValue / 2, m_gm.VwGraphics, factory); root.Layout(layoutArgs); PaintTransform ptrans = new PaintTransform(2, 2, 96, 96, 0, 0, 96, 96); MockSite site = new MockSite(); site.m_transform = ptrans; site.m_vwGraphics = m_gm.VwGraphics; root.Site = site; int x = FakeRenderEngine.SimulatedWidth("old ") + 2; var location = new Point(x, 8); Clipboard.SetDataObject(""); Assert.That(root.CanCopy(), Is.EqualTo(false), "Should not be able to copy"); root.OnEditCopy(); Assert.That(mock1.SimpleThree, Is.EqualTo("old contents"), "Nothing should have changed"); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo(""), "Nothing should have been copied"); MouseEventArgs e = new MouseEventArgs(MouseButtons.Left, 1, 2, location.Y, 0); root.OnMouseDown(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCopy(), Is.EqualTo(false), "Should not be able to copy"); e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); root.OnMouseMove(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCopy(), Is.EqualTo(true), "Should be able to copy"); root.OnEditCopy(); Assert.That(mock1.SimpleThree, Is.EqualTo("old contents"), "Selected String should be \"old contents\""); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo("old "), "Selected String should be \"old \""); }