private void RelayoutToolbar() { // Wrap text as necessary foreach (var btn in tStrip.Items.OfType <ToolStripItem>()) { btn.Text = stringWrapper.Wrap(btn.Text, 80, CreateGraphics(), btn.Font); } ResetToolbarMargin(); // Recalculate visibility for the below check Application.DoEvents(); // Check if toolbar buttons are overflowing if (tStrip.Items.OfType <ToolStripItem>().Any(btn => !btn.Visible)) { ShrinkToolbarMargin(); } }
public void StringWrapperTest() { StringWrapper wrapper = new StringWrapper(); Assert.AreEqual("0000", wrapper.Wrap("0000")); Assert.AreEqual("(1)0(1)", wrapper.Wrap("101")); Assert.AreEqual("(111)000", wrapper.Wrap("111000")); Assert.AreEqual("(1)", wrapper.Wrap("1")); Assert.AreEqual("0((2)1)", wrapper.Wrap("021")); Assert.AreEqual("(((3))1(2))", wrapper.Wrap("312")); Assert.AreEqual("((((4))))", wrapper.Wrap("4")); }
public void WordWrap(TestCase testCase) { testCase.Output = textWrapper.Wrap(testCase.Input, testCase.MaxLength); SaveTestResults(testCase); // Test line length limitation var lines = testCase.Output.Split( new string[] { Environment.NewLine }, StringSplitOptions.None ); foreach (string line in lines) { Assert.LessOrEqual(line.Length, testCase.MaxLength, line); } Assert.AreEqual(testCase.Expect, testCase.Output, "Unexpected wrap result"); }