glib2 3.4.3 → 3.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/ext/glib2/extconf.rb +1 -5
  4. data/ext/glib2/rbglib-bytes.c +1 -5
  5. data/ext/glib2/rbglib-gc.c +98 -52
  6. data/ext/glib2/rbglib-variant-type.c +1 -5
  7. data/ext/glib2/rbglib-variant.c +3 -5
  8. data/ext/glib2/rbglib.c +4 -0
  9. data/ext/glib2/rbglib.h +4 -1
  10. data/ext/glib2/rbglib_bookmarkfile.c +1 -1
  11. data/ext/glib2/rbglib_datetime.c +1 -5
  12. data/ext/glib2/rbglib_fileutils.c +1 -17
  13. data/ext/glib2/rbglib_iochannel.c +4 -4
  14. data/ext/glib2/rbglib_keyfile.c +1 -35
  15. data/ext/glib2/rbglib_maincontext.c +6 -32
  16. data/ext/glib2/rbglib_mainloop.c +2 -17
  17. data/ext/glib2/rbglib_matchinfo.c +1 -5
  18. data/ext/glib2/rbglib_pollfd.c +1 -25
  19. data/ext/glib2/rbglib_regex.c +1 -13
  20. data/ext/glib2/rbglib_source.c +1 -39
  21. data/ext/glib2/rbglib_spawn.c +5 -10
  22. data/ext/glib2/rbglib_spawnerror.c +2 -2
  23. data/ext/glib2/rbglib_threads.c +2 -15
  24. data/ext/glib2/rbglib_timezone.c +1 -5
  25. data/ext/glib2/rbglib_unichar.c +46 -5
  26. data/ext/glib2/rbglib_unicode.c +1 -18
  27. data/ext/glib2/rbglib_utils.c +1 -14
  28. data/ext/glib2/rbglib_win32.c +3 -7
  29. data/ext/glib2/rbgobj_binding.c +1 -7
  30. data/ext/glib2/rbgobj_closure.c +22 -9
  31. data/ext/glib2/rbgobj_object.c +113 -104
  32. data/ext/glib2/rbgobj_param.c +2 -8
  33. data/ext/glib2/rbgobj_paramspecs.c +6 -24
  34. data/ext/glib2/rbgobj_signal.c +81 -48
  35. data/ext/glib2/rbgobj_strv.c +2 -2
  36. data/ext/glib2/rbgobj_type.c +57 -67
  37. data/ext/glib2/rbgobj_value.c +3 -7
  38. data/ext/glib2/rbgobj_valuetypes.c +14 -62
  39. data/ext/glib2/rbgobject.c +4 -6
  40. data/ext/glib2/rbgobject.h +2 -27
  41. data/ext/glib2/rbgprivate.h +6 -6
  42. data/ext/glib2/rbgutil_callback.c +23 -26
  43. data/lib/glib2/deprecated.rb +22 -1
  44. data/lib/mkmf-gnome.rb +5 -5
  45. data/test/glib-test-utils.rb +18 -3
  46. data/test/run-test.rb +49 -15
  47. data/test/test-binding.rb +1 -11
  48. data/test/test-bytes.rb +1 -5
  49. data/test/test-date-time.rb +1 -3
  50. data/test/test-file-utils.rb +1 -32
  51. data/test/test-iochannel.rb +3 -5
  52. data/test/test-key-file.rb +5 -6
  53. data/test/test-match-info.rb +1 -5
  54. data/test/test-regex.rb +1 -5
  55. data/test/test-source.rb +1 -14
  56. data/test/test-spawn.rb +2 -1
  57. data/test/test-time-zone.rb +1 -5
  58. data/test/test-timeout.rb +2 -3
  59. data/test/test-unicode.rb +16 -12
  60. data/test/test-utils.rb +2 -8
  61. data/test/test-variant-type.rb +1 -3
  62. data/test/test-win32.rb +6 -6
  63. metadata +3 -5
  64. data/ext/glib2/rbgobj_valuearray.c +0 -100
  65. data/test/glib-test-init.rb +0 -19
data/test/test-unicode.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2015-2021 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -13,7 +13,7 @@
13
13
  # You should have received a copy of the GNU Lesser General Public
