namespace MonoTests.System.Resources
{
- class ResourceManagerPoker : ResourceManager
- {
- public ResourceManagerPoker ()
- {
- BaseNameField = String.Format ("Test{0}resources{0}MyResources", Path.DirectorySeparatorChar);
- }
-
- public Hashtable GetResourceSets ()
- {
- return base.ResourceSets;
- }
-
- public void InitResourceSets ()
- {
- base.ResourceSets = new Hashtable ();
- }
- }
-
[TestFixture]
public class ResourceManagerTest
{
[Test] // ResourceManager (String, Assembly)
public void Constructor2_BaseName_Resources ()
{
-#if NET_2_0
MockResourceManager rm = new MockResourceManager (
"mono.resources",
Assembly.GetExecutingAssembly ());
Assert.IsTrue (typeof (ResourceSet).IsAssignableFrom (rm.ResourceSetType), "#11");
Assert.IsFalse (typeof (ResourceSet) == rm.ResourceSetType, "#12");
Assert.AreEqual ("RuntimeResourceSet", rm.ResourceSetType.Name, "#13");
-#else
- try {
- new ResourceManager ("mono.resources",
- Assembly.GetExecutingAssembly ());
- Assert.Fail ("#1");
- } catch (ArgumentException ex) {
- // ResourceManager base name should not end in
- // .resources. It should be similar to MyResources,
- // which the ResourceManager can convert into
- // MyResources.<culture>.resources; for example,
- // MyResources.en-US.resources
- Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
- Assert.IsTrue (ex.Message.IndexOf (" .resources") != -1, "#5");
- Assert.IsNull (ex.ParamName, "#6");
- }
-#endif
}
[Test] // ResourceManager (String, Assembly)
[Test] // ResourceManager (String, Assembly, Type)
public void Constructor3_BaseName_Resources ()
{
-#if NET_2_0
MockResourceManager rm = new MockResourceManager (
"mono.resources",
Assembly.GetExecutingAssembly (),
Assert.AreEqual (0, rm.ResourceSets.Count, "#9");
Assert.IsNotNull (rm.ResourceSetType, "#10");
Assert.AreEqual (typeof (ResourceSet), rm.ResourceSetType, "#11");
-#else
- try {
- new ResourceManager ("mono.resources",
- Assembly.GetExecutingAssembly (),
- typeof (ResourceSet));
- Assert.Fail ("#1");
- } catch (ArgumentException ex) {
- // ResourceManager base name should not end in
- // .resources. It should be similar to MyResources,
- // which the ResourceManager can convert into
- // MyResources.<culture>.resources; for example,
- // MyResources.en-US.resources
- Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
- Assert.IsTrue (ex.Message.IndexOf (" .resources") != -1, "#5");
- Assert.IsNull (ex.ParamName, "#6");
- }
-#endif
}
[Test] // ResourceManager (String, Assembly, Type)
}
[Test]
-#if NET_2_0
- [Category ("NotWorking")]
-#endif
public void CreateFileBasedResourceManager_BaseName_Resources ()
{
-#if NET_2_0
ResourceManager rm = ResourceManager.CreateFileBasedResourceManager (
"MyResources.resources", "Test/resources", null);
try {
Assert.IsNull (ex.InnerException, "#3");
Assert.IsNotNull (ex.Message, "#4");
}
-#else
- try {
- ResourceManager.CreateFileBasedResourceManager (
- "MyResources.resources", "Test/resources",
- null);
- Assert.Fail ("#1");
- } catch (ArgumentException ex) {
- // ResourceManager base name should not end in
- // .resources. It should be similar to MyResources,
- // which the ResourceManager can convert into
- // MyResources.<culture>.resources; for example,
- // MyResources.en-US.resources
- Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
- Assert.IsTrue (ex.Message.IndexOf (" .resources") != -1, "#5");
- Assert.IsNull (ex.ParamName, "#6");
- }
-#endif
}
[Test]
}
[Test]
+ [Category ("MobileNotWorking")]
public void GetObject ()
{
ResourceManager rm = ResourceManager.
}
[Test]
+ [Category ("MobileNotWorking")]
public void GetObject_ResourceSet_Disposed ()
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo ("de");
try {
rm.GetObject ("deHelloWorld");
Assert.Fail ("#1");
-#if NET_2_0
} catch (ObjectDisposedException ex) {
// Cannot access a closed resource set
Assert.AreEqual (typeof (ObjectDisposedException), ex.GetType (), "#2");
Assert.IsNull (ex.InnerException, "#3");
Assert.IsNotNull (ex.Message, "#4");
-#else
- } catch (InvalidOperationException ex) {
- // Cannot access a closed resource set
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
-#endif
} finally {
rm.ReleaseAllResources ();
}
}
[Test]
+ [Category ("MobileNotWorking")]
public void GetString ()
{
ResourceManager rm = ResourceManager.
}
[Test]
+ [Category ("MobileNotWorking")]
+ [SetCulture ("de")]
public void GetString_ResourceSet_Disposed ()
{
- Thread.CurrentThread.CurrentUICulture = new CultureInfo ("de");
ResourceManager rm = ResourceManager.
CreateFileBasedResourceManager ("MyResources", "Test/resources", null);
ResourceSet rs = rm.GetResourceSet (new CultureInfo ("de"),
true, true);
rs.Dispose ();
- try {
- rm.GetString ("deHelloWorld");
- Assert.Fail ("#1");
-#if NET_2_0
- } catch (ObjectDisposedException ex) {
- // Cannot access a closed resource set
- Assert.AreEqual (typeof (ObjectDisposedException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
-#else
- } catch (InvalidOperationException ex) {
- // ResourceSet is closed
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
-#endif
- } finally {
- rm.ReleaseAllResources ();
- }
+ Assert.IsNull (rm.GetString ("deHelloWorld"));
+ rm.ReleaseAllResources ();
}
-#if NET_2_0
[Test]
+ [Category ("MobileNotWorking")]
public void GetStream ()
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
}
[Test]
+ [Category ("MobileNotWorking")]
public void GetStream_Culture ()
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
}
[Test]
+ [Category ("MobileNotWorking")]
public void GetStream_Resource_DoesNotExist ()
{
ResourceManager rm = ResourceManager.
}
[Test]
+ [Category ("MobileNotWorking")]
public void GetStream_Resource_NonStream ()
{
ResourceManager rm = ResourceManager.
}
[Test]
+ [Category ("MobileNotWorking")]
public void GetStream_ResourceSet_Disposed ()
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
rm.ReleaseAllResources ();
}
}
-#endif
[Test]
+ [Category ("MobileNotWorking")]
public void IgnoreCase ()
{
ResourceManager rm = ResourceManager.
}
[Test]
- public void InternalGetResourceSet_Culture_Null ()
+ public void TestSatellites ()
{
- MockResourceManager rm = new MockResourceManager (typeof (string));
- try {
- rm.InternalGetResourceSet ((CultureInfo) null, false, true);
- Assert.Fail ("#1");
- } catch (ArgumentNullException ex) {
- // Key cannot be null
- Assert.AreEqual (typeof (ArgumentNullException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
- Assert.IsNotNull (ex.ParamName, "#5");
- Assert.AreEqual ("key", ex.ParamName, "#6");
- }
- }
-
- [Test]
- public void TestResourceManagerGetResourceSetEmpty ()
- {
- Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
- ResourceManagerPoker rm = new ResourceManagerPoker ();
- try {
- rm.GetResourceSet (CultureInfo.InvariantCulture,
- true, true);
- Assert.Fail ("#1");
- } catch (NullReferenceException) {
- }
- }
-
- [Test]
- public void TestResourceManagerReleaseAllResourcesEmpty ()
- {
- Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
- ResourceManagerPoker rm = new ResourceManagerPoker ();
- try {
- rm.ReleaseAllResources ();
- Assert.Fail ("#1");
- } catch (NullReferenceException) {
- }
- }
-
- [Test]
- public void TestResourceManagerReleaseAllResources ()
- {
- Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
- ResourceManagerPoker rm = new ResourceManagerPoker ();
- rm.InitResourceSets ();
- rm.ReleaseAllResources ();
- }
-
- [Test]
- public void TestResourceManagerResourceSets ()
- {
- Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
- ResourceManagerPoker rm = new ResourceManagerPoker ();
-
- rm.InitResourceSets ();
-
- ResourceSet rs = rm.GetResourceSet (CultureInfo.InvariantCulture,
- true, true);
-
- Assert.AreEqual (1, rm.GetResourceSets().Keys.Count, "#01");
-
- rs.Close ();
-
- Assert.AreEqual (1, rm.GetResourceSets().Keys.Count, "#02");
-
- rs = rm.GetResourceSet (CultureInfo.InvariantCulture,
- true, true);
-
- Assert.AreEqual (1, rm.GetResourceSets().Keys.Count, "#03");
-
- rm.ReleaseAllResources ();
- }
-
- [Test]
- public void TestResourceManagerResourceSetClosedException ()
- {
- Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
- ResourceManagerPoker rm = new ResourceManagerPoker ();
-
- rm.InitResourceSets ();
+ ResourceManager manager = new ResourceManager("Resources", GetType ().Assembly);
- ResourceSet rs = rm.GetResourceSet (CultureInfo.InvariantCulture,
- true, true);
- rs.Close ();
- ResourceSet rs2 = rs;
- rs = rm.GetResourceSet (CultureInfo.InvariantCulture, true, true);
- Assert.IsTrue (Object.ReferenceEquals (rs2, rs), "#0");
-
- try {
- rm.GetString ("HelloWorld");
- Assert.Fail ("#1");
-#if NET_2_0
- } catch (ObjectDisposedException ex) {
- // ResourceSet is closed
- Assert.AreEqual (typeof (ObjectDisposedException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
-#else
- } catch (InvalidOperationException ex) {
- // ResourceSet is closed
- Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
- Assert.IsNull (ex.InnerException, "#3");
- Assert.IsNotNull (ex.Message, "#4");
-#endif
- } finally {
- rm.ReleaseAllResources ();
- }
- }
+ Assert.AreEqual ("Hei", manager.GetString ("Hello", new CultureInfo ("nn-NO")), "nn-NO");
+ Assert.AreEqual ("Hola", manager.GetString ("Hello", new CultureInfo ("es-ES")), "es-ES");
+ Assert.AreEqual ("Hello", manager.GetString ("Hello", new CultureInfo ("en-US")), "en-US");
+ }
class MockResourceManager : ResourceManager
{