<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Oops, sorry.  I'm just so used to using LINQ. :-)  I can rewrite that portion of the test without it.  When I saw that "make test" built something called "System.Windows.Forms_test_net_4_5.dll", and "make check" said it was running against "CLR Version: 4.0.30319.17020", I didn't think I was limited to 2.0 features.</span></div><div><span><br></span></div><div><span>I was just adding to an existing test, not really changing it.  It still tests what it did before, just more.  But </span><span style="font-size: 12pt; ">I can go revert the test-identifiers I changed.</span></div><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; ">In any case, enclosed is an updated patch.</span></div><div><span><br></span></div><div><span>I'm surprised no one else has
 thought of running Mono's unit tests against .NET, given how useful that would be for ensuring that Mono is compatible.</span></div><div><span><br></span></div><div><span>Steven Boswell</span></div><div><br></div>  <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Stifu <stifu@free.fr><br> <b><span style="font-weight: bold;">To:</span></b> mono-devel-list@lists.ximian.com <br> <b><span style="font-weight: bold;">Sent:</span></b> Saturday, June 2, 2012 1:09 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Mono-dev] Patches for mono-winforms<br> </font> </div> <br>
Hmm, I don't think the added dependency to System.Linq in the tests is OK.<br>The whole thing is supposed to build and run with the .NET 2.0 profile.<br><br>Also, I could be wrong, but I think it's usually a bad idea to change<br>existing tests (unless they're wrong). Just make new tests instead<br>(SelectedRowsTest2(), or whatever). Can anyone confirm?<br><br>As explained here: http://www.mono-project.com/Test_Suite<br><br>"Include an unique message for each Assert() so that when the assert fails,<br>it is trivial to locate it in the source. Otherwise, it may be difficult to<br>determine which part of the test is failing. A good way to ensure unique<br>messages is to use something like #A01, #A02 etc.<br>(...)<br>Once you used such a number in an Assert(), don't change it later on -<br>people might use it it identify the test in bug reports or in mailing<br>lists."<br><br>"BTW, is there any built-in way to run these unit tests against .NET, to<br>make
 sure that what Mono does matches up with what .NET does?"<br><br>Not that I know of.<br><br><br>Steven Boswell II wrote<br>> <br>> Enclosed is a replacement for the previous DataGridView.SelectionChanged()<br>> patch I submitted.  On top of containing the unit test, this one also adds<br>> a call to OnSelectionChanged() to<br>> DataGridView.OnColumnPostRemovedInternal() -- I had previously added a<br>> call to OnSelectionChanged() to DataGridView.OnRowsPostRemovedInternal().<br>> <br>> Please let me know if this is what you expect of a unit test, then I'll<br>> try writing some for my other changes.<br>> <br>> BTW, is there any built-in way to run these unit tests against .NET, to<br>> make sure that what Mono does matches up with what .NET does?<br>> <br>> Steven Boswell<br>> <br>> <br>> ________________________________<br>>  From: Stifu &lt;stifu@&gt;<br>> To:
 mono-devel-list@.ximian <br>> Sent: Saturday, June 2, 2012 8:45 AM<br>> Subject: Re: [Mono-dev] Patches for mono-winforms<br>>  <br>> Alright. Patch 6 has been pushed<br>> (<a href="https://github.com/mono/mono/commit/3d04a14a278d6160e33c16b52b86d68fe45d80b1" target="_blank">https://github.com/mono/mono/commit/3d04a14a278d6160e33c16b52b86d68fe45d80b1</a>).<br>> <br>> I'll take care of the rest later, when I feel less lazy. :)<br>> About patch 1, if there are indeed 2 separate issues, then it's better to<br>> split the patch in 2, and also include 2 unit tests if possible.<br>> <br>> Thanks.<br>> <br>> <br>> Steven Boswell II wrote<br>>> <br>>> Patch 1 is for <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=5419" target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?id=5419</a> .<br>>> Patch 2 is for <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=5420"
 target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?id=5420</a> .<br>>> Patch 3 is for <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=3415" target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?id=3415</a> .<br>>> I attached the relevant patch to all three of those bug reports.<br>>> Patch 6 is<br>>> for <a href="https://bugzilla.novell.com/show_bug.cgi?id=567331 and https://bugzilla.novell.com/show_bug.cgi?id=668012 " target="_blank">https://bugzilla.novell.com/show_bug.cgi?id=567331 and https://bugzilla.novell.com/show_bug.cgi?id=668012 </a>.<br>>>  I would post my patches to those bug reports, but Novell wants WAY too<br>>> much personal information just to reply to a bug report.<br>>> I don't see reports for the other bugs.<br>>> <br>>> I'll go read about NUnit now.<br>>> <br>>> Thanks for reviewing my bug fixes!<br>>>
 <br>>> Steven Boswell<br>>> <br>>> <br>>> ________________________________<br>>>  From: Stifu &lt;stifu@&gt;<br>>> To: mono-devel-list@.ximian <br>>> Sent: Friday, June 1, 2012 4:33 PM<br>>> Subject: Re: [Mono-dev] Patches for mono-winforms<br>>>  <br>>> You could just write tests for what's easy to test, and leave the rest.<br>>> As a bonus, you could post links to related bug reports here, and attach<br>>> patch + unit test (if any) in each of them. You don't need to bother with<br>>> GitHub for now.<br>>> <br>>> I'll have a look and review what I can.<br>>> <br>>> Thanks.<br>>> <br>>> <br>>> Steven Boswell II wrote<br>>>> <br>>>> I reported a few of them in Bugzilla, but I wasn't sure if that database<br>>>> got any attention, e.g. the DataGridView.SelectionRows bug
 wasreported<br>>>> months ago and go no reply.  I don't currently have an account on<br>>>> GitHub;<br>>>> if I absolutely must have one, I'll go make one, but I wasn't planning<br>>>> to<br>>>> do that unless I started making tons of changes or something.  Also, how<br>>>> does one write a unit test for something that has to be verified<br>>>> visually<br>>>> (e.g. fixing ToolStripItem.BackColor) or via user interaction (e.g.<br>>>> fixing<br>>>> DataGridView.SelectionRows)?  So I suppose, yes, I need help :-)<br>>>> <br>>>> Steven Boswell<br>>>> <br>>>> <br>>>> <br>>>> ________________________________<br>>>>  From: Stifu &lt;stifu@&gt;<br>>>> To: mono-devel-list@.ximian <br>>>> Sent: Thursday, May 31, 2012 11:06 PM<br>>>> Subject: Re: [Mono-dev]
 Patches for mono-winforms<br>>>>  <br>>>> Hello,<br>>>> <br>>>> Thanks for your work.<br>>>> <br>>>> If I'm not mistaken, you reported each of these bugs, right? At least I<br>>>> could find the two first ones in bugzilla, but didn't go further.<br>>>> Anyway,<br>>>> I<br>>>> suggest you make pull requests for each bug separately, specifying the<br>>>> bug<br>>>> number. Also, please include unit tests with each patch, highlighting<br>>>> what<br>>>> was fixed. I know it's more work, but it will make commiters more<br>>>> confident<br>>>> with your changes, and will guarantee no one will ever break these parts<br>>>> again.<br>>>> <br>>>> Let me know if you need help.<br>>>> <br>>>> <br>>>> Steven Boswell II wrote<br>>>>> <br>>>>>
 I work in a shop where our apps are written with C# and WinForms.<br>>>>>  Thank<br>>>>> God for Mono; I'm allowed to do all my work under Linux with Mono, and<br>>>>> my<br>>>>> code works fine under MS Windows and .NET.<br>>>>> <br>>>>> Recently, I ran into a showstopper bug in mono-winforms, and finally<br>>>>> decided to look through the code.  I fixed the bug quickly.  That led<br>>>>> me<br>>>>> to looking for the source of other, non-showstopper bugs I've<br>>>>> encountered,<br>>>>> and those went quickly too.  Enclosed is an archive with all of the bug<br>>>>> fixes I made, which were made against the latest version on GitHub.  (I<br>>>>> originally made these bug fixes against version 2.10.5, the most recent<br>>>>> one in Fedora Core 16's yum
 repos.)<br>>>>> <br>>>>> Patch 1 implements the EditingControlShowing event in DataGridView.<br>>>>>  Before, it wasn't called at all.  I had to split a<br>>>>> DataGridViewCell.StyleEditingControl() method off of<br>>>>> DataGridViewCell.InitializeEditingControl(); under .NET, ComboBox.Items<br>>>>> is<br>>>>> initialized before EditingControlShowing is posted, and this split was<br>>>>> necessary to get Mono to work that way too.  Styles modified in the<br>>>>> EditingControlShowing event are now applied to text-box and checkbox<br>>>>> controls too, not just combo-boxes.<br>>>>> <br>>>>> Patch 2 resolves different behavior between .NET and Mono when the user<br>>>>> leaves a DataGridView.  Under .NET, the last-edited cell is committed;<br>>>>> under Mono, changed
 made to the last-edited cell are lost.  It was a<br>>>>> one-line fix.<br>>>>> <br>>>>> Patch 3 fires the DataGridView.SelectionChanged event when the selected<br>>>>> rows/columns changes.  Before, the values of the SelectedRows and<br>>>>> SelectedColumns properties were semi-random during the SelectionChanged<br>>>>> event; now they're accurate.<br>>>>> <br>>>>> Patches 4 and 5 fix two different exception-throws I encountered when<br>>>>> ComboBox.Items.Remove() is called with an item that's not in the combo<br>>>>> box.  .NET doesn't throw any exceptions in this case.<br>>>>> <br>>>>> Patch 6 fixes the implementation of BackColor on ToolStripItem objects.<br>>>>>  Now it behaves like it does under .NET, i.e. the BackColor setting on<br>>>>> menu items etc. shows
 up.<br>>>>> <br>>>>> I would very much appreciate it if you would consider committing these<br>>>>> changes.  My MS-Windows-oriented co-workers were impressed by how<br>>>>> quickly<br>>>>> bugs in Mono can be found and fixed.  Who knows, maybe I'll get some<br>>>>> converts to open-source.  (It amazes me that this sort of thing still<br>>>>> has<br>>>>> to be evangelized...sigh.)<br>>>>> <br>>>>> Steven Boswell<br>>>>> <br>>>>> _______________________________________________<br>>>>> Mono-devel-list mailing list<br>>>>> Mono-devel-list@.ximian<br>>>>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>>>> <br>>>> <br>>>>
 --<br>>>> View this message in context:<br>>>> <a href="http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649621.html" target="_blank">http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649621.html</a><br>>>> Sent from the Mono - Dev mailing list archive at Nabble.com.<br>>>> _______________________________________________<br>>>> Mono-devel-list mailing list<br>>>> Mono-devel-list@.ximian<br>>>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>>> _______________________________________________<br>>>> Mono-devel-list mailing list<br>>>> Mono-devel-list@.ximian<br>>>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list"
 target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>>> <br>>> <br>>> --<br>>> View this message in context:<br>>> <a href="http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649644.html" target="_blank">http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649644.html</a><br>>> Sent from the Mono - Dev mailing list archive at Nabble.com.<br>>> _______________________________________________<br>>> Mono-devel-list mailing list<br>>> Mono-devel-list@.ximian<br>>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>> _______________________________________________<br>>> Mono-devel-list mailing list<br>>> Mono-devel-list@.ximian<br>>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list"
 target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>>> <br>> <br>> --<br>> View this message in context:<br>> <a href="http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649654.html" target="_blank">http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649654.html</a><br>> Sent from the Mono - Dev mailing list archive at Nabble.com.<br>> _______________________________________________<br>> Mono-devel-list mailing list<br>> Mono-devel-list@.ximian<br>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>> _______________________________________________<br>> Mono-devel-list mailing list<br>> Mono-devel-list@.ximian<br>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list"
 target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>> <br><br>--<br>View this message in context: <a href="http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649661.html" target="_blank">http://mono.1490590.n4.nabble.com/Patches-for-mono-winforms-tp4649620p4649661.html</a><br>Sent from the Mono - Dev mailing list archive at Nabble.com.<br>_______________________________________________<br>Mono-devel-list mailing list<br><a ymailto="mailto:Mono-devel-list@lists.ximian.com" href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br><br><br> </div> </div>  </div></body></html>