14
14
  # License along with this library; if not, write to the Free Software
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
-
16
+
17
17
  class TestGLibUnicode < Test::Unit::TestCase
18
18
  include GLibTestUtils
19
19
 
@@ -113,7 +113,6 @@ class TestGLibUnicode < Test::Unit::TestCase
113
113
  end
114
114
 
115
115
  def test_unichar_wide_cjk?
116
- only_glib_version(2, 12, 0)
117
116
  assert(GLib::UniChar.wide_cjk?(unichar("あ")))
118
117
  assert(GLib::UniChar.wide_cjk?(0xD55C)) # HANGUL SYLLABLE HAN
119
118
  assert(!GLib::UniChar.wide_cjk?(unichar("a")))
@@ -176,17 +175,28 @@ class TestGLibUnicode < Test::Unit::TestCase
176
175
  GLib::Unicode.canonical_ordering(utf8_to_utf32(original)))
177
176
  end
178
177
 
179
- def test_unicode_canonical_decomposition
178
+ def test_unichar_compose
179
+ a_with_acute = 0x00E1
180
+ assert_equal(a_with_acute,
181
+ GLib::UniChar.compose(unichar("a"), 0x0301))
182
+
183
+ hiragana_ga = 0x304C
184
+ hiragana_ka = 0x304B
185
+ assert_equal(hiragana_ga,
186
+ GLib::UniChar.compose(hiragana_ka, 0x3099))
187
+ end
188
+
189
+ def test_unichar_decompose
180
190
  a_with_acute = 0x00E1
181
191
  expected = [unichar("a"), 0x0301].pack("U*")
182
192
  assert_equal(utf8_to_utf32(expected),
183
- GLib::Unicode.canonical_decomposition(a_with_acute))
193
+ GLib::UniChar.decompose(a_with_acute))
184
194
 
185
195
  hiragana_ga = 0x304C
186
196
  hiragana_ka = 0x304B
187
197
  expected = [hiragana_ka, 0x3099].pack("U*")
188
198
  assert_equal(utf8_to_utf32(expected),
189
- GLib::Unicode.canonical_decomposition(hiragana_ga))
199
+ GLib::UniChar.decompose(hiragana_ga))
190
200
  end
191
201
 
192
202
  def test_unichar_get_mirror_char
@@ -196,7 +206,6 @@ class TestGLibUnicode < Test::Unit::TestCase
196
206
  end
197
207
 
198
208
  def test_unichar_get_script
199
- only_glib_version(2, 14, 0)
200
209
  assert_equal(GLib::Unicode::SCRIPT_HIRAGANA,
201
210
  GLib::UniChar.get_script(unichar("あ")))
202
211
  end
@@ -261,14 +270,12 @@ class TestGLibUnicode < Test::Unit::TestCase
261
270
  end
262
271
 
263
272
  def test_utf8_collate
264
- only_glib_version(2, 16, 0)
265
273
  assert_operator(0, :>, GLib::UTF8.collate("あ", "い"))
266
274
  assert_operator(0, :<, GLib::UTF8.collate("い", "あ"))
267
275
  assert_equal(0, GLib::UTF8.collate("あ", "あ"))
268
276
  end
269
277
 
270
278
  def test_utf8_collate_key
271
- only_glib_version(2, 16, 0)
272
279
  assert_operator(0, :>,
273
280
  GLib::UTF8.collate_key("あ") <=>
274
281
  GLib::UTF8.collate_key("い"))
@@ -340,20 +347,17 @@ class TestGLibUnicode < Test::Unit::TestCase
340
347
  end
341
348
 
342
349
  def test_unichar_combining_class
343
- only_glib_version(2, 14, 0)
344
350
  assert_equal(0, GLib::UniChar.combining_class(unichar("a")))
345
351
  assert_equal(230, GLib::UniChar.combining_class(unichar("́")))
346
352
  end
347
353
 
348
354
  def test_unichar_mark?
349
- only_glib_version(2, 14, 0)
350
355
  assert(!GLib::UniChar.mark?(unichar("a")))
351
356
  assert(!GLib::UniChar.mark?(0x200E)) # LEFT-TO-RIGHT MARK
352
357
  assert(GLib::UniChar.mark?(0x1DC3)) # COMBINING SUSPENSION MARK
