rabbit 3.0.5 → 4.0.0
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/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
- data/doc/_config.yml +2 -2
- data/doc/en/news.rd +54 -0
- data/doc/ja/news.rd +54 -0
- data/lib/rabbit/actions.rb +446 -0
- data/lib/rabbit/author-configuration.rb +7 -10
- data/lib/rabbit/canvas.rb +74 -42
- data/lib/rabbit/command/rabbit-slide.rb +11 -13
- data/lib/rabbit/command/rabbit-theme.rb +10 -12
- data/lib/rabbit/command/rabbit.rb +31 -43
- data/lib/rabbit/console.rb +20 -22
- data/lib/rabbit/dependency-canvas.rb +2 -2
- data/lib/rabbit/element/base.rb +93 -6
- data/lib/rabbit/element/block-element.rb +17 -1
- data/lib/rabbit/element/block.rb +17 -1
- data/lib/rabbit/element/container-element.rb +59 -3
- data/lib/rabbit/element/description-list.rb +18 -2
- data/lib/rabbit/element/enum-list.rb +18 -2
- data/lib/rabbit/element/footnote.rb +18 -2
- data/lib/rabbit/element/image-title-slide.rb +17 -1
- data/lib/rabbit/element/image.rb +32 -2
- data/lib/rabbit/element/index-slide.rb +29 -13
- data/lib/rabbit/element/item-list.rb +18 -2
- data/lib/rabbit/element/method-list.rb +18 -2
- data/lib/rabbit/element/poppler-page.rb +17 -1
- data/lib/rabbit/element/poppler-slide.rb +18 -2
- data/lib/rabbit/element/poppler-title-slide.rb +18 -2
- data/lib/rabbit/element/preformatted.rb +18 -2
- data/lib/rabbit/element/slide-element.rb +29 -2
- data/lib/rabbit/element/slide.rb +18 -2
- data/lib/rabbit/element/syntax-highlighting.rb +17 -1
- data/lib/rabbit/element/table.rb +19 -3
- data/lib/rabbit/element/tag.rb +18 -2
- data/lib/rabbit/element/text-block-element.rb +18 -2
- data/lib/rabbit/element/text-container-element.rb +41 -2
- data/lib/rabbit/element/text-element.rb +17 -1
- data/lib/rabbit/element/text-renderer.rb +17 -1
- data/lib/rabbit/element/text.rb +4 -4
- data/lib/rabbit/element/title-slide.rb +19 -3
- data/lib/rabbit/element/video.rb +157 -56
- data/lib/rabbit/element.rb +20 -20
- data/lib/rabbit/formatter.rb +18 -1
- data/lib/rabbit/frame.rb +102 -90
- data/lib/rabbit/front.rb +11 -4
- data/lib/rabbit/gem-finder.rb +4 -8
- data/lib/rabbit/gem-pusher.rb +4 -4
- data/lib/rabbit/gesture/handler.rb +26 -21
- data/lib/rabbit/graffiti/config-dialog.rb +18 -2
- data/lib/rabbit/graffiti/processor.rb +20 -4
- data/lib/rabbit/gtk.rb +48 -14
- data/lib/rabbit/html/generator.rb +18 -18
- data/{test/helper/fixture.rb → lib/rabbit/icon.rb} +16 -6
- data/lib/rabbit/image/base.rb +7 -6
- data/lib/rabbit/image/default.rb +17 -1
- data/lib/rabbit/image/dia.rb +2 -2
- data/lib/rabbit/image/eps.rb +16 -2
- data/lib/rabbit/image/gimp.rb +28 -11
- data/lib/rabbit/image/mermaid.rb +3 -3
- data/lib/rabbit/image/pdf.rb +3 -3
- data/lib/rabbit/image/svg.rb +2 -2
- data/lib/rabbit/image.rb +8 -8
- data/lib/rabbit/info-window.rb +55 -18
- data/lib/rabbit/key-handler.rb +381 -0
- data/lib/rabbit/keys.rb +31 -2
- data/lib/rabbit/logger/base.rb +17 -1
- data/lib/rabbit/logger/gui.rb +20 -4
- data/lib/rabbit/logger/stderr.rb +16 -2
- data/lib/rabbit/logger.rb +4 -4
- data/lib/rabbit/menu.rb +200 -220
- data/lib/rabbit/parser/base.rb +17 -1
- data/lib/rabbit/parser/ext/aafigure.rb +17 -1
- data/lib/rabbit/parser/ext/blockdiag.rb +17 -1
- data/lib/rabbit/parser/ext/charty.rb +2 -2
- data/lib/rabbit/parser/ext/coderay.rb +20 -4
- data/lib/rabbit/parser/ext/enscript.rb +31 -15
- data/lib/rabbit/parser/ext/entity.rb +17 -1
- data/lib/rabbit/parser/ext/image.rb +6 -6
- data/lib/rabbit/parser/ext/inline.rb +17 -1
- data/lib/rabbit/parser/ext/rouge.rb +7 -4
- data/lib/rabbit/parser/ext/tex.rb +18 -2
- data/lib/rabbit/parser/ext/video.rb +4 -4
- data/lib/rabbit/parser/image.rb +20 -4
- data/lib/rabbit/parser/markdown/converter.rb +12 -13
- data/lib/rabbit/parser/markdown.rb +18 -2
- data/lib/rabbit/parser/pause-support.rb +1 -0
- data/lib/rabbit/parser/pdf.rb +3 -3
- data/lib/rabbit/parser/rd/ext/base.rb +20 -4
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +24 -28
- data/lib/rabbit/parser/rd/ext/character-reference.rb +18 -2
- data/lib/rabbit/parser/rd/ext/image.rb +3 -3
- data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +6 -6
- data/lib/rabbit/parser/rd/ext/refer.rb +18 -2
- data/lib/rabbit/parser/rd/ext/video.rb +19 -2
- data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +24 -8
- data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +18 -2
- data/lib/rabbit/parser/rd/visitor.rb +18 -2
- data/lib/rabbit/parser/rd.rb +18 -2
- data/lib/rabbit/parser/wiki/output.rb +25 -28
- data/lib/rabbit/parser/wiki.rb +18 -2
- data/lib/rabbit/parser.rb +6 -6
- data/lib/rabbit/path-manipulatable.rb +4 -4
- data/lib/rabbit/progress.rb +17 -1
- data/lib/rabbit/properties.rb +3 -3
- data/lib/rabbit/rabbit.rb +15 -7
- data/lib/rabbit/readme-parser.rb +4 -6
- data/lib/rabbit/renderer/base.rb +44 -36
- data/lib/rabbit/renderer/color.rb +18 -2
- data/lib/rabbit/renderer/display/base.rb +10 -12
- data/lib/rabbit/renderer/display/button-handler.rb +141 -60
- data/lib/rabbit/renderer/display/cursor.rb +4 -5
- data/lib/rabbit/renderer/display/drawing-area-base.rb +32 -48
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +10 -61
- data/lib/rabbit/renderer/display/drawing-area-view-only.rb +19 -8
- data/lib/rabbit/renderer/display/drawing-area.rb +19 -15
- data/lib/rabbit/renderer/display/gesture.rb +9 -9
- data/lib/rabbit/renderer/display/graffiti.rb +22 -13
- data/lib/rabbit/renderer/display/info.rb +22 -2
- data/lib/rabbit/renderer/display/magnifier.rb +30 -17
- data/lib/rabbit/renderer/display/mask.rb +17 -1
- data/lib/rabbit/renderer/display/menu.rb +27 -3
- data/lib/rabbit/renderer/display/motion-handler.rb +45 -0
- data/lib/rabbit/renderer/display/progress.rb +17 -2
- data/lib/rabbit/renderer/display/scroll-handler.rb +60 -13
- data/lib/rabbit/renderer/display/search.rb +19 -2
- data/lib/rabbit/renderer/display/spotlight.rb +39 -25
- data/lib/rabbit/renderer/display.rb +16 -36
- data/lib/rabbit/renderer/engine/cairo.rb +4 -11
- data/lib/rabbit/renderer/engine.rb +17 -1
- data/lib/rabbit/renderer/kernel.rb +2 -20
- data/lib/rabbit/renderer/offscreen.rb +8 -14
- data/lib/rabbit/renderer/print-layout.rb +2 -2
- data/lib/rabbit/renderer/printer.rb +9 -16
- data/lib/rabbit/renderer/scene-background-widget.rb +95 -0
- data/lib/rabbit/renderer/scene-node-widget.rb +63 -0
- data/lib/rabbit/renderer/scene.rb +508 -0
- data/lib/rabbit/renderer.rb +6 -6
- data/lib/rabbit/search-window.rb +18 -2
- data/lib/rabbit/searcher.rb +15 -1
- data/lib/rabbit/size.rb +9 -1
- data/lib/rabbit/slide-configuration.rb +11 -14
- data/lib/rabbit/soap/driver.rb +20 -4
- data/lib/rabbit/soap/server.rb +17 -1
- data/lib/rabbit/source/argf.rb +5 -5
- data/lib/rabbit/source/base.rb +5 -6
- data/lib/rabbit/source/file.rb +5 -5
- data/lib/rabbit/source/memory.rb +20 -4
- data/lib/rabbit/source/uri.rb +9 -11
- data/lib/rabbit/source-generator/hiki.rb +2 -7
- data/lib/rabbit/source-generator/markdown.rb +2 -7
- data/lib/rabbit/source-generator/rd.rb +2 -7
- data/lib/rabbit/source-generator.rb +4 -4
- data/lib/rabbit/source.rb +5 -5
- data/lib/rabbit/task/slide.rb +13 -11
- data/lib/rabbit/task/theme.rb +8 -11
- data/lib/rabbit/task.rb +3 -3
- data/lib/rabbit/theme/applier.rb +27 -11
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +1 -1
- data/lib/rabbit/theme/color-circle/color-circle.rb +18 -1
- data/lib/rabbit/theme/cozmixng/cozmixng.rb +1 -1
- data/lib/rabbit/theme/default/default.rb +1 -0
- data/lib/rabbit/theme/default-icon/default-icon.rb +1 -1
- data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +17 -1
- data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +9 -1
- data/lib/rabbit/theme/enishi-green/enishi-green.rb +1 -1
- data/lib/rabbit/theme/entry.rb +10 -12
- data/lib/rabbit/theme/icon/icon.rb +3 -8
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +5 -5
- data/lib/rabbit/theme/image-timer/image-timer.rb +3 -3
- data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +1 -0
- data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +1 -0
- data/lib/rabbit/theme/manager.rb +19 -9
- data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +1 -1
- data/lib/rabbit/theme/ranguba/ranguba.rb +1 -1
- data/lib/rabbit/theme/red-frame/red-frame.rb +6 -2
- data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +1 -0
- data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +1 -1
- data/lib/rabbit/theme/searcher.rb +23 -7
- data/lib/rabbit/theme/slide-number/slide-number.rb +1 -1
- data/lib/rabbit/theme/slide-show/slide-show.rb +1 -1
- data/lib/rabbit/theme/table/table.rb +2 -2
- data/lib/rabbit/theme/video/property.rb +3 -0
- data/lib/rabbit/theme/video/video.rb +5 -0
- data/lib/rabbit/theme-configuration.rb +9 -11
- data/lib/rabbit/utils.rb +12 -94
- data/lib/rabbit/version.rb +1 -1
- data/lib/rabbit/xmlrpc/client.rb +17 -1
- data/lib/rabbit/xmlrpc/server.rb +17 -1
- data/po/en/rabbit.edit.po +324 -316
- data/po/en/rabbit.po +61 -55
- data/po/fr/rabbit.edit.po +324 -316
- data/po/fr/rabbit.po +61 -55
- data/po/ja/rabbit.edit.po +345 -370
- data/po/ja/rabbit.po +83 -80
- data/rabbit.gemspec +4 -2
- data/sample/block-quote.rab +13 -0
- data/sample/description-list.rab +17 -0
- data/sample/mermaid.rab +16 -0
- data/sample/rabbit-en.hiki +0 -1
- data/sample/rabbit-en.md +0 -1
- data/sample/rabbit-en.rd +0 -1
- data/sample/rabbit.hiki +0 -1
- data/sample/rabbit.md +0 -1
- data/sample/rabbit.rd +0 -1
- data/sample/video.rab +17 -0
- metadata +33 -65
- data/lib/rabbit/action/basic.rb +0 -304
- data/lib/rabbit/action/radio.rb +0 -78
- data/lib/rabbit/action/toggle.rb +0 -82
- data/lib/rabbit/action.rb +0 -140
- data/lib/rabbit/renderer/display/gl.rb +0 -98
- data/lib/rabbit/renderer/display/key-handler.rb +0 -321
- data/lib/rabbit/renderer/gl.rb +0 -95
- data/lib/rabbit/renderer/screen.rb +0 -286
- data/lib/rabbit/renderer/widget/drawing-area.rb +0 -93
- data/lib/rabbit/stock.rb +0 -31
- data/lib/rabbit/trackball.rb +0 -228
- data/lib/rabbit/video-window.rb +0 -123
- data/test/command/test-rabbit.rb +0 -101
- data/test/helper/parser.rb +0 -48
- data/test/helper.rb +0 -24
- data/test/image/test-dia.rb +0 -54
- data/test/image/test-eps.rb +0 -41
- data/test/parser/test-markdown.rb +0 -360
- data/test/parser/test-rd.rb +0 -43
- data/test/parser/test-wiki.rb +0 -71
- data/test/run-test.rb +0 -27
- data/test/source-generator/test-hiki.rb +0 -68
- data/test/source-generator/test-markdown.rb +0 -67
- data/test/source-generator/test-rd.rb +0 -69
- data/test/test-applier.rb +0 -73
- data/test/test-author-configuration.rb +0 -37
- data/test/test-canvas.rb +0 -70
- data/test/test-color.rb +0 -51
- data/test/test-element.rb +0 -103
- data/test/test-readme-parser.rb +0 -160
- data/test/test-size.rb +0 -155
- data/test/test-slide-configuration.rb +0 -74
- data/test/test-source.rb +0 -122
- data/test/test-theme-configuration.rb +0 -47
- data/test/test-utils.rb +0 -64
data/test/test-size.rb
DELETED
@@ -1,155 +0,0 @@
|
|
1
|
-
# Copyright (C) 2015-2019 Kouhei Sutou <kou@cozmixng.org>
|
2
|
-
#
|
3
|
-
# This program is free software; you can redistribute it and/or modify
|
4
|
-
# it under the terms of the GNU General Public License as published by
|
5
|
-
# the Free Software Foundation; either version 2 of the License, or
|
6
|
-
# (at your option) any later version.
|
7
|
-
#
|
8
|
-
# This program 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
|
11
|
-
# GNU General Public License for more details.
|
12
|
-
#
|
13
|
-
# You should have received a copy of the GNU General Public License along
|
14
|
-
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
-
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
-
|
17
|
-
require "rabbit/size"
|
18
|
-
|
19
|
-
class RabbitSizeTest < Test::Unit::TestCase
|
20
|
-
sub_test_case("width > height") do
|
21
|
-
setup do
|
22
|
-
@size = Rabbit::Size.new(800, 600, 1920, 1018, 4.0 / 3.0)
|
23
|
-
end
|
24
|
-
|
25
|
-
test "#logical_width" do
|
26
|
-
assert_equal(800, @size.logical_width.round)
|
27
|
-
end
|
28
|
-
|
29
|
-
test "#logical_height" do
|
30
|
-
assert_equal(600, @size.logical_height)
|
31
|
-
end
|
32
|
-
|
33
|
-
test "#logical_margin_left" do
|
34
|
-
assert_equal(166, @size.logical_margin_left.round)
|
35
|
-
end
|
36
|
-
|
37
|
-
test "#logical_margin_right" do
|
38
|
-
assert_equal(166, @size.logical_margin_right.round)
|
39
|
-
end
|
40
|
-
|
41
|
-
test "#logical_margin_top" do
|
42
|
-
assert_equal(0, @size.logical_margin_top)
|
43
|
-
end
|
44
|
-
|
45
|
-
test "#logical_margin_bottom" do
|
46
|
-
assert_equal(0, @size.logical_margin_bottom)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
sub_test_case("width < height") do
|
51
|
-
setup do
|
52
|
-
@size = Rabbit::Size.new(800, 600, 1018, 1920, 4.0 / 3.0)
|
53
|
-
end
|
54
|
-
|
55
|
-
test "#logical_width" do
|
56
|
-
assert_equal(800, @size.logical_width)
|
57
|
-
end
|
58
|
-
|
59
|
-
test "#logical_height" do
|
60
|
-
assert_equal(600, @size.logical_height.round)
|
61
|
-
end
|
62
|
-
|
63
|
-
test "#logical_margin_left" do
|
64
|
-
assert_equal(0, @size.logical_margin_left)
|
65
|
-
end
|
66
|
-
|
67
|
-
test "#logical_margin_right" do
|
68
|
-
assert_equal(0, @size.logical_margin_right)
|
69
|
-
end
|
70
|
-
|
71
|
-
test "#logical_margin_top" do
|
72
|
-
assert_equal(454, @size.logical_margin_top.round)
|
73
|
-
end
|
74
|
-
|
75
|
-
test "#logical_margin_bottom" do
|
76
|
-
assert_equal(454, @size.logical_margin_bottom.round)
|
77
|
-
end
|
78
|
-
|
79
|
-
test "#logical_scale" do
|
80
|
-
assert_equal([1.27, 1.27],
|
81
|
-
@size.logical_scale.collect {|scale| scale.round(2)})
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
sub_test_case("predicates") do
|
86
|
-
sub_test_case("#have_logical_margin_x?") do
|
87
|
-
test "width > height" do
|
88
|
-
size = Rabbit::Size.new(800, 600, 1920, 1018, 4.0 / 3.0)
|
89
|
-
assert do
|
90
|
-
size.have_logical_margin_x?
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
test "width < height" do
|
95
|
-
size = Rabbit::Size.new(800, 600, 1018, 1920, 4.0 / 3.0)
|
96
|
-
assert do
|
97
|
-
not size.have_logical_margin_x?
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
test "width / height == ratio" do
|
102
|
-
size = Rabbit::Size.new(800, 600, 1600, 1200, 4.0 / 3.0)
|
103
|
-
assert do
|
104
|
-
not size.have_logical_margin_x?
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
sub_test_case("#have_logical_margin_y?") do
|
110
|
-
test "width > height" do
|
111
|
-
size = Rabbit::Size.new(800, 600, 1920, 1018, 4.0 / 3.0)
|
112
|
-
assert do
|
113
|
-
not size.have_logical_margin_y?
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
test "width < height" do
|
118
|
-
size = Rabbit::Size.new(800, 600, 1018, 1920, 4.0 / 3.0)
|
119
|
-
assert do
|
120
|
-
size.have_logical_margin_y?
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
test "width / height == ratio" do
|
125
|
-
size = Rabbit::Size.new(800, 600, 1600, 1200, 4.0 / 3.0)
|
126
|
-
assert do
|
127
|
-
not size.have_logical_margin_y?
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
sub_test_case("#have_logical_margin?") do
|
133
|
-
test "width > height" do
|
134
|
-
size = Rabbit::Size.new(800, 600, 1920, 1018, 4.0 / 3.0)
|
135
|
-
assert do
|
136
|
-
size.have_logical_margin?
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
test "width < height" do
|
141
|
-
size = Rabbit::Size.new(800, 600, 1018, 1920, 4.0 / 3.0)
|
142
|
-
assert do
|
143
|
-
size.have_logical_margin?
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
test "width / height == ratio" do
|
148
|
-
size = Rabbit::Size.new(800, 600, 1600, 1200, 4.0 / 3.0)
|
149
|
-
assert do
|
150
|
-
not size.have_logical_margin?
|
151
|
-
end
|
152
|
-
end
|
153
|
-
end
|
154
|
-
end
|
155
|
-
end
|
@@ -1,74 +0,0 @@
|
|
1
|
-
# Copyright (C) 2012-2022 Sutou Kouhei <kou@cozmixng.org>
|
2
|
-
#
|
3
|
-
# This program is free software; you can redistribute it and/or modify
|
4
|
-
# it under the terms of the GNU General Public License as published by
|
5
|
-
# the Free Software Foundation; either version 2 of the License, or
|
6
|
-
# (at your option) any later version.
|
7
|
-
#
|
8
|
-
# This program 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
|
11
|
-
# GNU General Public License for more details.
|
12
|
-
#
|
13
|
-
# You should have received a copy of the GNU General Public License along
|
14
|
-
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
-
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
-
|
17
|
-
require "rabbit/slide-configuration"
|
18
|
-
|
19
|
-
class TestSlideConfiguration < Test::Unit::TestCase
|
20
|
-
def setup
|
21
|
-
@slide = Rabbit::SlideConfiguration.new
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_merge!
|
25
|
-
author_conf = {
|
26
|
-
"markup_language" => "rd",
|
27
|
-
"name" => "Kouhei Sutou",
|
28
|
-
"email" => "kou@cozmixng.org",
|
29
|
-
"rubygems_user" => "kou",
|
30
|
-
"slideshare_user" => "kou",
|
31
|
-
"speaker_deck_user" => "kou",
|
32
|
-
}
|
33
|
-
conf = {
|
34
|
-
"id" => "sprk2012",
|
35
|
-
"base_name" => "how-to-make-clear-code",
|
36
|
-
"tags" => ["rabbit", "sprk2012", "clear code"],
|
37
|
-
"presentation_date" => "2012-09-16",
|
38
|
-
"presentation_start_time" => "2012-09-16T10:00:00+0900",
|
39
|
-
"presentation_end_time" => "2012-09-16T10:30:00+0900",
|
40
|
-
"version" => "2012.09.16.0",
|
41
|
-
"licenses" => ["GPLv3+", "GFDL", "CC BY-SA 3.0"],
|
42
|
-
"slideshare_id" => "rabbit-14073776",
|
43
|
-
"source_code_uri" => "https://example.com/source",
|
44
|
-
"speaker_deck_id" => "rabbit-debian",
|
45
|
-
"vimeo_id" => "00000000",
|
46
|
-
"youtube_id" => "XXXXX-xxxxx",
|
47
|
-
"author" => author_conf,
|
48
|
-
"width" => 800,
|
49
|
-
"height" => 600,
|
50
|
-
}
|
51
|
-
@slide.id = "RubyKaigi2012"
|
52
|
-
@slide.merge!(conf)
|
53
|
-
|
54
|
-
object_conf = conf.dup
|
55
|
-
object_conf["presentation_date"] = Date.parse(conf["presentation_date"])
|
56
|
-
object_conf["presentation_start_time"] =
|
57
|
-
Time.parse(conf["presentation_start_time"])
|
58
|
-
object_conf["presentation_end_time"] =
|
59
|
-
Time.parse(conf["presentation_end_time"])
|
60
|
-
assert_equal(object_conf,
|
61
|
-
@slide.to_hash)
|
62
|
-
end
|
63
|
-
|
64
|
-
class TestDefaultVersion < self
|
65
|
-
def test_have_presentation_date
|
66
|
-
@slide.presentation_date = "2012-09-16"
|
67
|
-
assert_equal("2012.9.16.0", @slide.version)
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_no_presentation_date
|
71
|
-
assert_equal("1.0.0", @slide.version)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
data/test/test-source.rb
DELETED
@@ -1,122 +0,0 @@
|
|
1
|
-
# Copyright (C) 2004-2024 Kouhei Sutou <kou@cozmixng.org>
|
2
|
-
#
|
3
|
-
# This program is free software; you can redistribute it and/or modify
|
4
|
-
# it under the terms of the GNU General Public License as published by
|
5
|
-
# the Free Software Foundation; either version 2 of the License, or
|
6
|
-
# (at your option) any later version.
|
7
|
-
#
|
8
|
-
# This program 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
|
11
|
-
# GNU General Public License for more details.
|
12
|
-
#
|
13
|
-
# You should have received a copy of the GNU General Public License along
|
14
|
-
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
-
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
-
|
17
|
-
require "rabbit/source"
|
18
|
-
require "rabbit/logger"
|
19
|
-
|
20
|
-
class RabbitSourceTest < Test::Unit::TestCase
|
21
|
-
class BaseTest < self
|
22
|
-
class EncodingDetectionTest < self
|
23
|
-
def test_euc_jp_like_utf8
|
24
|
-
assert_equal(Encoding::UTF_8, guess_encoding("résumé"))
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
def guess_encoding(string)
|
29
|
-
logger = Rabbit::Logger::STDERR.new
|
30
|
-
source = Rabbit::Source::Memory.new(nil, logger)
|
31
|
-
source.source = string
|
32
|
-
source.__send__(:guess_encoding, string)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
class ReadTest < self
|
37
|
-
def test_binary
|
38
|
-
pdf_header = +"%PDF-1.5\n%\xb5\xed\xae\xfb\n"
|
39
|
-
pdf_header.force_encoding("ASCII-8BIT")
|
40
|
-
assert_equal(pdf_header, read(pdf_header))
|
41
|
-
end
|
42
|
-
|
43
|
-
private
|
44
|
-
def read(string)
|
45
|
-
logger = Rabbit::Logger::STDERR.new
|
46
|
-
|
47
|
-
source = Rabbit::Source::Memory.new(string.encoding, logger)
|
48
|
-
source.source = string
|
49
|
-
source.read
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
class ARGFTest < self
|
55
|
-
def setup
|
56
|
-
logger = Rabbit::Logger::STDERR.new
|
57
|
-
|
58
|
-
@input, @output = IO.pipe
|
59
|
-
@source = Rabbit::Source::ARGF.new("UTF-8", logger, @input)
|
60
|
-
end
|
61
|
-
|
62
|
-
def teardown
|
63
|
-
@input.close
|
64
|
-
@output.close
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_base
|
68
|
-
assert_equal(".", @source.base)
|
69
|
-
end
|
70
|
-
|
71
|
-
def test_full_path
|
72
|
-
image = "sample.png"
|
73
|
-
|
74
|
-
assert_equal(File.join(".", image), @source.full_path(image))
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
class FileTest < self
|
79
|
-
def setup
|
80
|
-
logger = Rabbit::Logger::STDERR.new
|
81
|
-
|
82
|
-
@dir = File.dirname(__FILE__)
|
83
|
-
@file = File.join(@dir, "sample.rd")
|
84
|
-
FileUtils.touch(@file)
|
85
|
-
@source = Rabbit::Source::File.new("UTF-8", logger, @file)
|
86
|
-
end
|
87
|
-
|
88
|
-
def teardown
|
89
|
-
FileUtils.rm_f(@file)
|
90
|
-
end
|
91
|
-
|
92
|
-
def test_base
|
93
|
-
assert_equal(@dir, @source.base)
|
94
|
-
end
|
95
|
-
|
96
|
-
def test_full_path
|
97
|
-
image = "sample.png"
|
98
|
-
|
99
|
-
assert_equal(File.join(@dir, image), @source.full_path(image))
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
class URITest < self
|
104
|
-
def setup
|
105
|
-
logger = Rabbit::Logger::STDERR.new
|
106
|
-
|
107
|
-
@base = "http://example.com/sample"
|
108
|
-
@uri = "#{@base}/rabbit.rd"
|
109
|
-
@source = Rabbit::Source::URI.new("UTF-8", logger, @uri)
|
110
|
-
end
|
111
|
-
|
112
|
-
def test_base
|
113
|
-
assert_equal(@base, @source.base)
|
114
|
-
end
|
115
|
-
|
116
|
-
def test_full_path
|
117
|
-
image = "sample.png"
|
118
|
-
|
119
|
-
assert_equal("#{@base}/#{image}", @source.full_path(image))
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei Sutou <kou@cozmixng.org>
|
2
|
-
#
|
3
|
-
# This program is free software; you can redistribute it and/or modify
|
4
|
-
# it under the terms of the GNU General Public License as published by
|
5
|
-
# the Free Software Foundation; either version 2 of the License, or
|
6
|
-
# (at your option) any later version.
|
7
|
-
#
|
8
|
-
# This program 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
|
11
|
-
# GNU General Public License for more details.
|
12
|
-
#
|
13
|
-
# You should have received a copy of the GNU General Public License along
|
14
|
-
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
-
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
-
|
17
|
-
require "rabbit/theme-configuration"
|
18
|
-
|
19
|
-
class TestThemeConfiguration < Test::Unit::TestCase
|
20
|
-
def setup
|
21
|
-
@theme = Rabbit::ThemeConfiguration.new
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_merge!
|
25
|
-
author_conf = {
|
26
|
-
"markup_language" => "rd",
|
27
|
-
"name" => "Kouhei Sutou",
|
28
|
-
"email" => "kou@cozmixng.org",
|
29
|
-
"rubygems_user" => "kou",
|
30
|
-
"slideshare_user" => "kou",
|
31
|
-
"speaker_deck_user" => "kou",
|
32
|
-
}
|
33
|
-
conf = {
|
34
|
-
"id" => "clear-blue",
|
35
|
-
"tags" => ["blue"],
|
36
|
-
"version" => "1.0.2",
|
37
|
-
"licenses" => ["GPLv3+", "GFDL", "CC BY-SA 3.0"],
|
38
|
-
"author" => author_conf,
|
39
|
-
}
|
40
|
-
@theme.merge!(conf)
|
41
|
-
assert_equal(conf, @theme.to_hash)
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_default_version
|
45
|
-
assert_equal("1.0.0", @theme.version)
|
46
|
-
end
|
47
|
-
end
|
data/test/test-utils.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
# Copyright (C) 2005-2019 Kouhei Sutou <kou@cozmixng.org>
|
2
|
-
#
|
3
|
-
# This program is free software; you can redistribute it and/or modify
|
4
|
-
# it under the terms of the GNU General Public License as published by
|
5
|
-
# the Free Software Foundation; either version 2 of the License, or
|
6
|
-
# (at your option) any later version.
|
7
|
-
#
|
8
|
-
# This program 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
|
11
|
-
# GNU General Public License for more details.
|
12
|
-
#
|
13
|
-
# You should have received a copy of the GNU General Public License along
|
14
|
-
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
-
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
-
|
17
|
-
require "rabbit/utils"
|
18
|
-
|
19
|
-
class RabbitUtilsTest < Test::Unit::TestCase
|
20
|
-
def test_combination
|
21
|
-
assert_combination([], [])
|
22
|
-
assert_combination([[], [1]], [1])
|
23
|
-
assert_combination([[], [1], [2], [1, 2]], [1, 2])
|
24
|
-
assert_combination([[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]],
|
25
|
-
[1, 2, 3])
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_parse_four_way
|
29
|
-
assert_four_way([1, 1, 1, 1], %w(1))
|
30
|
-
assert_four_way([1, 2, 1, 2], %w(1 2))
|
31
|
-
assert_four_way([1, 2, 3, 2], %w(1 2 3))
|
32
|
-
assert_four_way([1, 2, 3, 4], %w(1 2 3 4))
|
33
|
-
|
34
|
-
assert_invalid_four_way([])
|
35
|
-
assert_invalid_four_way(%w(1 2 3 4 5))
|
36
|
-
assert_invalid_four_way(%w(a))
|
37
|
-
assert_invalid_four_way(%w(1.0))
|
38
|
-
end
|
39
|
-
|
40
|
-
private
|
41
|
-
def assert_combination(expected, elements)
|
42
|
-
_wrap_assertion do
|
43
|
-
results = Rabbit::Utils.combination(elements)
|
44
|
-
assert_equal(normalize_combination_results(expected),
|
45
|
-
normalize_combination_results(results))
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def normalize_combination_results(results)
|
50
|
-
results.collect {|result| result.sort}.sort
|
51
|
-
end
|
52
|
-
|
53
|
-
def assert_four_way(expected, input)
|
54
|
-
_wrap_assertion do
|
55
|
-
assert_equal(expected, Rabbit::Utils.parse_four_way(input))
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
def assert_invalid_four_way(input)
|
60
|
-
_wrap_assertion do
|
61
|
-
assert_raises(ArgumentError) {Rabbit::Utils.parse_four_way(input)}
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|