glib2 3.3.9 → 3.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -5
- data/Rakefile +6 -4
- data/ext/glib2/extconf.rb +1 -5
- data/ext/glib2/rbglib-bytes.c +1 -5
- data/ext/glib2/rbglib-gc.c +98 -52
- data/ext/glib2/rbglib-variant-type.c +1 -5
- data/ext/glib2/rbglib-variant.c +3 -5
- data/ext/glib2/rbglib.c +4 -0
- data/ext/glib2/rbglib.h +7 -4
- data/ext/glib2/rbglib_bookmarkfile.c +4 -4
- data/ext/glib2/rbglib_datetime.c +1 -5
- data/ext/glib2/rbglib_fileutils.c +1 -17
- data/ext/glib2/rbglib_iochannel.c +4 -4
- data/ext/glib2/rbglib_keyfile.c +16 -41
- data/ext/glib2/rbglib_maincontext.c +6 -32
- data/ext/glib2/rbglib_mainloop.c +2 -17
- data/ext/glib2/rbglib_matchinfo.c +1 -5
- data/ext/glib2/rbglib_pollfd.c +1 -25
- data/ext/glib2/rbglib_regex.c +1 -13
- data/ext/glib2/rbglib_source.c +1 -39
- data/ext/glib2/rbglib_spawn.c +5 -10
- data/ext/glib2/rbglib_spawnerror.c +2 -2
- data/ext/glib2/rbglib_threads.c +2 -15
- data/ext/glib2/rbglib_timezone.c +1 -5
- data/ext/glib2/rbglib_unichar.c +46 -5
- data/ext/glib2/rbglib_unicode.c +1 -18
- data/ext/glib2/rbglib_utils.c +1 -14
- data/ext/glib2/rbglib_win32.c +3 -7
- data/ext/glib2/rbgobj_binding.c +1 -7
- data/ext/glib2/rbgobj_closure.c +22 -9
- data/ext/glib2/rbgobj_object.c +113 -104
- data/ext/glib2/rbgobj_param.c +2 -8
- data/ext/glib2/rbgobj_paramspecs.c +6 -24
- data/ext/glib2/rbgobj_signal.c +81 -48
- data/ext/glib2/rbgobj_strv.c +2 -2
- data/ext/glib2/rbgobj_type.c +58 -68
- data/ext/glib2/rbgobj_value.c +3 -7
- data/ext/glib2/rbgobj_valuetypes.c +14 -62
- data/ext/glib2/rbgobject.c +4 -6
- data/ext/glib2/rbgobject.h +2 -27
- data/ext/glib2/rbgprivate.h +6 -6
- data/ext/glib2/rbgutil_callback.c +23 -26
- data/lib/glib2/deprecated.rb +22 -1
- data/lib/mkmf-gnome.rb +5 -5
- data/test/glib-test-utils.rb +18 -3
- data/test/run-test.rb +49 -14
- data/test/test-binding.rb +1 -11
- data/test/test-bytes.rb +1 -5
- data/test/test-date-time.rb +1 -3
- data/test/test-file-utils.rb +1 -32
- data/test/test-iochannel.rb +3 -5
- data/test/test-key-file.rb +5 -6
- data/test/test-match-info.rb +1 -5
- data/test/test-regex.rb +1 -5
- data/test/test-source.rb +1 -14
- data/test/test-spawn.rb +2 -1
- data/test/test-time-zone.rb +1 -5
- data/test/test-timeout.rb +2 -3
- data/test/test-unicode.rb +16 -12
- data/test/test-utils.rb +2 -8
- data/test/test-variant-type.rb +1 -3
- data/test/test-win32.rb +6 -6
- metadata +3 -8
- data/ext/glib2/glib-enum-types.c +0 -1233
- data/ext/glib2/glib-enum-types.h +0 -154
- data/ext/glib2/rbgobj_valuearray.c +0 -100
- data/test/glib-test-init.rb +0 -21
data/test/glib-test-utils.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015 Ruby-
|
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
|
@@ -14,6 +14,12 @@
|
|
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
|
+
require "pathname"
|
18
|
+
|
19
|
+
require "test-unit"
|
20
|
+
|
21
|
+
require "glib2"
|
22
|
+
|
17
23
|
module GLibTestUtils
|
18
24
|
private
|
19
25
|
def only_glib_version(major, minor, micro)
|
@@ -22,7 +28,16 @@ module GLibTestUtils
|
|
22
28
|
end
|
23
29
|
end
|
24
30
|
|
25
|
-
def
|
26
|
-
omit("Only for
|
31
|
+
def only_windows
|
32
|
+
omit("Only for Windows platform") unless GLib.os_win32?
|
33
|
+
end
|
34
|
+
|
35
|
+
def only_not_windows
|
36
|
+
omit("Not for for Windows platform") if GLib.os_win32?
|
37
|
+
end
|
38
|
+
|
39
|
+
def normalize_path(path)
|
40
|
+
return path unless File::ALT_SEPARATOR
|
41
|
+
path.gsub(File::ALT_SEPARATOR, File::SEPARATOR)
|
27
42
|
end
|
28
43
|
end
|
data/test/run-test.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
2
|
+
#
|
3
|
+
# Copyright (C) 2015-2021 Ruby-GNOME Project Team
|
3
4
|
#
|
4
5
|
# This library is free software; you can redistribute it and/or
|
5
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -15,23 +16,57 @@
|
|
15
16
|
# License along with this library; if not, write to the Free Software
|
16
17
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17
18
|
|
19
|
+
require "fileutils"
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
+
def run_test(test_dir, dependencies)
|
22
|
+
$VERBOSE = true
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
+
ruby_gnome_build_dir = ENV["RUBY_GNOME_BUILD_DIR"]
|
25
|
+
ruby_gnome_build_dir ||= File.expand_path("..")
|
26
|
+
ruby_gnome_source_dir = File.expand_path("../..", test_dir)
|
24
27
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
+
dependencies.each do |dependency|
|
29
|
+
source_dir = File.join(ruby_gnome_source_dir, dependency)
|
30
|
+
build_dir = File.join(ruby_gnome_build_dir, dependency)
|
31
|
+
makefile = File.join(build_dir, "Makefile")
|
32
|
+
if File.exist?(makefile)
|
33
|
+
system("make", "-C", build_dir, "-j", out: IO::NULL) or exit(false)
|
34
|
+
$LOAD_PATH.unshift(File.join(build_dir, "ext", dependency))
|
35
|
+
end
|
36
|
+
$LOAD_PATH.unshift(File.join(source_dir, "lib"))
|
37
|
+
end
|
28
38
|
|
29
|
-
|
30
|
-
|
39
|
+
source_fixture_dir = File.join(test_dir, "fixture")
|
40
|
+
if File.exist?(source_fixture_dir)
|
41
|
+
target_name = File.basename(File.expand_path("..", test_dir))
|
42
|
+
build_fixture_dir = File.join(ruby_gnome_build_dir,
|
43
|
+
target_name,
|
44
|
+
"test",
|
45
|
+
"fixture")
|
46
|
+
unless source_fixture_dir == build_fixture_dir
|
47
|
+
FileUtils.rm_rf(build_fixture_dir)
|
48
|
+
FileUtils.mkdir_p(File.dirname(build_fixture_dir))
|
49
|
+
FileUtils.cp_r(source_fixture_dir, build_fixture_dir)
|
50
|
+
end
|
51
|
+
Dir.chdir(build_fixture_dir) do
|
52
|
+
if File.exist?("Rakefile")
|
53
|
+
system("rake") or exit(false)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
31
57
|
|
32
|
-
|
33
|
-
require 'glib-test-utils'
|
58
|
+
require_relative "glib-test-utils"
|
34
59
|
|
35
|
-
|
60
|
+
if block_given?
|
61
|
+
context = {
|
62
|
+
build_fixture_dir: build_fixture_dir,
|
63
|
+
}
|
64
|
+
yield(context)
|
65
|
+
end
|
36
66
|
|
37
|
-
exit
|
67
|
+
exit(Test::Unit::AutoRunner.run(true, test_dir))
|
68
|
+
end
|
69
|
+
|
70
|
+
if $PROGRAM_NAME == __FILE__
|
71
|
+
run_test(__dir__, ["glib2"])
|
72
|
+
end
|
data/test/test-binding.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015 Ruby-
|
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
|
@@ -55,10 +55,6 @@ class TestGLibBinding < Test::Unit::TestCase
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
-
setup do
|
59
|
-
only_glib_version(2, 26, 0)
|
60
|
-
end
|
61
|
-
|
62
58
|
setup do
|
63
59
|
@source = DataObjectDefault.new
|
64
60
|
@target = DataObjectDefault.new
|
@@ -86,7 +82,6 @@ class TestGLibBinding < Test::Unit::TestCase
|
|
86
82
|
end
|
87
83
|
|
88
84
|
test "#unbind" do
|
89
|
-
only_glib_version(2, 38, 0)
|
90
85
|
assert_equal(0, @target.target)
|
91
86
|
@source.source = 10
|
92
87
|
assert_equal(10, @target.target)
|
@@ -132,10 +127,6 @@ class TestGLibBinding < Test::Unit::TestCase
|
|
132
127
|
end
|
133
128
|
end
|
134
129
|
|
135
|
-
setup do
|
136
|
-
only_glib_version(2, 26, 0)
|
137
|
-
end
|
138
|
-
|
139
130
|
setup do
|
140
131
|
@source = DataObjectBidir.new
|
141
132
|
@target = DataObjectBidir.new
|
@@ -174,7 +165,6 @@ class TestGLibBinding < Test::Unit::TestCase
|
|
174
165
|
end
|
175
166
|
|
176
167
|
test "#unbind" do
|
177
|
-
only_glib_version(2, 38, 0)
|
178
168
|
assert_equal("nan", @target.target)
|
179
169
|
@source.source = 10
|
180
170
|
assert_equal("10", @target.target)
|
data/test/test-bytes.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2017-
|
1
|
+
# Copyright (C) 2017-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
|
@@ -17,10 +17,6 @@
|
|
17
17
|
class TestGLibBytes < Test::Unit::TestCase
|
18
18
|
include GLibTestUtils
|
19
19
|
|
20
|
-
setup do
|
21
|
-
only_glib_version(2, 32, 0)
|
22
|
-
end
|
23
|
-
|
24
20
|
sub_test_case ".try_convert" do
|
25
21
|
def test_nil
|
26
22
|
assert_nil(GLib::Bytes.try_convert(nil))
|
data/test/test-date-time.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2016-
|
1
|
+
# Copyright (C) 2016-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
|
@@ -76,7 +76,6 @@ class TestDateTime < Test::Unit::TestCase
|
|
76
76
|
end
|
77
77
|
|
78
78
|
test "timezone: local time zone" do
|
79
|
-
only_glib_version(2, 34, 0)
|
80
79
|
time = Time.now
|
81
80
|
tz = GLib::TimeZone.local
|
82
81
|
datetime = GLib::DateTime.new(:timezone => tz,
|
@@ -95,7 +94,6 @@ class TestDateTime < Test::Unit::TestCase
|
|
95
94
|
end
|
96
95
|
|
97
96
|
test "timezone: UTC time zone" do
|
98
|
-
only_glib_version(2, 34, 0)
|
99
97
|
time = Time.now.utc
|
100
98
|
tz = GLib::TimeZone.utc
|
101
99
|
datetime = GLib::DateTime.new(:timezone => tz,
|
data/test/test-file-utils.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
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
|
@@ -21,38 +21,7 @@ class TestGLibFileUtils < Test::Unit::TestCase
|
|
21
21
|
string.gsub("\u{00A0}", " ")
|
22
22
|
end
|
23
23
|
|
24
|
-
sub_test_case "#format_size_for_display" do
|
25
|
-
def setup
|
26
|
-
only_glib_version(2, 16, 0)
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_kb
|
30
|
-
assert_equal("1.0 KB", GLib.format_size_for_display(1024))
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_10kb
|
34
|
-
assert_equal("10.0 KB", GLib.format_size_for_display(1024 * 10))
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_mb
|
38
|
-
assert_equal("1.0 MB", GLib.format_size_for_display(1024 * 1024))
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_gb
|
42
|
-
assert_equal("1.0 GB", GLib.format_size_for_display(1024 * 1024 * 1024))
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_over_guint32_value
|
46
|
-
guint32_max = 2 ** 32 - 1
|
47
|
-
assert_equal("4.0 GB", GLib.format_size_for_display(guint32_max + 1))
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
24
|
sub_test_case "#format_size" do
|
52
|
-
def setup
|
53
|
-
only_glib_version(2, 30, 0)
|
54
|
-
end
|
55
|
-
|
56
25
|
def test_kb
|
57
26
|
assert_equal("1.0 kB",
|
58
27
|
normalize_space(GLib.format_size(1000)))
|
data/test/test-iochannel.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
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
|
@@ -26,11 +26,13 @@ class TestGIOChannel < Test::Unit::TestCase
|
|
26
26
|
|
27
27
|
@file = Tempfile.new("glib2-content")
|
28
28
|
@file.open
|
29
|
+
@file.binmode
|
29
30
|
@file.print(@content)
|
30
31
|
@file.close
|
31
32
|
|
32
33
|
@sjis_file = Tempfile.new("glib2-sjis-content")
|
33
34
|
@sjis_file.open
|
35
|
+
@sjis_file.binmode
|
34
36
|
@sjis_file.print(@sjis_content)
|
35
37
|
@sjis_file.close
|
36
38
|
end
|
@@ -66,10 +68,6 @@ class TestGIOChannel < Test::Unit::TestCase
|
|
66
68
|
end
|
67
69
|
end
|
68
70
|
|
69
|
-
assert_raises(GLib::IOChannelError) do
|
70
|
-
io.close
|
71
|
-
end
|
72
|
-
|
73
71
|
assert_raises(GLib::FileError) do
|
74
72
|
GLib::IOChannel.new("foo")
|
75
73
|
end
|
data/test/test-key-file.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015 Ruby-
|
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
|
@@ -20,8 +20,6 @@ class TestGLibKeyFile < Test::Unit::TestCase
|
|
20
20
|
include GLibTestUtils
|
21
21
|
|
22
22
|
def test_load_from_dirs
|
23
|
-
only_glib_version(2, 14, 0)
|
24
|
-
|
25
23
|
key_file = GLib::KeyFile.new
|
26
24
|
assert_raise(GLib::KeyFileError::NotFound) do
|
27
25
|
key_file.load_from_dirs("non-existent")
|
@@ -34,7 +32,8 @@ class TestGLibKeyFile < Test::Unit::TestCase
|
|
34
32
|
key_file.load_from_dirs("non-existent", search_dirs)
|
35
33
|
end
|
36
34
|
if GLib.check_version?(2, 31, 2)
|
37
|
-
|
35
|
+
loaded_path = key_file.load_from_dirs(base_name, search_dirs)
|
36
|
+
assert_equal(temp.path, normalize_path(loaded_path))
|
38
37
|
elsif GLib.check_version?(2, 30, 0)
|
39
38
|
assert_raise(GLib::KeyFileError::NotFound) do
|
40
39
|
key_file.load_from_dirs(base_name, search_dirs)
|
@@ -49,11 +48,11 @@ class TestGLibKeyFile < Test::Unit::TestCase
|
|
49
48
|
key = value
|
50
49
|
EOK
|
51
50
|
temp.close
|
52
|
-
|
51
|
+
loaded_path = key_file.load_from_dirs(base_name, search_dirs)
|
52
|
+
assert_equal(temp.path, normalize_path(loaded_path))
|
53
53
|
end
|
54
54
|
|
55
55
|
def test_desktop_constants
|
56
|
-
only_glib_version(2, 14, 0)
|
57
56
|
assert_equal("Desktop Entry", GLib::KeyFile::DESKTOP_GROUP)
|
58
57
|
assert_equal("URL", GLib::KeyFile::DESKTOP_KEY_URL)
|
59
58
|
end
|
data/test/test-match-info.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
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
|
@@ -17,10 +17,6 @@
|
|
17
17
|
class TestMatchInfo < Test::Unit::TestCase
|
18
18
|
include GLibTestUtils
|
19
19
|
|
20
|
-
setup do
|
21
|
-
only_glib_version(2, 30, 0)
|
22
|
-
end
|
23
|
-
|
24
20
|
def test_string
|
25
21
|
regex = GLib::Regex.new("[A-Z]+")
|
26
22
|
match_info = regex.match("abc def")
|
data/test/test-regex.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
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
|
@@ -17,10 +17,6 @@
|
|
17
17
|
class TestRegex < Test::Unit::TestCase
|
18
18
|
include GLibTestUtils
|
19
19
|
|
20
|
-
setup do
|
21
|
-
only_glib_version(2, 30, 0)
|
22
|
-
end
|
23
|
-
|
24
20
|
def test_enum_match_flags
|
25
21
|
assert_const_defined(GLib, :RegexMatchFlags)
|
26
22
|
assert_kind_of(GLib::RegexMatchFlags, GLib::RegexMatchFlags::PARTIAL_HARD)
|
data/test/test-source.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2013-
|
3
|
+
# Copyright (C) 2013-2021 Ruby-GNOME Project Team
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -32,15 +32,6 @@ class TestGLibSource < Test::Unit::TestCase
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_destroy
|
35
|
-
# only_glib_version(2, 35, 4)
|
36
|
-
# GMainContext may be freed before GSource by Ruby's GC.
|
37
|
-
# If GMainContext is freed before GSource, GLib 2.35.3 or earlier is
|
38
|
-
# crashed.
|
39
|
-
#
|
40
|
-
# See also:
|
41
|
-
# * https://bugzilla.gnome.org/show_bug.cgi?id=661767
|
42
|
-
# * https://git.gnome.org/browse/glib/commit/?id=26056558be4656ee6e891a4fae5d4198de7519cf
|
43
|
-
|
44
35
|
context = GLib::MainContext.new
|
45
36
|
source = GLib::Idle.source_new
|
46
37
|
id = source.attach(context)
|
@@ -52,8 +43,6 @@ class TestGLibSource < Test::Unit::TestCase
|
|
52
43
|
end
|
53
44
|
|
54
45
|
def test_name
|
55
|
-
only_glib_version(2, 26, 0)
|
56
|
-
|
57
46
|
source = GLib::Idle.source_new
|
58
47
|
|
59
48
|
source_name = "glib source"
|
@@ -62,8 +51,6 @@ class TestGLibSource < Test::Unit::TestCase
|
|
62
51
|
end
|
63
52
|
|
64
53
|
def test_ready_time
|
65
|
-
only_glib_version(2, 36, 0)
|
66
|
-
|
67
54
|
source = GLib::Idle.source_new
|
68
55
|
|
69
56
|
ready_time = 5
|
data/test/test-spawn.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
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
|
@@ -34,6 +34,7 @@ class TestGLibSpawn < Test::Unit::TestCase
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_async_clear_environment
|
37
|
+
only_not_windows
|
37
38
|
if RbConfig.respond_to?(:ruby)
|
38
39
|
ruby = RbConfig.ruby
|
39
40
|
else
|
data/test/test-time-zone.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2016-
|
1
|
+
# Copyright (C) 2016-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
|
@@ -17,10 +17,6 @@
|
|
17
17
|
class TestTimeZone < Test::Unit::TestCase
|
18
18
|
include GLibTestUtils
|
19
19
|
|
20
|
-
setup do
|
21
|
-
only_glib_version(2, 34, 0)
|
22
|
-
end
|
23
|
-
|
24
20
|
sub_test_case "new" do
|
25
21
|
test "local" do
|
26
22
|
local_1 = GLib::TimeZone.local
|
data/test/test-timeout.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015 Ruby-
|
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 TestGLibTimeout < Test::Unit::TestCase
|
18
18
|
include GLibTestUtils
|
19
19
|
|
@@ -33,7 +33,6 @@ class TestGLibTimeout < Test::Unit::TestCase
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def test_timeout_add_seconds_priority
|
36
|
-
only_glib_version(2, 14, 0)
|
37
36
|
priority = GLib::PRIORITY_HIGH
|
38
37
|
@id = GLib::Timeout.add_seconds(10, priority)
|
39
38
|
source = GLib::MainContext.default.find_source(@id)
|
data/test/test-unicode.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015 Ruby-
|
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
|
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::
|
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::
|
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
|