353
358
  end
354
359
 
355
360
  def test_unichar_zero_width?
356
- only_glib_version(2, 14, 0)
357
361
  assert(!GLib::UniChar.zero_width?(unichar("a")))
358
362
  assert(GLib::UniChar.zero_width?(0x200B)) # ZERO WIDTH SPACE
359
363
  end
data/test/test-utils.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2015-2021 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -13,37 +13,31 @@
13
13
  # You should have received a copy of the GNU Lesser General Public
14
14
  # License along with this library; if not, write to the Free Software
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
-
16
+
17
17
  class TestGLibUtils < Test::Unit::TestCase
18
18
  include GLibTestUtils
19
19
 
20
20
  def test_user_cache_dir
21
- only_glib_version(2, 6, 0)
22
21
  assert_kind_of(String, GLib.user_cache_dir)
23
22
  end
24
23
 
25
24
  def test_user_data_dir
26
- only_glib_version(2, 6, 0)
27
25
  assert_kind_of(String, GLib.user_data_dir)
28
26
  end
29
27
 
30
28
  def test_user_config_dir
31
- only_glib_version(2, 6, 0)
32
29
  assert_kind_of(String, GLib.user_config_dir)
33
30
  end
34
31
 
35
32
  def test_system_data_dirs
36
- only_glib_version(2, 6, 0)
37
33
  assert_kind_of(Array, GLib.system_data_dirs)
38
34
  end
39
35
 
40
36
  def test_system_config_dirs
41
- only_glib_version(2, 6, 0)
42
37
  assert_kind_of(Array, GLib.system_config_dirs)
43
38
  end
44
39
 
45
40
  def test_get_user_special_dir
46
- only_glib_version(2, 14, 0)
47
41
  assert_nothing_raised do
48
42
  GLib.get_user_special_dir(GLib::UserDirectory::DESKTOP)
49
43
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2015-2021 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -111,7 +111,6 @@ class TestGLibVariantType < Test::Unit::TestCase
111
111
  end
112
112
 
113
113
  test "OBJECT_PATH_ARRAY" do
114
- only_glib_version(2, 30, 0)
115
114
  assert_equal("ao", GLib::VariantType::OBJECT_PATH_ARRAY.to_s)
116
115
  end
117
116
 
@@ -124,7 +123,6 @@ class TestGLibVariantType < Test::Unit::TestCase
124
123
  end
125
124
 
126
125
  test "VARDICT" do
127
- only_glib_version(2, 30, 0)
128
126
  assert_equal("a{sv}", GLib::VariantType::VARDICT.to_s)
129
127
  end
130
128
  end
data/test/test-win32.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2015-2021 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -13,15 +13,15 @@
13
13
  # You should have received a copy of the GNU Lesser General Public
14
14
  # License along with this library; if not, write to the Free Software
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
-
16
+
17
17
  class TestGLibWin32 < Test::Unit::TestCase
18
18
  include GLibTestUtils
19
19
 
20
20
  def test_get_package_install_directory_of_module
21
- only_win32
22
- only_glib_version(2, 16, 0)
21
+ only_windows
23
22
 
24
- assert_equal("FIXME",
25
- GLib::Win32.get_package_installation_directory_of_module)
23
+ expected = Pathname(RbConfig.ruby).parent.parent.to_s
24
+ actual = GLib::Win32.get_package_installation_directory_of_module
25
+ assert_equal(expected, normalize_path(actual))
26
26
  end
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glib2
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.3
4
+ version: 3.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-10 00:00:00.000000000 Z
11
+ date: 2021-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pkg-config
@@ -128,7 +128,6 @@ files:
128
128
  - ext/glib2/rbgobj_typemodule.c
129
129
  - ext/glib2/rbgobj_typeplugin.c
130
130
  - ext/glib2/rbgobj_value.c
131
- - ext/glib2/rbgobj_valuearray.c
132
131
  - ext/glib2/rbgobj_valuetypes.c
133
132
  - ext/glib2/rbgobject.c
134
133
  - ext/glib2/rbgobject.h
@@ -170,7 +169,6 @@ files:
170
169
  - sample/type-register.rb
171
170
  - sample/type-register2.rb
