diff --git a/lib/NUnit-config/Microsoft.VisualStudio.TestTools.cs b/lib/NUnit-config/Microsoft.VisualStudio.TestTools.cs index d526c48930..2726299689 100644 --- a/lib/NUnit-config/Microsoft.VisualStudio.TestTools.cs +++ b/lib/NUnit-config/Microsoft.VisualStudio.TestTools.cs @@ -1,6 +1,6 @@  using System; - +#if !SILVERLIGHT && !COMPACT_FRAMEWORK namespace Microsoft.VisualStudio.TestTools.UnitTesting { [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)] @@ -50,4 +50,5 @@ namespace Microsoft.VisualStudio.TestTools.UnitTesting NUnit.Framework.Assert.AreEqual(b1, b2); } } -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/src/ProtocolBuffers.Serialization/AbstractReader.cs b/src/ProtocolBuffers.Serialization/AbstractReader.cs index 3c60139ac4..a46125fc45 100644 --- a/src/ProtocolBuffers.Serialization/AbstractReader.cs +++ b/src/ProtocolBuffers.Serialization/AbstractReader.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using Google.ProtocolBuffers.Descriptors; //Disable CS3011: only CLS-compliant members can be abstract @@ -697,5 +698,28 @@ namespace Google.ProtocolBuffers.Serialization } #endregion + + internal static bool TryParseInt32(string text, out int number) + { + return TryParseInt32(text, NumberStyles.Any, CultureInfo.InvariantCulture, out number); + } + + internal static bool TryParseInt32(string text, NumberStyles style, IFormatProvider format, out int number) + { +#if COMPACT_FRAMEWORK + try + { + number = int.Parse(text, NumberStyles.Integer, CultureInfo.InvariantCulture); + return true; + } + catch + { + number = 0; + return false; + } +#else + return int.TryParse(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out number); +#endif + } } } \ No newline at end of file diff --git a/src/ProtocolBuffers.Serialization/AbstractTextReader.cs b/src/ProtocolBuffers.Serialization/AbstractTextReader.cs index 8cac696cfa..3f8a0c0589 100644 --- a/src/ProtocolBuffers.Serialization/AbstractTextReader.cs +++ b/src/ProtocolBuffers.Serialization/AbstractTextReader.cs @@ -163,7 +163,7 @@ namespace Google.ProtocolBuffers.Serialization if (ReadAsText(ref text, typeof(Enum))) { int number; - if (int.TryParse(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out number)) + if (TryParseInt32(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out number)) { value = number; return true; diff --git a/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs b/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs index 01234ea6ab..de8a76b46f 100644 --- a/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs +++ b/src/ProtocolBuffers.Serialization/JsonFormatWriter.cs @@ -100,7 +100,7 @@ namespace Google.ProtocolBuffers.Serialization private class JsonStreamWriter : JsonFormatWriter { -#if SILVERLIGHT || COMPACT_FRAMEWORK_35 +#if SILVERLIGHT || COMPACT_FRAMEWORK static readonly Encoding Encoding = new UTF8Encoding(false); #else private static readonly Encoding Encoding = Encoding.ASCII; diff --git a/src/ProtocolBuffers.Serialization/JsonTextCursor.cs b/src/ProtocolBuffers.Serialization/JsonTextCursor.cs index 48e84ccc4e..1a7988096e 100644 --- a/src/ProtocolBuffers.Serialization/JsonTextCursor.cs +++ b/src/ProtocolBuffers.Serialization/JsonTextCursor.cs @@ -322,7 +322,7 @@ namespace Google.ProtocolBuffers.Serialization string hex = new string(new char[] {ReadChar(), ReadChar(), ReadChar(), ReadChar()}); int result; Assert( - int.TryParse(hex, NumberStyles.AllowHexSpecifier, CultureInfo.InvariantCulture, + AbstractTextReader.TryParseInt32(hex, NumberStyles.AllowHexSpecifier, CultureInfo.InvariantCulture, out result), "Expected a 4-character hex specifier."); sb.Add((char) result); diff --git a/src/ProtocolBuffers.Serialization/Properties/AssemblyInfo.cs b/src/ProtocolBuffers.Serialization/Properties/AssemblyInfo.cs index 55da8510f4..95bc4a615a 100644 --- a/src/ProtocolBuffers.Serialization/Properties/AssemblyInfo.cs +++ b/src/ProtocolBuffers.Serialization/Properties/AssemblyInfo.cs @@ -68,7 +68,7 @@ using System.Runtime.CompilerServices; // [assembly: AssemblyVersion("2.4.1.473")] [assembly: AssemblyVersion("2.4.1.473")] -#if !COMPACT_FRAMEWORK_35 +#if !COMPACT_FRAMEWORK [assembly: AssemblyFileVersion("2.4.1.473")] #endif diff --git a/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj b/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj index 6ac39241fa..b349fcfd39 100644 --- a/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj +++ b/src/ProtocolBuffers.Serialization/ProtocolBuffers.Serialization.csproj @@ -1,6 +1,7 @@  + CLIENTPROFILE Debug AnyCPU 9.0.30729 diff --git a/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj b/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj index 0c4222d90d..c2605735c0 100644 --- a/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj +++ b/src/ProtocolBuffers.Serialization/ProtocolBuffersLite.Serialization.csproj @@ -1,6 +1,7 @@  + CLIENTPROFILE Debug AnyCPU 9.0.30729 diff --git a/src/ProtocolBuffers.Serialization/RecursionLimitExceeded.cs b/src/ProtocolBuffers.Serialization/RecursionLimitExceeded.cs index 7a956954da..a2f683f70d 100644 --- a/src/ProtocolBuffers.Serialization/RecursionLimitExceeded.cs +++ b/src/ProtocolBuffers.Serialization/RecursionLimitExceeded.cs @@ -7,7 +7,7 @@ namespace Google.ProtocolBuffers.Serialization /// /// The exception raised when a recursion limit is reached while parsing input. /// -#if !SILVERLIGHT +#if !SILVERLIGHT && !COMPACT_FRAMEWORK [Serializable] #endif public sealed class RecursionLimitExceededException : FormatException @@ -18,7 +18,7 @@ namespace Google.ProtocolBuffers.Serialization { } -#if !SILVERLIGHT +#if !SILVERLIGHT && !COMPACT_FRAMEWORK private RecursionLimitExceededException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { diff --git a/src/ProtocolBuffers.Serialization/XmlFormatReader.cs b/src/ProtocolBuffers.Serialization/XmlFormatReader.cs index 59d7ad4e7d..71ede7d24f 100644 --- a/src/ProtocolBuffers.Serialization/XmlFormatReader.cs +++ b/src/ProtocolBuffers.Serialization/XmlFormatReader.cs @@ -269,7 +269,7 @@ namespace Google.ProtocolBuffers.Serialization { int number; string temp; - if (null != (temp = _input.GetAttribute("value")) && int.TryParse(temp, out number)) + if (null != (temp = _input.GetAttribute("value")) && TryParseInt32(temp, out number)) { Skip(); value = number; diff --git a/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs b/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs index ce0c57c4ff..f6e7537ca1 100644 --- a/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs +++ b/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs @@ -196,7 +196,7 @@ namespace Google.ProtocolBuffers 0x9abcdef012345678UL); } -#if !SILVERLIGHT +#if !SILVERLIGHT && !COMPACT_FRAMEWORK [TestMethod] public void WriteWholeMessage() { diff --git a/src/ProtocolBuffers.Test/Compatibility/TextCompatibilityTests.cs b/src/ProtocolBuffers.Test/Compatibility/TextCompatibilityTests.cs index 9c0afe467b..c2eaadf62d 100644 --- a/src/ProtocolBuffers.Test/Compatibility/TextCompatibilityTests.cs +++ b/src/ProtocolBuffers.Test/Compatibility/TextCompatibilityTests.cs @@ -19,14 +19,15 @@ namespace Google.ProtocolBuffers.Compatibility TextFormat.Merge(new StringReader((string)message), registry, (IBuilder)builder); return builder; } - - [TestMethod, System.ComponentModel.Description("This test can take a very long time to run.")] + //This test can take a very long time to run. + [TestMethod] public override void RoundTripMessage2OptimizeSize() { //base.RoundTripMessage2OptimizeSize(); } - [TestMethod, System.ComponentModel.Description("This test can take a very long time to run.")] + //This test can take a very long time to run. + [TestMethod] public override void RoundTripMessage2OptimizeSpeed() { //base.RoundTripMessage2OptimizeSpeed(); diff --git a/src/ProtocolBuffers.Test/IssuesTest.cs b/src/ProtocolBuffers.Test/IssuesTest.cs index 7096a52dfa..a80021c5d3 100644 --- a/src/ProtocolBuffers.Test/IssuesTest.cs +++ b/src/ProtocolBuffers.Test/IssuesTest.cs @@ -34,26 +34,32 @@ #endregion + +using System; +using System.Collections.Generic; +using Google.ProtocolBuffers.Collections; using Google.ProtocolBuffers.Descriptors; -using NUnit.Framework; +using Google.ProtocolBuffers.TestProtos; +using Microsoft.VisualStudio.TestTools.UnitTesting; using UnitTest.Issues.TestProtos; + namespace Google.ProtocolBuffers { /// /// Tests for issues which aren't easily compartmentalized into other unit tests. /// - [TestFixture] + [TestClass] public class IssuesTest { // Issue 45 - [Test] + [TestMethod] public void FieldCalledItem() { ItemField message = new ItemField.Builder { Item = 3 }.Build(); FieldDescriptor field = ItemField.Descriptor.FindFieldByName("item"); Assert.IsNotNull(field); - Assert.AreEqual(3, message[field]); + Assert.AreEqual(3, (int)message[field]); } } } diff --git a/src/ProtocolBuffers.Test/Properties/AssemblyInfo.cs b/src/ProtocolBuffers.Test/Properties/AssemblyInfo.cs index 7b9c24d16e..676b565ff7 100644 --- a/src/ProtocolBuffers.Test/Properties/AssemblyInfo.cs +++ b/src/ProtocolBuffers.Test/Properties/AssemblyInfo.cs @@ -38,7 +38,11 @@ using System.Runtime.InteropServices; // [assembly: AssemblyVersion("2.4.1.473")] [assembly: AssemblyVersion("2.4.1.473")] +#if !COMPACT_FRAMEWORK [assembly: AssemblyFileVersion("2.4.1.473")] + +#endif + // We don't really need CLSCompliance, but if the assembly builds with no warnings, // that means the generator is okay. diff --git a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj index 07ccf81e07..3ef8a94681 100644 --- a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj +++ b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj @@ -1,6 +1,7 @@  + CLIENTPROFILE Debug AnyCPU 9.0.30729 @@ -58,14 +59,25 @@ true + + + + + False ..\..\lib\NUnit\lib\nunit.framework.dll - - - - + + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.Silverlight.Testing.dll + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + @@ -83,6 +95,7 @@ + diff --git a/src/ProtocolBuffers.Test/ReusableBuilderTest.cs b/src/ProtocolBuffers.Test/ReusableBuilderTest.cs index 93129b2f1a..a63f657556 100644 --- a/src/ProtocolBuffers.Test/ReusableBuilderTest.cs +++ b/src/ProtocolBuffers.Test/ReusableBuilderTest.cs @@ -13,7 +13,8 @@ namespace Google.ProtocolBuffers [TestClass] public class ReusableBuilderTest { - [TestMethod, System.ComponentModel.Description("Issue 28: Circular message dependencies result in null defaults for DefaultInstance")] + //Issue 28: Circular message dependencies result in null defaults for DefaultInstance + [TestMethod] public void EnsureStaticCicularReference() { MyMessageAReferenceB ab = MyMessageAReferenceB.DefaultInstance; diff --git a/src/ProtocolBuffers.Test/SerializableTest.cs b/src/ProtocolBuffers.Test/SerializableTest.cs index edf6ce491d..b55358ef97 100644 --- a/src/ProtocolBuffers.Test/SerializableTest.cs +++ b/src/ProtocolBuffers.Test/SerializableTest.cs @@ -1,4 +1,5 @@ -using System; +#if !SILVERLIGHT && !COMPACT_FRAMEWORK +using System; using System.Collections.Generic; using System.IO; using System.Runtime.Serialization; @@ -175,3 +176,4 @@ namespace Google.ProtocolBuffers } } } +#endif \ No newline at end of file diff --git a/src/ProtocolBuffers.Test/TestUtil.cs b/src/ProtocolBuffers.Test/TestUtil.cs index dd1c981d94..12d73d165a 100644 --- a/src/ProtocolBuffers.Test/TestUtil.cs +++ b/src/ProtocolBuffers.Test/TestUtil.cs @@ -49,12 +49,11 @@ using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert; using Microsoft.VisualStudio.TestTools.UnitTesting; #endif - namespace Google.ProtocolBuffers { internal static class TestUtil { -#if !SILVERLIGHT +#if !SILVERLIGHT && !COMPACT_FRAMEWORK private static string testDataDirectory; internal static string TestDataDirectory @@ -1769,6 +1768,9 @@ namespace Google.ProtocolBuffers public static void TestInMultipleCultures(CultureAction test) { +#if COMPACT_FRAMEWORK + test(); +#else CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture; foreach (string culture in TestCultures) { @@ -1782,6 +1784,7 @@ namespace Google.ProtocolBuffers Thread.CurrentThread.CurrentCulture = originalCulture; } } +#endif } /// diff --git a/src/ProtocolBuffers.Test/TextFormatTest.cs b/src/ProtocolBuffers.Test/TextFormatTest.cs index 299b2650d1..10ab4e150e 100644 --- a/src/ProtocolBuffers.Test/TextFormatTest.cs +++ b/src/ProtocolBuffers.Test/TextFormatTest.cs @@ -41,6 +41,7 @@ using Google.ProtocolBuffers.TestProtos; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Globalization; using System.Threading; +#if !SILVERLIGHT && !COMPACT_FRAMEWORK namespace Google.ProtocolBuffers { @@ -175,7 +176,10 @@ namespace Google.ProtocolBuffers /// private static ByteString Bytes(string str) { - return ByteString.CopyFrom(Encoding.GetEncoding(28591).GetBytes(str)); + byte[] bytes = new byte[str.Length]; + for (int i = 0; i < bytes.Length; i++) + bytes[i] = (byte)str[i]; + return ByteString.CopyFrom(bytes); } [TestMethod] @@ -568,4 +572,5 @@ namespace Google.ProtocolBuffers Assert.AreEqual(longText, builder.OptionalString); } } -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/src/ProtocolBuffers/CodedInputStream.cs b/src/ProtocolBuffers/CodedInputStream.cs index be88d154aa..230c585cfa 100644 --- a/src/ProtocolBuffers/CodedInputStream.cs +++ b/src/ProtocolBuffers/CodedInputStream.cs @@ -231,7 +231,7 @@ namespace Google.ProtocolBuffers /// public bool ReadDouble(ref double value) { -#if SILVERLIGHT || COMPACT_FRAMEWORK_35 +#if SILVERLIGHT || COMPACT_FRAMEWORK if (BitConverter.IsLittleEndian && 8 <= bufferSize - bufferPos) { value = BitConverter.ToDouble(buffer, bufferPos); diff --git a/src/ProtocolBuffers/CodedOutputStream.cs b/src/ProtocolBuffers/CodedOutputStream.cs index 889ade7fd2..f4d637c1ec 100644 --- a/src/ProtocolBuffers/CodedOutputStream.cs +++ b/src/ProtocolBuffers/CodedOutputStream.cs @@ -496,7 +496,7 @@ namespace Google.ProtocolBuffers /// public void WriteDoubleNoTag(double value) { -#if SILVERLIGHT || COMPACT_FRAMEWORK_35 +#if SILVERLIGHT || COMPACT_FRAMEWORK byte[] rawBytes = BitConverter.GetBytes(value); if (!BitConverter.IsLittleEndian) ByteArray.Reverse(rawBytes); diff --git a/src/ProtocolBuffers/CustomSerialization.cs b/src/ProtocolBuffers/CustomSerialization.cs index 6b7a38ebd4..22d87379c5 100644 --- a/src/ProtocolBuffers/CustomSerialization.cs +++ b/src/ProtocolBuffers/CustomSerialization.cs @@ -40,7 +40,7 @@ using System.Runtime.Serialization; /* * This entire source file is not supported on the Silverlight platform */ -#if !SILVERLIGHT +#if !SILVERLIGHT && !COMPACT_FRAMEWORK namespace Google.ProtocolBuffers { /* diff --git a/src/ProtocolBuffers/EnumLite.cs b/src/ProtocolBuffers/EnumLite.cs index a6a25f4e8a..450ecb7760 100644 --- a/src/ProtocolBuffers/EnumLite.cs +++ b/src/ProtocolBuffers/EnumLite.cs @@ -98,7 +98,7 @@ namespace Google.ProtocolBuffers public EnumLiteMap() { items = new SortedList(); -#if SILVERLIGHT +#if SILVERLIGHT || COMPACT_FRAMEWORK // Silverlight doesn't support Enum.GetValues // TODO(jonskeet): Validate that this reflection is permitted, e.g. in Windows Phone 7 foreach (System.Reflection.FieldInfo fi in typeof(TEnum).GetFields(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public)) diff --git a/src/ProtocolBuffers/Properties/AssemblyInfo.cs b/src/ProtocolBuffers/Properties/AssemblyInfo.cs index 55da8510f4..95bc4a615a 100644 --- a/src/ProtocolBuffers/Properties/AssemblyInfo.cs +++ b/src/ProtocolBuffers/Properties/AssemblyInfo.cs @@ -68,7 +68,7 @@ using System.Runtime.CompilerServices; // [assembly: AssemblyVersion("2.4.1.473")] [assembly: AssemblyVersion("2.4.1.473")] -#if !COMPACT_FRAMEWORK_35 +#if !COMPACT_FRAMEWORK [assembly: AssemblyFileVersion("2.4.1.473")] #endif diff --git a/src/ProtocolBuffers/ProtocolBuffers.csproj b/src/ProtocolBuffers/ProtocolBuffers.csproj index e473f8b5fd..bc7211edf6 100644 --- a/src/ProtocolBuffers/ProtocolBuffers.csproj +++ b/src/ProtocolBuffers/ProtocolBuffers.csproj @@ -1,6 +1,7 @@  + CLIENTPROFILE Debug AnyCPU 9.0.30729 diff --git a/src/ProtocolBuffers/ProtocolBuffersLite.csproj b/src/ProtocolBuffers/ProtocolBuffersLite.csproj index 4773c5ad0c..645112ce67 100644 --- a/src/ProtocolBuffers/ProtocolBuffersLite.csproj +++ b/src/ProtocolBuffers/ProtocolBuffersLite.csproj @@ -1,6 +1,7 @@  + CLIENTPROFILE Debug AnyCPU 9.0.30729 diff --git a/src/ProtocolBuffers/ThrowHelper.cs b/src/ProtocolBuffers/ThrowHelper.cs index f04a7f16e4..22584dd0b8 100644 --- a/src/ProtocolBuffers/ThrowHelper.cs +++ b/src/ProtocolBuffers/ThrowHelper.cs @@ -82,7 +82,7 @@ namespace Google.ProtocolBuffers public static Exception CreateMissingMethod(Type type, string methodName) { -#if SILVERLIGHT +#if SILVERLIGHT || COMPACT_FRAMEWORK return new MissingMethodException(String.Format("The method '{0}' was not found on type {1}", methodName, type)); #else return new MissingMethodException(String.Format("{0}", type), methodName); diff --git a/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj b/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj index 0adb9135d4..55cf43b7ee 100644 --- a/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj +++ b/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj @@ -1,6 +1,7 @@  + CLIENTPROFILE Debug AnyCPU 9.0.30729 @@ -39,14 +40,25 @@ true + + + + + False ..\..\lib\NUnit\lib\nunit.framework.dll - - - - + + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.Silverlight.Testing.dll + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + @@ -66,6 +78,7 @@ + diff --git a/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj index e516198a43..42f18c32b0 100644 --- a/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj +++ b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj @@ -1,6 +1,7 @@  + CLIENTPROFILE Debug AnyCPU 9.0.30729 @@ -39,14 +40,25 @@ 4 + + + + + False ..\..\lib\NUnit\lib\nunit.framework.dll - - - - + + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.Silverlight.Testing.dll + + + False + ..\..\lib\Microsoft.Silverlight.Testing\April2010\Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll + @@ -62,6 +74,7 @@ + diff --git a/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs b/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs index a688a909e0..5049f30a7d 100644 --- a/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs +++ b/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs @@ -1,4 +1,5 @@ using System; +#if !SILVERLIGHT && !COMPACT_FRAMEWORK using System.Collections.Generic; using System.IO; using System.Runtime.Serialization; @@ -51,3 +52,4 @@ namespace Google.ProtocolBuffers } } } +#endif \ No newline at end of file