public void MultiParaPaste() { var styles = new AssembledStyles(); var root = new RootBoxFdo(styles); var owner = new MockData1(23, 23); var mock1 = new MockData1(23, 23); owner.InsertIntoObjSeq1(0, mock1); mock1.SimpleThree = "This 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("is the\r\nday that the\r\nLord "); 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.CanPaste(), Is.EqualTo(true), "Should be able to paste"); root.OnEditPaste(); 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 \""); 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")); x = FakeRenderEngine.SimulatedWidth("") + 2; location = new Point(x, 8); e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); root.OnMouseDown(e, Keys.None, site.m_vwGraphics, site.m_transform); mock1.SimpleThree = ""; owner = new MockData1(); owner.InsertIntoObjSeq1(0, mock1); root.Builder.Show( Display.Of(() => owner.ObjSeq1).Using((bldr, md) => bldr.AddString(() => md.SimpleThree, 23)).EditParagraphsUsing(po)); root.Layout(layoutArgs); Clipboard.SetDataObject( "\r\nThis is the\r\n\r\n\r\nDay that the\r\nLord\r\n\r\nHas\r\n\r\n\r\nMade\r\nW\r\n"); Assert.That(root.CanPaste(), Is.EqualTo(true), "Should be able to paste"); root.OnEditPaste(); string testString = ""; foreach (MockData1 obj in owner.ObjSeq1) { string nextString = obj.SimpleThree; testString += "\r\n"; testString += nextString; } Assert.That(testString, Is.EqualTo("\r\nThis is the\r\n\r\n\r\nDay that the\r\nLord\r\n\r\nHas\r\n\r\n\r\nMade\r\nW\r\n\r\n")); }
public void BasicPaste() { 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; var dataObj = new DataObject(DataFormats.StringFormat, "new "); int x = FakeRenderEngine.SimulatedWidth("new old ") + 2; var location = new Point(x, 8); Clipboard.SetDataObject(""); Assert.That(root.CanPaste(), Is.EqualTo(false), "Should not be able to Paste"); root.OnEditPaste(); Assert.That(mock1.SimpleThree, Is.EqualTo("old contents"), "Nothing should have changed"); MouseEventArgs e = new MouseEventArgs(MouseButtons.Left, 1, 2, location.Y, 0); root.OnMouseDown(e, Keys.None, site.m_vwGraphics, site.m_transform); Clipboard.SetDataObject(dataObj); Assert.That(root.CanPaste(), Is.EqualTo(true), "Should be able to Paste"); root.OnEditPaste(); Assert.That(mock1.SimpleThree, Is.EqualTo("new old contents"), "Selected String should be \"new old contents\""); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.Not.EqualTo(null), "Selected String should not be null"); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo("new "), "Selected String should be \"new \""); dataObj = new DataObject(DataFormats.StringFormat, "new "); x = FakeRenderEngine.SimulatedWidth("") + 2; location = new Point(x, 8); e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); Clipboard.SetDataObject(dataObj); root.OnMouseDown(e, Keys.None, site.m_vwGraphics, site.m_transform); x = FakeRenderEngine.SimulatedWidth("new old ") + 2; location = new Point(x, 8); 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.Selection, Is.Not.EqualTo(null), "Selection should now be assigned"); Assert.That(root.Selection.DragDropData, Is.Not.EqualTo(null), "Selection should now be assigned"); root.OnEditPaste(); Assert.That(mock1.SimpleThree, Is.EqualTo("new contents"), "Selected String should be \"new contents\""); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo("new "), "Selected String should be \"new \""); }