[Mono-dev] Patch for Bug 650365

Stifu stifu at free.fr
Sun Oct 31 04:35:34 EDT 2010


Note that you may attach the patch directly to the bug report, which may be
more convenient and make it less likely to get lost.

Also, if you provide unit tests that highlight what your patch fixes (as a
2nd patch, that updates the existing unit tests), then developers are likely
to apply your patch faster, as they'll be more confident in the changes.


Nikolaos Georgiou-2 wrote:
> 
> Hello all,
> 
> earlier this day I discovered a bug in System.Resources:
> https://bugzilla.novell.com/show_bug.cgi?id=650365
> 
> I was able to fix it by myself. The patch is in the attached file. It 
> includes the modification in the source code and one unit test.
> 
> Is this the correct way to submit a fix? Should I do something else?
> 
> Regards,
> Nikolaos Georgiou
> 
> 
> diff --git
> a/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceWriter.cs
> b/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceWriter.cs
> index 5c274ab..fa03e85 100644
> ---
> a/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceWriter.cs
> +++
> b/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceWriter.cs
> @@ -241,7 +241,7 @@ namespace System.Resources
>  		private void AddResource (string name, object value, string comment)
>  		{
>  			if (value is string) {
> -				AddResource (name, (string) value);
> +				AddResource (name, (string) value, comment);
>  				return;
>  			}
>  
> @@ -294,6 +294,11 @@ namespace System.Resources
>  		
>  		public void AddResource (string name, string value)
>  		{
> +			AddResource (name, value, string.Empty);
> +		}
> +
> +		public void AddResource (string name, string value, string comment)
> +		{
>  			if (name == null)
>  				throw new ArgumentNullException ("name");
>  
> @@ -306,7 +311,7 @@ namespace System.Resources
>  			if (writer == null)
>  				InitWriter ();
>  
> -			WriteString (name, value);
> +			WriteString (name, value, null, comment);
>  		}
>  
>  #if NET_2_0
> diff --git
> a/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs
> b/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs
> index 90abb81..5814719 100644
> --- a/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs
> +++ b/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs
> @@ -8,6 +8,7 @@
>  using System;
>  using System.Collections;
>  using System.ComponentModel;
> +using System.ComponentModel.Design;
>  using System.Drawing;
>  using System.Globalization;
>  using System.IO;
> @@ -101,6 +102,39 @@ namespace MonoTests.System.Resources
>  		}
>  
>  		[Test]
> +		public void AddResource_WithComment ()
> +		{
> +			ResXResourceWriter w = new ResXResourceWriter (fileName);
> +			ResXDataNode node = new ResXDataNode ("key", "value");
> +    			node.Comment = "comment is preserved";
> +			w.AddResource (node);
> +			w.Generate ();
> +			w.Close ();
> +
> +			ResXResourceReader r = new ResXResourceReader (fileName);
> +			ITypeResolutionService typeres = null;
> +			r.UseResXDataNodes = true;
> +			
> +			int count = 0;
> +			foreach (DictionaryEntry o in r)
> +			{
> +				string key = o.Key.ToString();
> +				node = (ResXDataNode)o.Value;
> +				string value = node.GetValue (typeres).ToString ();
> +				string comment = node.Comment;
> +
> +				Assert.AreEqual ("key", key, "key");
> +				Assert.AreEqual ("value", value, "value");
> +				Assert.AreEqual ("comment is preserved", comment, "comment");
> +				Assert.AreEqual (0, count, "too many nodes");
> +				count++;
> +			}
> +			r.Close ();
> +
> +			File.Delete (fileName);
> +		}
> +
> +		[Test]
>  		public void TestWriter ()
>  		{
>  			ResXResourceWriter w = new ResXResourceWriter (fileName);
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 

-- 
View this message in context: http://mono.1490590.n4.nabble.com/Patch-for-Bug-650365-tp3020580p3020918.html
Sent from the Mono - Dev mailing list archive at Nabble.com.


More information about the Mono-devel-list mailing list