172
171
  - sample/utils.rb
173
- - test/glib-test-init.rb
174
172
  - test/glib-test-utils.rb
175
173
  - test/run-test.rb
176
174
  - test/test-binding.rb
@@ -221,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
219
  - !ruby/object:Gem::Version
222
220
  version: '0'
223
221
  requirements: []
224
- rubygems_version: 3.2.0.pre1
222
+ rubygems_version: 3.3.0.dev
225
223
  signing_key:
226
224
  specification_version: 4
227
225
  summary: Ruby/GLib2 is a Ruby binding of GLib-2.x.
@@ -1,100 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2011-2019 Ruby-GNOME Project Team
4
- * Copyright (C) 2006 Sjoerd Simons
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
- * MA 02110-1301 USA
20
- */
21
-
22
- #include "rbgprivate.h"
23
-
24
- static VALUE
25
- value_array_to_ruby(const GValue *from)
26
- {
27
- VALUE ary;
28
- guint i;
29
-
30
- GValueArray *array = (GValueArray *)g_value_get_boxed(from);
31
- if (array == NULL)
32
- return Qnil;
33
-
34
- ary = rb_ary_new();
35
- for (i = 0; i < array->n_values; i++)
36
- rb_ary_push(ary, GVAL2RVAL(g_value_array_get_nth(array, i)));
37
-
38
- return ary;
39
- }
40
-
41
- struct value_array_from_ruby_args {
42
- VALUE ary;
43
- long n;
44
- GValueArray *result;
45
- };
46
-
47
- static VALUE
48
- value_array_from_ruby_body(VALUE value)
49
- {
50
- long i;
51
- struct value_array_from_ruby_args *args = (struct value_array_from_ruby_args *)value;
52
-
53
- for (i = 0; i < args->n; i++) {
54
- GValue v = G_VALUE_INIT;
55
-
56
- g_value_init(&v, RVAL2GTYPE(RARRAY_PTR(args->ary)[i]));
57
- rbgobj_rvalue_to_gvalue(RARRAY_PTR(args->ary)[i], &v);
58
-
59
- g_value_array_append(args->result, &v);
60
- }
61
-
62
- return Qnil;
63
- }
64
-
65
- static G_GNUC_NORETURN VALUE
66
- value_array_from_ruby_rescue(VALUE value, VALUE error)
67
- {
68
- g_value_array_free(((struct value_array_from_ruby_args *)value)->result);
69
-
70
- rb_exc_raise(error);
71
- }
72
-
73
- static void
74
- value_array_from_ruby(const VALUE from, GValue *to)
75
- {
76
- struct value_array_from_ruby_args args;
77
-
78
- if (NIL_P(from)) {
79
- g_value_set_boxed(to, NULL);
80
-
81
- return;
82
- }
83
-
84
- args.ary = rb_ary_to_ary(from);
85
- args.n = RARRAY_LEN(args.ary);
86
- args.result = g_value_array_new((guint)args.n);
87
-
88
- rb_rescue(value_array_from_ruby_body, (VALUE)&args,
89
- value_array_from_ruby_rescue, (VALUE)&args);
90
-
91
- g_value_set_boxed(to, args.result);
92
- }
93
-
94
- void
95
- Init_gobject_value_array(void)
96
- {
97
- /* ValueArray is treated as Array */
98
- rbgobj_register_g2r_func(G_TYPE_VALUE_ARRAY, value_array_to_ruby);
99
- rbgobj_register_r2g_func(G_TYPE_VALUE_ARRAY, value_array_from_ruby);
100
- }
@@ -1,19 +0,0 @@
1
- # Copyright (C) 2015-2020 Ruby-GNOME Project Team
2
- #
3
- # This library is free software; you can redistribute it and/or
4
- # modify it under the terms of the GNU Lesser General Public
5
- # License as published by the Free Software Foundation; either
6
- # version 2.1 of the License, or (at your option) any later version.
7
- #
8
- # This library is distributed in the hope that it will be useful,
9
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
- # Lesser General Public License for more details.
12
- #
13
- # You should have received a copy of the GNU Lesser General Public
14
- # License along with this library; if not, write to the Free Software
15
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
-
17
- $VERBOSE = true
18
-
19
- require "test-unit"