gio2 2.1.0-x86-mingw32 → 2.2.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|