cairo 1.8.5 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of cairo might be problematic. Click here for more details.
- data/NEWS +2 -2
- data/Rakefile +44 -7
- data/ext/cairo/cairo.def +28 -1
- data/ext/cairo/extconf.rb +14 -16
- data/ext/cairo/rb_cairo.c +4 -1
- data/ext/cairo/rb_cairo.h +65 -1
- data/ext/cairo/rb_cairo_constants.c +150 -3
- data/ext/cairo/rb_cairo_context.c +17 -0
- data/ext/cairo/rb_cairo_device.c +406 -0
- data/ext/cairo/rb_cairo_exception.c +83 -32
- data/ext/cairo/rb_cairo_io.c +166 -0
- data/ext/cairo/rb_cairo_io.h +44 -0
- data/ext/cairo/rb_cairo_matrix.c +1 -1
- data/ext/cairo/rb_cairo_private.h +3 -0
- data/ext/cairo/rb_cairo_region.c +385 -0
- data/ext/cairo/rb_cairo_surface.c +674 -199
- data/samples/blur.rb +2 -3
- data/samples/{pac2.rb → pac-nomralize.rb} +5 -6
- data/samples/pac-tee.rb +170 -0
- data/samples/pac.rb +2 -3
- data/samples/png.rb +2 -3
- data/samples/scalable.rb +2 -3
- data/samples/text-on-path.rb +2 -3
- data/samples/text2.rb +2 -3
- data/test/cairo-test-utils.rb +15 -0
- data/test/run-test.rb +5 -4
- data/test/test_context.rb +4 -4
- data/test/test_font_face.rb +34 -21
- data/test/test_recording_surface.rb +18 -0
- data/test/test_region.rb +102 -0
- data/test/test_script_device.rb +46 -0
- data/test/test_script_surface.rb +13 -0
- data/test/test_surface.rb +14 -4
- data/test/test_tee_surface.rb +32 -0
- data/test/test_xml_device.rb +22 -0
- data/test/test_xml_surface.rb +32 -0
- metadata +49 -77
- data/pkg-config.rb +0 -313
- data/test-unit/Rakefile +0 -30
- data/test-unit/bin/testrb +0 -5
- data/test-unit/lib/test/unit.rb +0 -280
- data/test-unit/lib/test/unit/assertionfailederror.rb +0 -14
- data/test-unit/lib/test/unit/assertions.rb +0 -722
- data/test-unit/lib/test/unit/attribute.rb +0 -125
- data/test-unit/lib/test/unit/autorunner.rb +0 -254
- data/test-unit/lib/test/unit/collector.rb +0 -43
- data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
- data/test-unit/lib/test/unit/collector/dir.rb +0 -108
- data/test-unit/lib/test/unit/collector/load.rb +0 -135
- data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
- data/test-unit/lib/test/unit/color.rb +0 -61
- data/test-unit/lib/test/unit/diff.rb +0 -524
- data/test-unit/lib/test/unit/error.rb +0 -124
- data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
- data/test-unit/lib/test/unit/failure.rb +0 -110
- data/test-unit/lib/test/unit/fixture.rb +0 -185
- data/test-unit/lib/test/unit/notification.rb +0 -125
- data/test-unit/lib/test/unit/omission.rb +0 -143
- data/test-unit/lib/test/unit/pending.rb +0 -146
- data/test-unit/lib/test/unit/priority.rb +0 -146
- data/test-unit/lib/test/unit/runner/console.rb +0 -46
- data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
- data/test-unit/lib/test/unit/testcase.rb +0 -281
- data/test-unit/lib/test/unit/testresult.rb +0 -89
- data/test-unit/lib/test/unit/testsuite.rb +0 -110
- data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -195
- data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -49
- data/test-unit/lib/test/unit/ui/testrunner.rb +0 -20
- data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
- data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
- data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
- data/test-unit/lib/test/unit/util/observable.rb +0 -90
- data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
- data/test-unit/lib/test/unit/version.rb +0 -7
- data/test-unit/sample/adder.rb +0 -13
- data/test-unit/sample/subtracter.rb +0 -12
- data/test-unit/sample/tc_adder.rb +0 -18
- data/test-unit/sample/tc_subtracter.rb +0 -18
- data/test-unit/sample/ts_examples.rb +0 -7
- data/test-unit/test/collector/test_descendant.rb +0 -135
- data/test-unit/test/collector/test_dir.rb +0 -406
- data/test-unit/test/collector/test_load.rb +0 -333
- data/test-unit/test/collector/test_objectspace.rb +0 -98
- data/test-unit/test/run-test.rb +0 -13
- data/test-unit/test/test_assertions.rb +0 -693
- data/test-unit/test/test_attribute.rb +0 -86
- data/test-unit/test/test_color.rb +0 -37
- data/test-unit/test/test_diff.rb +0 -477
- data/test-unit/test/test_emacs_runner.rb +0 -60
- data/test-unit/test/test_error.rb +0 -26
- data/test-unit/test/test_failure.rb +0 -33
- data/test-unit/test/test_fixture.rb +0 -252
- data/test-unit/test/test_notification.rb +0 -33
- data/test-unit/test/test_omission.rb +0 -81
- data/test-unit/test/test_pending.rb +0 -70
- data/test-unit/test/test_priority.rb +0 -89
- data/test-unit/test/test_testcase.rb +0 -430
- data/test-unit/test/test_testresult.rb +0 -113
- data/test-unit/test/test_testsuite.rb +0 -129
- data/test-unit/test/testunit_test_util.rb +0 -14
- data/test-unit/test/ui/test_testrunmediator.rb +0 -20
- data/test-unit/test/util/test_backtracefilter.rb +0 -41
- data/test-unit/test/util/test_observable.rb +0 -102
- data/test-unit/test/util/test_procwrapper.rb +0 -36
- data/test/test_pkg_config.rb +0 -123
@@ -1,124 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
#
|
3
|
-
# Author:: Nathaniel Talbott.
|
4
|
-
# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
|
5
|
-
# License:: Ruby license.
|
6
|
-
|
7
|
-
require 'test/unit/util/backtracefilter'
|
8
|
-
|
9
|
-
module Test
|
10
|
-
module Unit
|
11
|
-
|
12
|
-
# Encapsulates an error in a test. Created by
|
13
|
-
# Test::Unit::TestCase when it rescues an exception thrown
|
14
|
-
# during the processing of a test.
|
15
|
-
class Error
|
16
|
-
include Util::BacktraceFilter
|
17
|
-
|
18
|
-
attr_reader(:test_name, :exception)
|
19
|
-
|
20
|
-
SINGLE_CHARACTER = 'E'
|
21
|
-
LABEL = "Error"
|
22
|
-
|
23
|
-
# Creates a new Error with the given test_name and
|
24
|
-
# exception.
|
25
|
-
def initialize(test_name, exception)
|
26
|
-
@test_name = test_name
|
27
|
-
@exception = exception
|
28
|
-
end
|
29
|
-
|
30
|
-
# Returns a single character representation of an error.
|
31
|
-
def single_character_display
|
32
|
-
SINGLE_CHARACTER
|
33
|
-
end
|
34
|
-
|
35
|
-
def label
|
36
|
-
LABEL
|
37
|
-
end
|
38
|
-
|
39
|
-
# Returns the message associated with the error.
|
40
|
-
def message
|
41
|
-
"#{@exception.class.name}: #{@exception.message}"
|
42
|
-
end
|
43
|
-
|
44
|
-
# Returns a brief version of the error description.
|
45
|
-
def short_display
|
46
|
-
"#@test_name: #{message.split("\n")[0]}"
|
47
|
-
end
|
48
|
-
|
49
|
-
# Returns a verbose version of the error description.
|
50
|
-
def long_display
|
51
|
-
backtrace_display = backtrace.join("\n ")
|
52
|
-
"#{label}:\n#@test_name:\n#{message}\n #{backtrace_display}"
|
53
|
-
end
|
54
|
-
|
55
|
-
def backtrace
|
56
|
-
filter_backtrace(@exception.backtrace)
|
57
|
-
end
|
58
|
-
|
59
|
-
# Overridden to return long_display.
|
60
|
-
def to_s
|
61
|
-
long_display
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
module ErrorHandler
|
66
|
-
class << self
|
67
|
-
def included(base)
|
68
|
-
base.exception_handler(:handle_all_exception)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
PASS_THROUGH_EXCEPTIONS = [NoMemoryError, SignalException, Interrupt,
|
73
|
-
SystemExit]
|
74
|
-
private
|
75
|
-
def handle_all_exception(exception)
|
76
|
-
case exception
|
77
|
-
when *PASS_THROUGH_EXCEPTIONS
|
78
|
-
false
|
79
|
-
else
|
80
|
-
problem_occurred
|
81
|
-
add_error(exception)
|
82
|
-
true
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
def add_error(exception)
|
87
|
-
current_result.add_error(Error.new(name, exception))
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
module TestResultErrorSupport
|
92
|
-
attr_reader :errors
|
93
|
-
|
94
|
-
# Records a Test::Unit::Error.
|
95
|
-
def add_error(error)
|
96
|
-
@errors << error
|
97
|
-
notify_fault(error)
|
98
|
-
notify_changed
|
99
|
-
end
|
100
|
-
|
101
|
-
# Returns the number of errors this TestResult has
|
102
|
-
# recorded.
|
103
|
-
def error_count
|
104
|
-
@errors.size
|
105
|
-
end
|
106
|
-
|
107
|
-
def error_occurred?
|
108
|
-
not @errors.empty?
|
109
|
-
end
|
110
|
-
|
111
|
-
private
|
112
|
-
def initialize_containers
|
113
|
-
super
|
114
|
-
@errors = []
|
115
|
-
@summary_generators << :error_summary
|
116
|
-
@problem_checkers << :error_occurred?
|
117
|
-
end
|
118
|
-
|
119
|
-
def error_summary
|
120
|
-
"#{error_count} errors"
|
121
|
-
end
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module Test
|
2
|
-
module Unit
|
3
|
-
module ExceptionHandler
|
4
|
-
@@exception_handlers = []
|
5
|
-
class << self
|
6
|
-
def exception_handlers
|
7
|
-
@@exception_handlers
|
8
|
-
end
|
9
|
-
|
10
|
-
def included(base)
|
11
|
-
base.extend(ClassMethods)
|
12
|
-
|
13
|
-
observer = Proc.new do |test_case, _, _, value, method_name|
|
14
|
-
if value
|
15
|
-
@@exception_handlers.unshift(method_name)
|
16
|
-
else
|
17
|
-
@@exception_handlers -= [method_name]
|
18
|
-
end
|
19
|
-
end
|
20
|
-
base.register_attribute_observer(:exception_handler, &observer)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
module ClassMethods
|
25
|
-
def exception_handlers
|
26
|
-
ExceptionHandler.exception_handlers
|
27
|
-
end
|
28
|
-
|
29
|
-
def exception_handler(*method_names)
|
30
|
-
attribute(:exception_handler, true, *method_names)
|
31
|
-
end
|
32
|
-
|
33
|
-
def unregister_exception_handler(*method_names)
|
34
|
-
attribute(:exception_handler, false, *method_names)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,110 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
#
|
3
|
-
# Author:: Nathaniel Talbott.
|
4
|
-
# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
|
5
|
-
# License:: Ruby license.
|
6
|
-
|
7
|
-
module Test
|
8
|
-
module Unit
|
9
|
-
|
10
|
-
# Encapsulates a test failure. Created by Test::Unit::TestCase
|
11
|
-
# when an assertion fails.
|
12
|
-
class Failure
|
13
|
-
attr_reader :test_name, :location, :message
|
14
|
-
|
15
|
-
SINGLE_CHARACTER = 'F'
|
16
|
-
LABEL = "Failure"
|
17
|
-
|
18
|
-
# Creates a new Failure with the given location and
|
19
|
-
# message.
|
20
|
-
def initialize(test_name, location, message)
|
21
|
-
@test_name = test_name
|
22
|
-
@location = location
|
23
|
-
@message = message
|
24
|
-
end
|
25
|
-
|
26
|
-
# Returns a single character representation of a failure.
|
27
|
-
def single_character_display
|
28
|
-
SINGLE_CHARACTER
|
29
|
-
end
|
30
|
-
|
31
|
-
def label
|
32
|
-
LABEL
|
33
|
-
end
|
34
|
-
|
35
|
-
# Returns a brief version of the error description.
|
36
|
-
def short_display
|
37
|
-
"#@test_name: #{@message.split("\n")[0]}"
|
38
|
-
end
|
39
|
-
|
40
|
-
# Returns a verbose version of the error description.
|
41
|
-
def long_display
|
42
|
-
if location.size == 1
|
43
|
-
location_display = location[0].sub(/\A(.+:\d+).*/, ' [\\1]')
|
44
|
-
else
|
45
|
-
location_display = "\n [#{location.join("\n ")}]"
|
46
|
-
end
|
47
|
-
"#{label}:\n#@test_name#{location_display}:\n#@message"
|
48
|
-
end
|
49
|
-
|
50
|
-
# Overridden to return long_display.
|
51
|
-
def to_s
|
52
|
-
long_display
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
module FailureHandler
|
57
|
-
class << self
|
58
|
-
def included(base)
|
59
|
-
base.exception_handler(:handle_assertion_failed_error)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
private
|
64
|
-
def handle_assertion_failed_error(exception)
|
65
|
-
return false unless exception.is_a?(AssertionFailedError)
|
66
|
-
problem_occurred
|
67
|
-
add_failure(exception.message, exception.backtrace)
|
68
|
-
true
|
69
|
-
end
|
70
|
-
|
71
|
-
def add_failure(message, backtrace)
|
72
|
-
failure = Failure.new(name, filter_backtrace(backtrace), message)
|
73
|
-
current_result.add_failure(failure)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
module TestResultFailureSupport
|
78
|
-
attr_reader :failures
|
79
|
-
|
80
|
-
# Records a Test::Unit::Failure.
|
81
|
-
def add_failure(failure)
|
82
|
-
@failures << failure
|
83
|
-
notify_fault(failure)
|
84
|
-
notify_changed
|
85
|
-
end
|
86
|
-
|
87
|
-
# Returns the number of failures this TestResult has
|
88
|
-
# recorded.
|
89
|
-
def failure_count
|
90
|
-
@failures.size
|
91
|
-
end
|
92
|
-
|
93
|
-
def failure_occurred?
|
94
|
-
not @failures.empty?
|
95
|
-
end
|
96
|
-
|
97
|
-
private
|
98
|
-
def initialize_containers
|
99
|
-
super
|
100
|
-
@failures = []
|
101
|
-
@summary_generators << :failure_summary
|
102
|
-
@problem_checkers << :failure_occurred?
|
103
|
-
end
|
104
|
-
|
105
|
-
def failure_summary
|
106
|
-
"#{failure_count} failures"
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
@@ -1,185 +0,0 @@
|
|
1
|
-
module Test
|
2
|
-
module Unit
|
3
|
-
module Fixture
|
4
|
-
class << self
|
5
|
-
def included(base)
|
6
|
-
base.extend(ClassMethods)
|
7
|
-
|
8
|
-
[:setup, :teardown].each do |fixture|
|
9
|
-
observer = Proc.new do |test_case, _, _, value, method_name|
|
10
|
-
if value.nil?
|
11
|
-
test_case.send("unregister_#{fixture}_method", method_name)
|
12
|
-
else
|
13
|
-
test_case.send("register_#{fixture}_method", method_name,
|
14
|
-
value)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
base.register_attribute_observer(fixture, &observer)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
module ClassMethods
|
23
|
-
def setup(*method_names)
|
24
|
-
register_fixture(:setup, *method_names)
|
25
|
-
end
|
26
|
-
|
27
|
-
def unregister_setup(*method_names)
|
28
|
-
unregister_fixture(:setup, *method_names)
|
29
|
-
end
|
30
|
-
|
31
|
-
def teardown(*method_names)
|
32
|
-
register_fixture(:teardown, *method_names)
|
33
|
-
end
|
34
|
-
|
35
|
-
def unregister_teardown(*method_names)
|
36
|
-
unregister_fixture(:teardown, *method_names)
|
37
|
-
end
|
38
|
-
|
39
|
-
def register_setup_method(method_name, options)
|
40
|
-
register_fixture_method(:setup, method_name, options, :after, :append)
|
41
|
-
end
|
42
|
-
|
43
|
-
def unregister_setup_method(method_name)
|
44
|
-
unregister_fixture_method(:setup, method_name)
|
45
|
-
end
|
46
|
-
|
47
|
-
def register_teardown_method(method_name, options)
|
48
|
-
register_fixture_method(:teardown, method_name, options,
|
49
|
-
:before, :prepend)
|
50
|
-
end
|
51
|
-
|
52
|
-
def unregister_teardown_method(method_name)
|
53
|
-
unregister_fixture_method(:teardown, method_name)
|
54
|
-
end
|
55
|
-
|
56
|
-
def before_setup_methods
|
57
|
-
collect_fixture_methods(:setup, :before)
|
58
|
-
end
|
59
|
-
|
60
|
-
def after_setup_methods
|
61
|
-
collect_fixture_methods(:setup, :after)
|
62
|
-
end
|
63
|
-
|
64
|
-
def before_teardown_methods
|
65
|
-
collect_fixture_methods(:teardown, :before)
|
66
|
-
end
|
67
|
-
|
68
|
-
def after_teardown_methods
|
69
|
-
collect_fixture_methods(:teardown, :after)
|
70
|
-
end
|
71
|
-
|
72
|
-
private
|
73
|
-
def register_fixture(fixture, *method_names)
|
74
|
-
options = {}
|
75
|
-
options = method_names.pop if method_names.last.is_a?(Hash)
|
76
|
-
attribute(fixture, options, *method_names)
|
77
|
-
end
|
78
|
-
|
79
|
-
def unregister_fixture(fixture, *method_names)
|
80
|
-
attribute(fixture, nil, *method_names)
|
81
|
-
end
|
82
|
-
|
83
|
-
def valid_register_fixture_options?(options)
|
84
|
-
return true if options.empty?
|
85
|
-
return false if options.size > 1
|
86
|
-
|
87
|
-
key = options.keys.first
|
88
|
-
[:before, :after].include?(key) and
|
89
|
-
[:prepend, :append].include?(options[key])
|
90
|
-
end
|
91
|
-
|
92
|
-
def add_fixture_method_name(how, variable_name, method_name)
|
93
|
-
unless self.instance_variable_defined?(variable_name)
|
94
|
-
self.instance_variable_set(variable_name, [])
|
95
|
-
end
|
96
|
-
methods = self.instance_variable_get(variable_name)
|
97
|
-
|
98
|
-
if how == :prepend
|
99
|
-
methods = [method_name] | methods
|
100
|
-
else
|
101
|
-
methods = methods | [method_name]
|
102
|
-
end
|
103
|
-
self.instance_variable_set(variable_name, methods)
|
104
|
-
end
|
105
|
-
|
106
|
-
def registered_methods_variable_name(fixture, order)
|
107
|
-
"@#{order}_#{fixture}_methods"
|
108
|
-
end
|
109
|
-
|
110
|
-
def unregistered_methods_variable_name(fixture)
|
111
|
-
"@unregistered_#{fixture}_methods"
|
112
|
-
end
|
113
|
-
|
114
|
-
def register_fixture_method(fixture, method_name, options,
|
115
|
-
default_order, default_how)
|
116
|
-
unless valid_register_fixture_options?(options)
|
117
|
-
message = "must be {:before => :prepend}, " +
|
118
|
-
"{:before => :append}, {:after => :prepend} or " +
|
119
|
-
"{:after => :append}: #{options.inspect}"
|
120
|
-
raise ArgumentError, message
|
121
|
-
end
|
122
|
-
|
123
|
-
if options.empty?
|
124
|
-
order, how = default_order, default_how
|
125
|
-
else
|
126
|
-
order, how = options.to_a.first
|
127
|
-
end
|
128
|
-
variable_name = registered_methods_variable_name(fixture, order)
|
129
|
-
add_fixture_method_name(how, variable_name, method_name)
|
130
|
-
end
|
131
|
-
|
132
|
-
def unregister_fixture_method(fixture, method_name)
|
133
|
-
variable_name = unregistered_methods_variable_name(fixture)
|
134
|
-
add_fixture_method_name(:append, variable_name, method_name)
|
135
|
-
end
|
136
|
-
|
137
|
-
def collect_fixture_methods(fixture, order)
|
138
|
-
methods_variable = registered_methods_variable_name(fixture, order)
|
139
|
-
unregistered_methods_variable =
|
140
|
-
unregistered_methods_variable_name(fixture)
|
141
|
-
|
142
|
-
base_index = ancestors.index(Fixture)
|
143
|
-
interested_ancestors = ancestors[0, base_index].reverse
|
144
|
-
interested_ancestors.inject([]) do |result, ancestor|
|
145
|
-
if ancestor.is_a?(Class)
|
146
|
-
ancestor.class_eval do
|
147
|
-
methods = []
|
148
|
-
unregistered_methods = []
|
149
|
-
if instance_variable_defined?(methods_variable)
|
150
|
-
methods = instance_variable_get(methods_variable)
|
151
|
-
end
|
152
|
-
if instance_variable_defined?(unregistered_methods_variable)
|
153
|
-
unregistered_methods =
|
154
|
-
instance_variable_get(unregistered_methods_variable)
|
155
|
-
end
|
156
|
-
(result | methods) - unregistered_methods
|
157
|
-
end
|
158
|
-
else
|
159
|
-
result
|
160
|
-
end
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|
164
|
-
|
165
|
-
private
|
166
|
-
def run_fixture(fixture)
|
167
|
-
[
|
168
|
-
self.class.send("before_#{fixture}_methods"),
|
169
|
-
fixture,
|
170
|
-
self.class.send("after_#{fixture}_methods")
|
171
|
-
].flatten.each do |method_name|
|
172
|
-
send(method_name) if respond_to?(method_name, true)
|
173
|
-
end
|
174
|
-
end
|
175
|
-
|
176
|
-
def run_setup
|
177
|
-
run_fixture(:setup)
|
178
|
-
end
|
179
|
-
|
180
|
-
def run_teardown
|
181
|
-
run_fixture(:teardown)
|
182
|
-
end
|
183
|
-
end
|
184
|
-
end
|
185
|
-
end
|