gio2 2.1.0-x86-mingw32 → 2.2.0-x86-mingw32
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/Rakefile +26 -9
- data/ext/gio2/extconf.rb +38 -28
- data/ext/gio2/rb-gio2-pollable-source.c +59 -0
- data/ext/gio2/{rbgiofilteroutputstream.c → rb-gio2.c} +9 -5
- data/ext/gio2/{gio2.c → rb-gio2.h} +5 -10
- data/extconf.rb +22 -6
- data/lib/1.9/gio2.so +0 -0
- data/lib/2.0/gio2.so +0 -0
- data/lib/2.1/gio2.so +0 -0
- data/lib/gio2/deprecated.rb +16 -0
- data/lib/gio2/inet-address.rb +33 -0
- data/lib/gio2/input-stream.rb +39 -0
- data/lib/gio2/loader.rb +244 -0
- data/lib/gio2/output-stream.rb +24 -0
- data/lib/gio2/pollable-input-stream.rb +51 -0
- data/lib/gio2/pollable-output-stream.rb +32 -0
- data/lib/gio2/resources.rb +62 -0
- data/lib/gio2.rb +38 -143
- data/test/fixture/content-type/x-content/unix-software/autorun.sh +1 -0
- data/test/fixture/resource/Rakefile +32 -0
- data/test/fixture/resource/logo.png +0 -0
- data/test/fixture/resource/ruby-gio2.gresource +0 -0
- data/test/fixture/resource/ruby-gio2.gresource.xml +6 -0
- data/test/gio2-test-utils/fixture.rb +24 -0
- data/test/gio2-test-utils/socket-client.rb +59 -0
- data/test/gio2-test-utils.rb +21 -0
- data/test/run-test.rb +45 -9
- data/test/test-buffered-input-stream.rb +23 -0
- data/test/test-charset-converter.rb +23 -0
- data/test/test-content-type.rb +31 -0
- data/test/test-data-input-stream.rb +21 -0
- data/test/test-file-enumerator.rb +26 -0
- data/test/test-file-monitor.rb +33 -0
- data/test/test-file.rb +28 -0
- data/test/test-inet-address.rb +34 -0
- data/test/test-input-stream.rb +36 -0
- data/test/test-output-stream.rb +39 -0
- data/test/test-pollable-input-stream.rb +54 -0
- data/test/test-pollable-output-stream.rb +53 -0
- data/test/test-resources.rb +58 -0
- metadata +49 -107
- data/README +0 -34
- data/ext/gio2/depend +0 -11
- data/ext/gio2/gio2.def +0 -2
- data/ext/gio2/gio2.h +0 -30
- data/ext/gio2/rbgio.c +0 -133
- data/ext/gio2/rbgio2.h +0 -158
- data/ext/gio2/rbgio2conversions.h +0 -154
- data/ext/gio2/rbgio2private.h +0 -148
- data/ext/gio2/rbgioappinfo.c +0 -317
- data/ext/gio2/rbgioapplaunchcontext.c +0 -81
- data/ext/gio2/rbgioasyncinitable.c +0 -246
- data/ext/gio2/rbgioasyncresult.c +0 -41
- data/ext/gio2/rbgiobufferedinputstream.c +0 -167
- data/ext/gio2/rbgiobufferedoutputstream.c +0 -50
- data/ext/gio2/rbgiocancellable.c +0 -180
- data/ext/gio2/rbgiocharsetconverter.c +0 -57
- data/ext/gio2/rbgiocontenttype.c +0 -131
- data/ext/gio2/rbgioconverter.c +0 -113
- data/ext/gio2/rbgioconverterinputstream.c +0 -43
- data/ext/gio2/rbgioconverteroutputstream.c +0 -43
- data/ext/gio2/rbgiodatainputstream.c +0 -309
- data/ext/gio2/rbgiodataoutputstream.c +0 -186
- data/ext/gio2/rbgiodesktopappinfo.c +0 -87
- data/ext/gio2/rbgiodrive.c +0 -266
- data/ext/gio2/rbgioemblem.c +0 -52
- data/ext/gio2/rbgioemblemedicon.c +0 -65
- data/ext/gio2/rbgiofile.c +0 -2045
- data/ext/gio2/rbgiofileattribute.c +0 -114
- data/ext/gio2/rbgiofileattributeinfo.c +0 -86
- data/ext/gio2/rbgiofileattributeinfolist.c +0 -108
- data/ext/gio2/rbgiofileattributematcher.c +0 -95
- data/ext/gio2/rbgiofiledescriptorbased.c +0 -45
- data/ext/gio2/rbgiofileenumerator.c +0 -166
- data/ext/gio2/rbgiofileicon.c +0 -41
- data/ext/gio2/rbgiofileinfo.c +0 -617
- data/ext/gio2/rbgiofileinputstream.c +0 -91
- data/ext/gio2/rbgiofileiostream.c +0 -98
- data/ext/gio2/rbgiofilemonitor.c +0 -46
- data/ext/gio2/rbgiofilenamecompleter.c +0 -73
- data/ext/gio2/rbgiofileoutputstream.c +0 -98
- data/ext/gio2/rbgiofilterinputstream.c +0 -28
- data/ext/gio2/rbgioicon.c +0 -69
- data/ext/gio2/rbgioinetaddress.c +0 -118
- data/ext/gio2/rbgioinetsocketaddress.c +0 -41
- data/ext/gio2/rbgioinitable.c +0 -199
- data/ext/gio2/rbgioinputstream.c +0 -341
- data/ext/gio2/rbgioio.c +0 -73
- data/ext/gio2/rbgioiomodule.c +0 -45
- data/ext/gio2/rbgioiomodules.c +0 -47
- data/ext/gio2/rbgioioscheduler.c +0 -102
- data/ext/gio2/rbgioioschedulerjob.c +0 -121
- data/ext/gio2/rbgioiostream.c +0 -107
- data/ext/gio2/rbgioloadableicon.c +0 -92
- data/ext/gio2/rbgiomemoryinputstream.c +0 -67
- data/ext/gio2/rbgiomemoryoutputstream.c +0 -44
- data/ext/gio2/rbgiomount.c +0 -286
- data/ext/gio2/rbgiomountoperation.c +0 -53
- data/ext/gio2/rbgionetworkaddress.c +0 -59
- data/ext/gio2/rbgionetworkservice.c +0 -45
- data/ext/gio2/rbgiooutputstream.c +0 -331
- data/ext/gio2/rbgioresolver.c +0 -230
- data/ext/gio2/rbgioseekable.c +0 -91
- data/ext/gio2/rbgiosimpleasyncresult.c +0 -152
- data/ext/gio2/rbgiosocket.c +0 -390
- data/ext/gio2/rbgiosocketaddress.c +0 -34
- data/ext/gio2/rbgiosocketaddressenumerator.c +0 -83
- data/ext/gio2/rbgiosocketclient.c +0 -207
- data/ext/gio2/rbgiosocketconnectable.c +0 -41
- data/ext/gio2/rbgiosocketconnection.c +0 -66
- data/ext/gio2/rbgiosocketconnectionfactory.c +0 -39
- data/ext/gio2/rbgiosocketcontrolmessage.c +0 -82
- data/ext/gio2/rbgiosocketlistener.c +0 -246
- data/ext/gio2/rbgiosocketservice.c +0 -66
- data/ext/gio2/rbgiosrvtarget.c +0 -76
- data/ext/gio2/rbgiotcpconnection.c +0 -28
- data/ext/gio2/rbgiothemedicon.c +0 -83
- data/ext/gio2/rbgiothreadedsocketservice.c +0 -43
- data/ext/gio2/rbgiotlscertificate.c +0 -89
- data/ext/gio2/rbgiounixconnection.c +0 -71
- data/ext/gio2/rbgiounixfdlist.c +0 -115
- data/ext/gio2/rbgiounixfdmessage.c +0 -74
- data/ext/gio2/rbgiounixinputstream.c +0 -51
- data/ext/gio2/rbgiounixmount.c +0 -164
- data/ext/gio2/rbgiounixmountmonitor.c +0 -65
- data/ext/gio2/rbgiounixmountpoint.c +0 -136
- data/ext/gio2/rbgiounixmountpoints.c +0 -58
- data/ext/gio2/rbgiounixmounts.c +0 -58
- data/ext/gio2/rbgiounixoutputstream.c +0 -51
- data/ext/gio2/rbgiounixsocketaddress.c +0 -69
- data/ext/gio2/rbgiovfs.c +0 -84
- data/ext/gio2/rbgiovolume.c +0 -193
- data/ext/gio2/rbgiovolumemonitor.c +0 -77
- data/ext/gio2/rbgiozlibcompressor.c +0 -52
- data/ext/gio2/rbgiozlibdecompressor.c +0 -45
- data/ext/gio2/util.c +0 -303
- data/test/test_bufferedinputstream.rb +0 -9
- data/test/test_charsetconverter.rb +0 -9
- data/test/test_datainputstream.rb +0 -7
- data/test/test_fileenumerator.rb +0 -8
- data/test/test_filemonitor.rb +0 -17
- data/test/test_inetaddress.rb +0 -8
@@ -0,0 +1,51 @@
|
|
1
|
+
# Copyright (C) 2014 Ruby-GNOME2 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
|
+
module Gio
|
18
|
+
module PollableInputStream
|
19
|
+
alias_method :create_source_raw, :create_source
|
20
|
+
def create_source(&block)
|
21
|
+
source = create_source_raw
|
22
|
+
source.extend(PollableSource)
|
23
|
+
source.set_callback(&block)
|
24
|
+
source
|
25
|
+
end
|
26
|
+
|
27
|
+
alias_method :read_nonblocking_raw, :read_nonblocking
|
28
|
+
def read_nonblocking(size=nil)
|
29
|
+
if size.nil?
|
30
|
+
all = "".force_encoding("ASCII-8BIT")
|
31
|
+
buffer_size = 8192
|
32
|
+
buffer = " ".force_encoding("ASCII-8BIT") * buffer_size
|
33
|
+
loop do
|
34
|
+
begin
|
35
|
+
read_bytes = read_nonblocking_raw(buffer, buffer.bytesize)
|
36
|
+
rescue IOError::WouldBlock
|
37
|
+
break
|
38
|
+
end
|
39
|
+
all << buffer.byteslice(0, read_bytes)
|
40
|
+
break if read_bytes != buffer_size
|
41
|
+
end
|
42
|
+
all
|
43
|
+
else
|
44
|
+
buffer = " " * size
|
45
|
+
read_bytes = read_nonblocking_raw(buffer, buffer.bytesize)
|
46
|
+
buffer.replace(buffer.byteslice(0, read_bytes))
|
47
|
+
buffer
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# Copyright (C) 2014 Ruby-GNOME2 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
|
+
module Gio
|
18
|
+
module PollableOutputStream
|
19
|
+
alias_method :create_source_raw, :create_source
|
20
|
+
def create_source(&block)
|
21
|
+
source = create_source_raw
|
22
|
+
source.extend(PollableSource)
|
23
|
+
source.set_callback(&block)
|
24
|
+
source
|
25
|
+
end
|
26
|
+
|
27
|
+
alias_method :write_nonblocking_raw, :write_nonblocking
|
28
|
+
def write_nonblocking(data)
|
29
|
+
write_nonblocking_raw(data, data.bytesize)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Copyright (C) 2014 Ruby-GNOME2 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
|
+
module Gio
|
18
|
+
module Resources
|
19
|
+
class << self
|
20
|
+
def register(resource)
|
21
|
+
resource._register
|
22
|
+
end
|
23
|
+
|
24
|
+
def unregister(resource)
|
25
|
+
resource._unregister
|
26
|
+
end
|
27
|
+
|
28
|
+
alias_method :lookup_data_raw, :lookup_data
|
29
|
+
def lookup_data(path, flags=nil)
|
30
|
+
flags ||= ResourceLookupFlags::NONE
|
31
|
+
lookup_data_raw(path, flags)
|
32
|
+
end
|
33
|
+
|
34
|
+
alias_method :open_stream_raw, :open_stream
|
35
|
+
def open_stream(path, flags=nil)
|
36
|
+
flags ||= ResourceLookupFlags::NONE
|
37
|
+
input_stream = open_stream_raw(path, flags)
|
38
|
+
if block_given?
|
39
|
+
begin
|
40
|
+
yield(input_stream)
|
41
|
+
ensure
|
42
|
+
input_stream.close
|
43
|
+
end
|
44
|
+
else
|
45
|
+
input_stream
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
alias_method :enumerate_children_raw, :enumerate_children
|
50
|
+
def enumerate_children(path, flags=nil)
|
51
|
+
flags ||= ResourceLookupFlags::NONE
|
52
|
+
enumerate_children_raw(path, flags)
|
53
|
+
end
|
54
|
+
|
55
|
+
alias_method :get_info_raw, :get_info
|
56
|
+
def get_info(path, flags=nil)
|
57
|
+
flags ||= ResourceLookupFlags::NONE
|
58
|
+
get_info_raw(path, flags)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/gio2.rb
CHANGED
@@ -1,161 +1,56 @@
|
|
1
|
-
|
1
|
+
# Copyright (C) 2013-2014 Ruby-GNOME2 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
|
+
require "gobject-introspection"
|
18
|
+
require "glib2"
|
2
19
|
|
3
20
|
base_dir = Pathname.new(__FILE__).dirname.dirname.expand_path
|
4
21
|
vendor_dir = base_dir + "vendor" + "local"
|
5
22
|
vendor_bin_dir = vendor_dir + "bin"
|
6
23
|
GLib.prepend_dll_path(vendor_bin_dir)
|
7
|
-
|
8
|
-
|
9
|
-
require "#{major}.#{minor}/gio2.so"
|
10
|
-
rescue LoadError
|
11
|
-
require "gio2.so"
|
12
|
-
end
|
24
|
+
vendor_girepository_dir = vendor_dir + "lib" + "girepository-1.0"
|
25
|
+
GObjectIntrospection.prepend_typelib_path(vendor_girepository_dir)
|
13
26
|
|
14
27
|
require "gio2/deprecated"
|
28
|
+
require "gio2/loader"
|
15
29
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
def each
|
20
|
-
while line = read_line
|
21
|
-
yield line
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
alias each_line each
|
26
|
-
|
27
|
-
def each_async(io_priority = GLib::PRIORITY_DEFAULT, cancellable = nil, &block)
|
28
|
-
each_async_loop io_priority, cancellable, block
|
29
|
-
self
|
30
|
-
end
|
31
|
-
|
32
|
-
alias each_line_async each_async
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def each_async_loop(io_priority, cancellable, block)
|
37
|
-
# TODO: Should we really pass in the object? I mean, how often is that
|
38
|
-
# useful? We can always get it with result.source_object as well.
|
39
|
-
read_line_async io_priority, cancellable do |result|
|
40
|
-
if line = read_line_finish(result)
|
41
|
-
block.call line
|
42
|
-
each_async_loop io_priority, cancellable, block
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
# TODO: Add #each_byte?
|
48
|
-
end
|
49
|
-
|
50
|
-
if Gio.const_defined? :DesktopAppInfo
|
51
|
-
class Gio::DesktopAppInfo
|
52
|
-
class << self
|
53
|
-
def desktop_env=(desktop_env)
|
54
|
-
set_desktop_env desktop_env
|
55
|
-
desktop_env
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
module Gio::File
|
62
|
-
include Enumerable
|
63
|
-
|
64
|
-
def eql?(other)
|
65
|
-
self === other and self == other
|
66
|
-
end
|
67
|
-
|
68
|
-
alias each enumerate_children
|
69
|
-
|
70
|
-
def each_async(num_files, attributes = nil, flags = nil,
|
71
|
-
io_priority = GLib::PRIORITY_DEFAULT, cancellable = nil,
|
72
|
-
&block)
|
73
|
-
enumerate_children_async attributes, flags, io_priority, cancellable do |result|
|
74
|
-
enumerate_children_finish(result).each_async num_files, io_priority, cancellable, &block
|
75
|
-
end
|
76
|
-
self
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
class Gio::FileEnumerator
|
81
|
-
include Enumerable
|
30
|
+
module Gio
|
31
|
+
LOG_DOMAIN = "Gio"
|
32
|
+
GLib::Log.set_log_domain(LOG_DOMAIN)
|
82
33
|
|
83
|
-
|
84
|
-
return self.enum_for unless block_given?
|
85
|
-
while file = next_file(cancellable)
|
86
|
-
yield file
|
87
|
-
end
|
88
|
-
close
|
89
|
-
self
|
90
|
-
end
|
91
|
-
|
92
|
-
# TODO: Return Enumerator unless block_given?
|
93
|
-
def each_async(num_files, io_priority = GLib::PRIORITY_DEFAULT, cancellable = nil, &block)
|
94
|
-
each_async_loop num_files, io_priority, cancellable, block
|
34
|
+
class Error < StandardError
|
95
35
|
end
|
96
36
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
files.each do |file|
|
103
|
-
block.call file
|
104
|
-
end
|
105
|
-
if files.length > 0
|
106
|
-
each_async_loop num_files, io_priority, cancellable, block
|
37
|
+
class << self
|
38
|
+
def const_missing(name)
|
39
|
+
init
|
40
|
+
if const_defined?(name)
|
41
|
+
const_get(name)
|
107
42
|
else
|
108
|
-
|
43
|
+
super
|
109
44
|
end
|
110
45
|
end
|
111
|
-
end
|
112
|
-
end
|
113
46
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
end
|
119
|
-
|
120
|
-
|
121
|
-
def eql?(other)
|
122
|
-
self === other and self == other
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
class Gio::InputStream
|
127
|
-
def pending=(pending)
|
128
|
-
pending ? set_pending : clear_pending
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
class Gio::Resolver
|
133
|
-
class << self
|
134
|
-
def default=(default)
|
135
|
-
set_default default
|
136
|
-
default
|
137
|
-
end
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
module Gio::SocketConnectable
|
142
|
-
include Enumerable
|
143
|
-
|
144
|
-
def each(cancellable = nil)
|
145
|
-
enumerator = enumerate
|
146
|
-
while address = enumerator.next(cancellable)
|
147
|
-
yield address
|
148
|
-
end
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
class Gio::UnixFDList
|
153
|
-
include Enumerable
|
154
|
-
|
155
|
-
def each
|
156
|
-
i = 0
|
157
|
-
while i < length
|
158
|
-
yield self[i]
|
47
|
+
def init
|
48
|
+
class << self
|
49
|
+
remove_method(:init)
|
50
|
+
remove_method(:const_missing)
|
51
|
+
end
|
52
|
+
loader = Loader.new(self)
|
53
|
+
loader.load("Gio")
|
159
54
|
end
|
160
55
|
end
|
161
56
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
#!/bin/sh
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2014 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
require "rake/clean"
|
20
|
+
|
21
|
+
gresource = "ruby-gio2.gresource"
|
22
|
+
gresource_xml = "#{gresource}.xml"
|
23
|
+
contents = ["logo.png"]
|
24
|
+
|
25
|
+
dependencies = contents + [gresource_xml]
|
26
|
+
|
27
|
+
CLEAN << gresource
|
28
|
+
file gresource => dependencies do
|
29
|
+
sh("glib-compile-resources", gresource_xml)
|
30
|
+
end
|
31
|
+
|
32
|
+
task :default => gresource
|
Binary file
|
Binary file
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Copyright (C) 2013 Ruby-GNOME2 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
|
+
module GioTestUtils
|
18
|
+
module Fixture
|
19
|
+
def fixture_path(*components)
|
20
|
+
base_dir = File.join(File.dirname(__FILE__), "..", "fixture")
|
21
|
+
File.expand_path(File.join(base_dir, *components))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# Copyright (C) 2014 Ruby-GNOME2 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
|
+
require "socket"
|
18
|
+
|
19
|
+
module GioTestUtils
|
20
|
+
module SocketClient
|
21
|
+
def setup_socket_client
|
22
|
+
setup_server
|
23
|
+
setup_client
|
24
|
+
setup_loop
|
25
|
+
end
|
26
|
+
|
27
|
+
def teardown_socket_client
|
28
|
+
teardown_loop
|
29
|
+
teardown_client
|
30
|
+
teardown_server
|
31
|
+
end
|
32
|
+
|
33
|
+
def setup_server
|
34
|
+
@host = "127.0.0.1"
|
35
|
+
@server = TCPServer.new(@host, 0)
|
36
|
+
@port = @server.addr[1]
|
37
|
+
end
|
38
|
+
|
39
|
+
def teardown_server
|
40
|
+
@server.close
|
41
|
+
end
|
42
|
+
|
43
|
+
def setup_client
|
44
|
+
@client = Gio::SocketClient.new
|
45
|
+
@connection = @client.connect_to_host(@host, @port)
|
46
|
+
end
|
47
|
+
|
48
|
+
def teardown_client
|
49
|
+
@connection.close
|
50
|
+
end
|
51
|
+
|
52
|
+
def setup_loop
|
53
|
+
@loop = GLib::MainLoop.new
|
54
|
+
end
|
55
|
+
|
56
|
+
def teardown_loop
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Copyright (C) 2013 Ruby-GNOME2 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
|
+
require "test-unit"
|
18
|
+
require "test/unit/notify"
|
19
|
+
|
20
|
+
require "gio2-test-utils/fixture"
|
21
|
+
require "gio2-test-utils/socket-client"
|
data/test/run-test.rb
CHANGED
@@ -1,15 +1,51 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
2
|
+
#
|
3
|
+
# Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
3
18
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
19
|
+
ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..")
|
20
|
+
ruby_gnome2_base = File.expand_path(ruby_gnome2_base)
|
21
|
+
|
22
|
+
glib_base = File.join(ruby_gnome2_base, "glib2")
|
23
|
+
gobject_introspection_base = File.join(ruby_gnome2_base, "gobject-introspection")
|
24
|
+
gio2_base = File.join(ruby_gnome2_base, "gio2")
|
25
|
+
|
26
|
+
modules = [
|
27
|
+
[glib_base, "glib2"],
|
28
|
+
[gobject_introspection_base, "gobject-introspection"],
|
29
|
+
[gio2_base, "gio2"],
|
30
|
+
]
|
31
|
+
|
32
|
+
modules.each do |target, module_name|
|
33
|
+
makefile = File.join(target, "Makefile")
|
34
|
+
if File.exist?(makefile) and system("which make > /dev/null")
|
35
|
+
`make -C #{target.dump} > /dev/null` or exit(false)
|
9
36
|
end
|
37
|
+
$LOAD_PATH.unshift(File.join(target, "ext", module_name))
|
38
|
+
$LOAD_PATH.unshift(File.join(target, "lib"))
|
10
39
|
end
|
11
40
|
|
12
|
-
|
13
|
-
require
|
41
|
+
$LOAD_PATH.unshift(File.join(glib_base, "test"))
|
42
|
+
require "glib-test-init"
|
43
|
+
|
44
|
+
$VERBOSE = false # TODO: remove me
|
45
|
+
|
46
|
+
$LOAD_PATH.unshift(File.join(gio2_base, "test"))
|
47
|
+
require "gio2-test-utils"
|
48
|
+
|
49
|
+
require "gio2"
|
14
50
|
|
15
|
-
exit Test::Unit::AutoRunner.run(true
|
51
|
+
exit Test::Unit::AutoRunner.run(true)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Copyright (C) 2013 Ruby-GNOME2 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
|
+
class TestBufferedInputStream < Test::Unit::TestCase
|
18
|
+
def test_buffered_input_stream
|
19
|
+
assert_nothing_raised do
|
20
|
+
Gio::BufferedInputStream.new(Gio::FileInputStream.new)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Copyright (C) 2013 Ruby-GNOME2 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
|
+
class TestCharsetConverter < Test::Unit::TestCase
|
18
|
+
def test_converter
|
19
|
+
assert_nothing_raised do
|
20
|
+
Gio::CharsetConverter.new("UTF-8", "ASCII")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# Copyright (C) 2014 Ruby-GNOME2 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
|
+
class TestContentType < Test::Unit::TestCase
|
18
|
+
def setup
|
19
|
+
@content_type = Gio::ContentType.new("image/jpeg")
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_icon
|
23
|
+
assert_equal("image-jpeg",
|
24
|
+
@content_type.icon.names.first)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_guess
|
28
|
+
assert_equal(["audio/mpeg", false],
|
29
|
+
Gio::ContentType.guess("filename.mp3"))
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Copyright (C) 2013 Ruby-GNOME2 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
|
+
class TestDataInputStream < Test::Unit::TestCase
|
18
|
+
def test_byte_order_property
|
19
|
+
assert_equal Gio::DataStreamByteOrder::BIG_ENDIAN, Gio::DataInputStream.new(Gio::MemoryInputStream.new).byte_order
|
20
|
+
end
|
21
|
+
end
|