diff --git a/src/GirCore.Libs.slnf b/src/GirCore.Libs.slnf
index de1e5a743..f91215e6d 100644
--- a/src/GirCore.Libs.slnf
+++ b/src/GirCore.Libs.slnf
@@ -48,7 +48,6 @@
"Samples\\WebKit-6.0\\JavascriptCallback\\JavascriptCallback.csproj",
"Tests\\Generation\\GirLoader.Tests\\GirLoader.Tests.csproj",
"Tests\\Libs\\Cairo-1.0.Tests\\Cairo-1.0.Tests.csproj",
- "Tests\\Libs\\GdkPixbuf-2.0.Tests\\GdkPixbuf-2.0.Tests.csproj",
"Tests\\Libs\\Gio-2.0.Tests\\Gio-2.0.Tests.csproj",
"Tests\\Libs\\GLib-2.0.Tests\\GLib-2.0.Tests.csproj",
"Tests\\Libs\\GObject-2.0.Tests\\GObject-2.0.Tests.csproj",
diff --git a/src/GirCore.sln b/src/GirCore.sln
index 8401fb51b..725c152ea 100644
--- a/src/GirCore.sln
+++ b/src/GirCore.sln
@@ -59,8 +59,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestLoading", "Samples\GdkP
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gtk-4.0.Tests", "Tests\Libs\Gtk-4.0.Tests\Gtk-4.0.Tests.csproj", "{F86D983A-9881-4BE7-AF92-FA0CE41FB319}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GdkPixbuf-2.0.Tests", "Tests\Libs\GdkPixbuf-2.0.Tests\GdkPixbuf-2.0.Tests.csproj", "{61016ABA-608B-47FA-9FBD-CA17D24BAB89}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Generation", "Generation", "{7A05C10C-8797-4D29-A97A-F399316BE893}"
ProjectSection(SolutionItems) = preProject
Generation\Directory.Build.props = Generation\Directory.Build.props
@@ -471,18 +469,6 @@ Global
{F86D983A-9881-4BE7-AF92-FA0CE41FB319}.Release|x64.Build.0 = Release|Any CPU
{F86D983A-9881-4BE7-AF92-FA0CE41FB319}.Release|x86.ActiveCfg = Release|Any CPU
{F86D983A-9881-4BE7-AF92-FA0CE41FB319}.Release|x86.Build.0 = Release|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Debug|x64.ActiveCfg = Debug|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Debug|x64.Build.0 = Debug|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Debug|x86.ActiveCfg = Debug|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Debug|x86.Build.0 = Debug|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Release|Any CPU.Build.0 = Release|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Release|x64.ActiveCfg = Release|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Release|x64.Build.0 = Release|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Release|x86.ActiveCfg = Release|Any CPU
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89}.Release|x86.Build.0 = Release|Any CPU
{1EA4392E-960D-4327-9426-4C6220A7B60D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1EA4392E-960D-4327-9426-4C6220A7B60D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1EA4392E-960D-4327-9426-4C6220A7B60D}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -900,7 +886,6 @@ Global
{46E769E2-FEC7-43EA-99B8-E7A7294D68B2} = {7A71B07F-B28B-4DDA-B1EA-565194056951}
{2BB1527F-D7A1-44BA-A297-4E69A3A4411C} = {7A71B07F-B28B-4DDA-B1EA-565194056951}
{F86D983A-9881-4BE7-AF92-FA0CE41FB319} = {46D66262-FC61-43B9-8E76-A361FA3D6C81}
- {61016ABA-608B-47FA-9FBD-CA17D24BAB89} = {46D66262-FC61-43B9-8E76-A361FA3D6C81}
{1EA4392E-960D-4327-9426-4C6220A7B60D} = {7A05C10C-8797-4D29-A97A-F399316BE893}
{0D9C5C7E-F81B-4E0E-B203-22D558E6D7F1} = {B670D679-3B2C-43E8-9F87-5E4E17628011}
{C48DB577-12BB-4AA8-8734-802A39C093BE} = {B670D679-3B2C-43E8-9F87-5E4E17628011}
diff --git a/src/Native/GirTestLib/girtest-property-tester.c b/src/Native/GirTestLib/girtest-property-tester.c
index 678cc734d..d7a60e322 100644
--- a/src/Native/GirTestLib/girtest-property-tester.c
+++ b/src/Native/GirTestLib/girtest-property-tester.c
@@ -12,6 +12,8 @@ typedef enum
PROP_STRING_VALUE = 1,
PROP_PROPERTY_TESTER = 2,
PROP_TYPED_RECORD_VALUE = 3,
+ PROP_INT_VALUE = 4,
+ PROP_BOOLEAN_VALUE = 5,
N_PROPERTIES
} PropertyTesterProperty;
@@ -22,6 +24,8 @@ struct _GirTestPropertyTester
gchar *string_value;
gchar *property_tester;
GirTestTypedRecordTester* record;
+ gint int_value;
+ gboolean boolean_value;
};
G_DEFINE_TYPE(GirTestPropertyTester, girtest_property_tester, G_TYPE_OBJECT)
@@ -48,6 +52,12 @@ girtest_property_tester_get_property (GObject *object,
case PROP_TYPED_RECORD_VALUE:
g_value_set_boxed (value, self->record);
break;
+ case PROP_INT_VALUE:
+ g_value_set_int (value, self->int_value);
+ break;
+ case PROP_BOOLEAN_VALUE:
+ g_value_set_boolean (value, self->boolean_value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@@ -72,6 +82,12 @@ girtest_property_tester_set_property (GObject *object,
case PROP_TYPED_RECORD_VALUE:
self->record = g_value_get_boxed (value);
break;
+ case PROP_INT_VALUE:
+ self->int_value = g_value_get_int (value);
+ break;
+ case PROP_BOOLEAN_VALUE:
+ self->boolean_value = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@@ -111,6 +127,23 @@ girtest_property_tester_class_init(GirTestPropertyTesterClass *class)
properties[PROP_TYPED_RECORD_VALUE] =
g_param_spec_boxed ("record-value", NULL, NULL, GIRTEST_TYPE_TYPED_RECORD_TESTER, G_PARAM_READWRITE);
+
+ properties[PROP_INT_VALUE] =
+ g_param_spec_int ("int-value",
+ "Integer Value",
+ "An int value",
+ G_MININT,
+ G_MAXINT,
+ 0 /* default value */,
+ G_PARAM_READWRITE);
+
+ properties[PROP_BOOLEAN_VALUE] =
+ g_param_spec_boolean ("boolean-value",
+ "Boolean Value",
+ "A boolean value",
+ FALSE /* default value */,
+ G_PARAM_READWRITE);
+
g_object_class_install_properties (object_class, N_PROPERTIES, properties);
}
diff --git a/src/Tests/Libs/GdkPixbuf-2.0.Tests/Assembly.cs b/src/Tests/Libs/GdkPixbuf-2.0.Tests/Assembly.cs
deleted file mode 100644
index 8c1b0b299..000000000
--- a/src/Tests/Libs/GdkPixbuf-2.0.Tests/Assembly.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace GdkPixbuf.Tests;
-
-[TestClass]
-public static class Assembly
-{
- [AssemblyInitialize]
- public static void Initialize(TestContext context)
- {
- Module.Initialize();
- GLib.Functions.LogSetAlwaysFatal(
- GLib.LogLevelFlags.LevelCritical
- | GLib.LogLevelFlags.LevelError
- | GLib.LogLevelFlags.LevelWarning
- );
- }
-}
diff --git a/src/Tests/Libs/GdkPixbuf-2.0.Tests/GdkPixbuf-2.0.Tests.csproj b/src/Tests/Libs/GdkPixbuf-2.0.Tests/GdkPixbuf-2.0.Tests.csproj
deleted file mode 100644
index ba457085c..000000000
--- a/src/Tests/Libs/GdkPixbuf-2.0.Tests/GdkPixbuf-2.0.Tests.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- GdkPixbuf.Tests
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
-
diff --git a/src/Tests/Libs/GdkPixbuf-2.0.Tests/MemoryManagementTest.cs b/src/Tests/Libs/GdkPixbuf-2.0.Tests/MemoryManagementTest.cs
deleted file mode 100644
index 7415ba22b..000000000
--- a/src/Tests/Libs/GdkPixbuf-2.0.Tests/MemoryManagementTest.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using System;
-using FluentAssertions;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace GdkPixbuf.Tests;
-
-[TestClass, TestCategory("UnitTest")]
-public class MemoryManagementTest : Test
-{
- [TestMethod]
- public void TestAutomaticGObjectDisposal()
- {
- WeakReference weakReference = new(null);
- IDisposable? strongReference = null;
-
- CollectAfter(() =>
- {
- var obj = Pixbuf.NewFromFile("test.bmp");
- GObject.Internal.ObjectMapper.ObjectCount.Should().Be(1);
- weakReference.Target = obj;
- });
-
- GObject.Internal.ObjectMapper.ObjectCount.Should().Be(0);
- weakReference.IsAlive.Should().BeFalse();
-
- CollectAfter(() =>
- {
- var obj = Pixbuf.NewFromFile("test.bmp");
-
- GObject.Internal.ObjectMapper.ObjectCount.Should().Be(1);
-
- strongReference = obj;
- weakReference.Target = obj;
- });
-
- weakReference.IsAlive.Should().BeTrue();
- strongReference.Should().NotBeNull();
- }
-
- [TestMethod]
- public void TestManualGObjectDisposal()
- {
- var obj = Pixbuf.NewFromFile("test.bmp");
- GObject.Internal.ObjectMapper.ObjectCount.Should().Be(1);
- obj.Dispose();
- GObject.Internal.ObjectMapper.ObjectCount.Should().Be(0);
- }
-}
diff --git a/src/Tests/Libs/GdkPixbuf-2.0.Tests/PropertyTest.cs b/src/Tests/Libs/GdkPixbuf-2.0.Tests/PropertyTest.cs
deleted file mode 100644
index 4d3c6a031..000000000
--- a/src/Tests/Libs/GdkPixbuf-2.0.Tests/PropertyTest.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using FluentAssertions;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace GdkPixbuf.Tests;
-
-[TestClass, TestCategory("UnitTest")]
-public class PropertyTest : Test
-{
- [TestMethod]
- public void TestIntegerProperty()
- {
- var pixbuf = Pixbuf.NewFromFile("test.bmp");
- pixbuf.Width.Should().Be(500);
- pixbuf.Height.Should().Be(500);
- pixbuf.NChannels.Should().Be(3);
- }
-
- [TestMethod]
- public void TestBoolProperty()
- {
- var pixbuf = Pixbuf.NewFromFile("test.bmp");
- pixbuf.HasAlpha.Should().Be(false);
- }
-}
diff --git a/src/Tests/Libs/GdkPixbuf-2.0.Tests/Test.cs b/src/Tests/Libs/GdkPixbuf-2.0.Tests/Test.cs
deleted file mode 100644
index 72e547e8c..000000000
--- a/src/Tests/Libs/GdkPixbuf-2.0.Tests/Test.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace GdkPixbuf.Tests;
-
-public abstract class Test
-{
- [TestCleanup]
- public void Cleanup()
- {
- GC.Collect();
- GC.WaitForPendingFinalizers();
- }
-
- protected static void CollectAfter(Action action)
- {
- action();
- GC.Collect();
- GC.WaitForPendingFinalizers();
- }
-}
diff --git a/src/Tests/Libs/GdkPixbuf-2.0.Tests/test.bmp b/src/Tests/Libs/GdkPixbuf-2.0.Tests/test.bmp
deleted file mode 100644
index c599257f5..000000000
Binary files a/src/Tests/Libs/GdkPixbuf-2.0.Tests/test.bmp and /dev/null differ
diff --git a/src/Tests/Libs/GirTest-0.1.Tests/ClassTest.cs b/src/Tests/Libs/GirTest-0.1.Tests/ClassTest.cs
index f7bc2fd49..62244fc67 100644
--- a/src/Tests/Libs/GirTest-0.1.Tests/ClassTest.cs
+++ b/src/Tests/Libs/GirTest-0.1.Tests/ClassTest.cs
@@ -1,4 +1,5 @@
-using System.Runtime.InteropServices;
+using System;
+using System.Runtime.InteropServices;
using FluentAssertions;
using Microsoft.VisualBasic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@@ -60,4 +61,43 @@ public void CanTransferOwnershipOfInterfaces()
instanceData = Marshal.PtrToStructure(executor.Handle);
instanceData.RefCount.Should().Be(1);
}
+
+ [TestMethod]
+ public void TestManualGObjectDisposal()
+ {
+ var obj = ClassTester.New();
+ GObject.Internal.ObjectMapper.ObjectCount.Should().Be(1);
+ obj.Dispose();
+ GObject.Internal.ObjectMapper.ObjectCount.Should().Be(0);
+ }
+
+ [TestMethod]
+ public void TestAutomaticGObjectDisposal()
+ {
+ WeakReference weakReference = new(null);
+ IDisposable? strongReference = null;
+
+ CollectAfter(() =>
+ {
+ var obj = ClassTester.New();
+ GObject.Internal.ObjectMapper.ObjectCount.Should().Be(1);
+ weakReference.Target = obj;
+ });
+
+ GObject.Internal.ObjectMapper.ObjectCount.Should().Be(0);
+ weakReference.IsAlive.Should().BeFalse();
+
+ CollectAfter(() =>
+ {
+ var obj = ClassTester.New();
+
+ GObject.Internal.ObjectMapper.ObjectCount.Should().Be(1);
+
+ strongReference = obj;
+ weakReference.Target = obj;
+ });
+
+ weakReference.IsAlive.Should().BeTrue();
+ strongReference.Should().NotBeNull();
+ }
}
diff --git a/src/Tests/Libs/GirTest-0.1.Tests/PropertyTest.cs b/src/Tests/Libs/GirTest-0.1.Tests/PropertyTest.cs
index a9b4d1864..bf249d610 100644
--- a/src/Tests/Libs/GirTest-0.1.Tests/PropertyTest.cs
+++ b/src/Tests/Libs/GirTest-0.1.Tests/PropertyTest.cs
@@ -75,4 +75,27 @@ public void SupportsTypedRecordProperty()
PropertyTester.RecordValuePropertyDefinition.UnmanagedName.Should().Be("record-value");
PropertyTester.RecordValuePropertyDefinition.ManagedName.Should().Be(nameof(PropertyTester.RecordValue));
}
+
+ [DataTestMethod]
+ [DataRow(10)]
+ [DataRow(-10)]
+ [DataRow(0)]
+ public void TestIntProperty(int i)
+ {
+ var obj = PropertyTester.New();
+ obj.IntValue = i;
+
+ obj.IntValue.Should().Be(i);
+ }
+
+ [DataTestMethod]
+ [DataRow(true)]
+ [DataRow(false)]
+ public void TestBooleanProperty(bool b)
+ {
+ var obj = PropertyTester.New();
+ obj.BooleanValue = b;
+
+ obj.BooleanValue.Should().Be(b);
+ }
}