rabbit 3.0.5 → 4.0.1
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 +63 -0
- data/doc/ja/news.rd +63 -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 +101 -93
- 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
@@ -1,69 +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/source-generator/rd"
|
18
|
-
|
19
|
-
class TestSourceGeneratorRD < Test::Unit::TestCase
|
20
|
-
def setup
|
21
|
-
@generator = Rabbit::SourceGenerator::RD.new
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_heading1
|
25
|
-
assert_equal("= Hello",
|
26
|
-
@generator.heading(1, "Hello"))
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_heading2
|
30
|
-
assert_equal("== Hello",
|
31
|
-
@generator.heading(2, "Hello"))
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_heading3
|
35
|
-
assert_equal("=== Hello",
|
36
|
-
@generator.heading(3, "Hello"))
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_definition_list_item
|
40
|
-
item = @generator.definition_list_item("Rabbit",
|
41
|
-
"The presentation tool for Rubyist")
|
42
|
-
assert_equal(<<-EOR.rstrip, item)
|
43
|
-
: Rabbit
|
44
|
-
The presentation tool for Rubyist
|
45
|
-
EOR
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_unordered_list_item
|
49
|
-
assert_equal(" * Hello",
|
50
|
-
@generator.unordered_list_item("Hello"))
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_image
|
54
|
-
image = @generator.image("lavie.png", :relative_height => 90)
|
55
|
-
assert_equal(<<-EOR.rstrip, image)
|
56
|
-
# image
|
57
|
-
# src = lavie.png
|
58
|
-
# relative_height = 90
|
59
|
-
EOR
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_preformatted_line
|
63
|
-
assert_equal(" Hello", @generator.preformatted_line("Hello"))
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_comment
|
67
|
-
assert_equal("# Hello", @generator.comment("Hello"))
|
68
|
-
end
|
69
|
-
end
|
data/test/test-applier.rb
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
# Copyright (C) 2012-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/theme/applier"
|
18
|
-
|
19
|
-
class RabbitApplierTest < Test::Unit::TestCase
|
20
|
-
def setup
|
21
|
-
theme = Object.new
|
22
|
-
def theme.slides
|
23
|
-
Object.new
|
24
|
-
end
|
25
|
-
@applier = Rabbit::Theme::Applier.new(theme)
|
26
|
-
end
|
27
|
-
|
28
|
-
sub_test_case("#normalize_source") do
|
29
|
-
def normalize_source(source)
|
30
|
-
@applier.__send__(:normalize_source, source)
|
31
|
-
end
|
32
|
-
|
33
|
-
data("x large",
|
34
|
-
["x_large_font_size", "huge_font_size"],
|
35
|
-
keep: true)
|
36
|
-
data("xx large",
|
37
|
-
["xx_large_font_size", "very_huge_font_size"],
|
38
|
-
keep: true)
|
39
|
-
data("x large script",
|
40
|
-
["x_large_script_font_size", "huge_script_font_size"],
|
41
|
-
keep: true)
|
42
|
-
|
43
|
-
def test_reference
|
44
|
-
after, before = data
|
45
|
-
assert_equal("@#{after}",
|
46
|
-
normalize_source("@#{before}"))
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_reference_in_parentheses
|
50
|
-
after, before = data
|
51
|
-
assert_equal("(@#{after})",
|
52
|
-
normalize_source("(@#{before})"))
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_reference_with_arguments_in_parentheses
|
56
|
-
after, before = data
|
57
|
-
assert_equal("(xxx, @#{after}, xxx)",
|
58
|
-
normalize_source("(xxx, @#{before}, xxx)"))
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_assign_without_space
|
62
|
-
after, before = data
|
63
|
-
assert_equal("@#{after}=111",
|
64
|
-
normalize_source("@#{before}=111"))
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_assign_with_space
|
68
|
-
after, before = data
|
69
|
-
assert_equal("@#{after} = 111",
|
70
|
-
normalize_source("@#{before} = 111"))
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
@@ -1,37 +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/author-configuration"
|
18
|
-
|
19
|
-
class TestAuthorConfiguration < Test::Unit::TestCase
|
20
|
-
def setup
|
21
|
-
@author = Rabbit::AuthorConfiguration.new
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_merge!
|
25
|
-
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
|
-
@author.markup_language = "hiki"
|
34
|
-
@author.merge!(conf)
|
35
|
-
assert_equal(conf, @author.to_hash)
|
36
|
-
end
|
37
|
-
end
|
data/test/test-canvas.rb
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
# Copyright (C) 2017-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/canvas"
|
18
|
-
|
19
|
-
class RabbitCanvasTest < Test::Unit::TestCase
|
20
|
-
setup do
|
21
|
-
@logger = Rabbit::Logger::STDERR.new
|
22
|
-
@canvas = Rabbit::Canvas.new(@logger, Rabbit::Renderer::Offscreen)
|
23
|
-
end
|
24
|
-
|
25
|
-
def create_slide(title)
|
26
|
-
title_element = Rabbit::Element::Text.new(title)
|
27
|
-
slide = Rabbit::Element::Slide.new(title_element)
|
28
|
-
slide
|
29
|
-
end
|
30
|
-
|
31
|
-
sub_test_case("#have_previous?") do
|
32
|
-
test("no slides") do
|
33
|
-
assert_false(@canvas.have_previous?)
|
34
|
-
end
|
35
|
-
|
36
|
-
test("first slide") do
|
37
|
-
@canvas.slides << create_slide("Title")
|
38
|
-
@canvas.slides << create_slide("Page1")
|
39
|
-
@canvas.move_to_first
|
40
|
-
assert_false(@canvas.have_previous?)
|
41
|
-
end
|
42
|
-
|
43
|
-
test("last slide") do
|
44
|
-
@canvas.slides << create_slide("Title")
|
45
|
-
@canvas.slides << create_slide("Page1")
|
46
|
-
@canvas.move_to_last
|
47
|
-
assert_true(@canvas.have_previous?)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
sub_test_case("#have_next?") do
|
52
|
-
test("no slides") do
|
53
|
-
assert_false(@canvas.have_next?)
|
54
|
-
end
|
55
|
-
|
56
|
-
test("first slide") do
|
57
|
-
@canvas.slides << create_slide("Title")
|
58
|
-
@canvas.slides << create_slide("Page1")
|
59
|
-
@canvas.move_to_first
|
60
|
-
assert_true(@canvas.have_next?)
|
61
|
-
end
|
62
|
-
|
63
|
-
test("last slide") do
|
64
|
-
@canvas.slides << create_slide("Title")
|
65
|
-
@canvas.slides << create_slide("Page1")
|
66
|
-
@canvas.move_to_last
|
67
|
-
assert_false(@canvas.have_next?)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
data/test/test-color.rb
DELETED
@@ -1,51 +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/renderer/color"
|
18
|
-
|
19
|
-
class RabbitColorTest < Test::Unit::TestCase
|
20
|
-
def test_parse
|
21
|
-
assert_color_parse(0, 0, 0, nil, "#000")
|
22
|
-
assert_color_parse(0, 0, 0, nil, "#000000")
|
23
|
-
assert_color_parse(0, 0, 0, nil, "#000000000000")
|
24
|
-
assert_color_parse(0, 0, 0, nil, "black")
|
25
|
-
|
26
|
-
assert_color_parse(65535, 65535, 65535, nil, "#fff")
|
27
|
-
assert_color_parse(65535, 65535, 65535, nil, "#ffffff")
|
28
|
-
assert_color_parse(65535, 65535, 65535, nil, "#ffffffffffff")
|
29
|
-
assert_color_parse(65535, 65535, 65535, nil, "#FFF")
|
30
|
-
assert_color_parse(65535, 65535, 65535, nil, "#FFFFFF")
|
31
|
-
assert_color_parse(65535, 65535, 65535, nil, "#FFFFFFFFFFFF")
|
32
|
-
assert_color_parse(65535, 65535, 65535, nil, "#FfF")
|
33
|
-
assert_color_parse(65535, 65535, 65535, nil, "#FFffFF")
|
34
|
-
assert_color_parse(65535, 65535, 65535, nil, "#FFFFffffFFFF")
|
35
|
-
assert_color_parse(65535, 65535, 65535, nil, "white")
|
36
|
-
|
37
|
-
assert_color_parse(62720, 61904, 50688, nil, "#f500f1d0c600")
|
38
|
-
end
|
39
|
-
|
40
|
-
def parse(spec)
|
41
|
-
Rabbit::Renderer::Color.parse(spec)
|
42
|
-
end
|
43
|
-
|
44
|
-
def assert_color_parse(r, g, b, a, spec, message=nil)
|
45
|
-
_wrap_assertion do
|
46
|
-
color = parse(spec)
|
47
|
-
assert_equal([r, g, b, a || 65535],
|
48
|
-
color.to_a.collect {|x| (x * 65535).ceil})
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
data/test/test-element.rb
DELETED
@@ -1,103 +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/element"
|
18
|
-
|
19
|
-
class RabbitElementTest < Test::Unit::TestCase
|
20
|
-
def test_normalize_font_property
|
21
|
-
assert_normalize_font_property(["font_desc", "Sans Italic 12"],
|
22
|
-
[:desc, "Sans Italic 12"])
|
23
|
-
assert_normalize_font_property(["font_desc", "Sans Italic 12"],
|
24
|
-
[:description, "Sans Italic 12"])
|
25
|
-
|
26
|
-
assert_normalize_font_property(["font_family", "Sans"],
|
27
|
-
[:family, "Sans"])
|
28
|
-
|
29
|
-
assert_normalize_font_property(["size", 12800],
|
30
|
-
[:size, 12800])
|
31
|
-
assert_normalize_font_property(["size", "small"],
|
32
|
-
[:size, "small"])
|
33
|
-
|
34
|
-
assert_normalize_font_property(["style", "oblique"],
|
35
|
-
[:style, "oblique"])
|
36
|
-
|
37
|
-
assert_normalize_font_property(["weight", "bold"],
|
38
|
-
[:weight, "bold"])
|
39
|
-
|
40
|
-
assert_normalize_font_property(["variant", "smallcaps"],
|
41
|
-
[:variant, "smallcaps"])
|
42
|
-
|
43
|
-
assert_normalize_font_property(["stretch", "ultracondensed"],
|
44
|
-
[:stretch, "ultracondensed"])
|
45
|
-
|
46
|
-
assert_normalize_font_property(["foreground", "#ff00cc"],
|
47
|
-
[:foreground, "#ff00cc"])
|
48
|
-
assert_normalize_font_property(["foreground", "#ff00cc"],
|
49
|
-
[:color, "#ff00cc"])
|
50
|
-
assert_normalize_font_property(["foreground", "#ff00cc"],
|
51
|
-
[:fg_color, "#ff00cc"])
|
52
|
-
assert_normalize_font_property(["foreground", "#ff00cc"],
|
53
|
-
[:fg, "#ff00cc"])
|
54
|
-
|
55
|
-
assert_normalize_font_property(["background", "#ff00cc"],
|
56
|
-
[:background, "#ff00cc"])
|
57
|
-
assert_normalize_font_property(["background", "#ff00cc"],
|
58
|
-
[:bg_color, "#ff00cc"])
|
59
|
-
assert_normalize_font_property(["background", "#ff00cc"],
|
60
|
-
[:bg, "#ff00cc"])
|
61
|
-
|
62
|
-
assert_normalize_font_property(["underline", "low"],
|
63
|
-
[:underline, "low"])
|
64
|
-
assert_normalize_font_property(["underline", "low"],
|
65
|
-
[:ul, "low"])
|
66
|
-
|
67
|
-
assert_normalize_font_property(["underline_color", "red"],
|
68
|
-
[:underline_color, "red"])
|
69
|
-
assert_normalize_font_property(["underline_color", "red"],
|
70
|
-
[:ul_color, "red"])
|
71
|
-
|
72
|
-
assert_normalize_font_property(["rise", 12800],
|
73
|
-
[:rise, 12800])
|
74
|
-
assert_normalize_font_property(["rise", 12800],
|
75
|
-
[:superscript, 12800])
|
76
|
-
assert_normalize_font_property(["rise", -12800],
|
77
|
-
[:subscript, 12800])
|
78
|
-
|
79
|
-
assert_normalize_font_property(["strikethrough", "true"],
|
80
|
-
[:strikethrough, true])
|
81
|
-
assert_normalize_font_property(["strikethrough", "false"],
|
82
|
-
[:strike_through, false])
|
83
|
-
|
84
|
-
assert_normalize_font_property(["strikethrough_color", "red"],
|
85
|
-
[:strikethrough_color, "red"])
|
86
|
-
assert_normalize_font_property(["strikethrough_color", "red"],
|
87
|
-
[:strike_through_color, "red"])
|
88
|
-
|
89
|
-
assert_normalize_font_property(["fallback", "false"],
|
90
|
-
[:fallback, false])
|
91
|
-
end
|
92
|
-
|
93
|
-
def normalize_font_property(key, value)
|
94
|
-
elem = Rabbit::Element::Text.new("XXX")
|
95
|
-
elem.__send__(:normalize_font_property, key, value)
|
96
|
-
end
|
97
|
-
|
98
|
-
def assert_normalize_font_property(expected, actual)
|
99
|
-
_wrap_assertion do
|
100
|
-
assert_equal(expected, normalize_font_property(*actual))
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
data/test/test-readme-parser.rb
DELETED
@@ -1,160 +0,0 @@
|
|
1
|
-
# Copyright (C) 2012-2024 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/readme-parser"
|
18
|
-
|
19
|
-
class TestREADMEParser < Test::Unit::TestCase
|
20
|
-
def setup
|
21
|
-
@parser = Rabbit::READMEParser.new
|
22
|
-
@title = "Theme benchmark"
|
23
|
-
@description = <<-DESCRIPTION.strip
|
24
|
-
It's a slide for checking a Rabbit's theme. It contains many
|
25
|
-
elements. So it's useful for confirming your theme.
|
26
|
-
|
27
|
-
Please try to create your original theme!
|
28
|
-
DESCRIPTION
|
29
|
-
end
|
30
|
-
|
31
|
-
private
|
32
|
-
def assert_parse(content, extension=nil)
|
33
|
-
Tempfile.create(["README", extension]) do |readme_file|
|
34
|
-
readme_file.print(content)
|
35
|
-
readme_file.close
|
36
|
-
|
37
|
-
@parser.parse(readme_file.path)
|
38
|
-
assert_equal({
|
39
|
-
:title => @title,
|
40
|
-
:description => @description,
|
41
|
-
},
|
42
|
-
{
|
43
|
-
:title => @parser.title,
|
44
|
-
:description => @parser.description,
|
45
|
-
})
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
class TestRD < self
|
50
|
-
private
|
51
|
-
def readme_content
|
52
|
-
<<-README
|
53
|
-
= #{@title}
|
54
|
-
|
55
|
-
#{@description}
|
56
|
-
|
57
|
-
== For author
|
58
|
-
|
59
|
-
=== Show
|
60
|
-
|
61
|
-
rake
|
62
|
-
README
|
63
|
-
end
|
64
|
-
|
65
|
-
class TestExtension < self
|
66
|
-
def test_no_extension
|
67
|
-
assert_parse(readme_content)
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_rd
|
71
|
-
assert_parse(readme_content, ".rd")
|
72
|
-
end
|
73
|
-
|
74
|
-
def test_rab
|
75
|
-
assert_parse(readme_content, ".rab")
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
class TestHiki < self
|
81
|
-
private
|
82
|
-
def readme_content
|
83
|
-
<<-README
|
84
|
-
! #{@title}
|
85
|
-
|
86
|
-
#{@description}
|
87
|
-
|
88
|
-
!! For author
|
89
|
-
|
90
|
-
!!! Show
|
91
|
-
|
92
|
-
rake
|
93
|
-
README
|
94
|
-
end
|
95
|
-
|
96
|
-
class TestExtension < self
|
97
|
-
def test_no_extension
|
98
|
-
assert_parse(readme_content)
|
99
|
-
end
|
100
|
-
|
101
|
-
def test_hiki
|
102
|
-
assert_parse(readme_content, ".hiki")
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
107
|
-
class TestMarkdown < self
|
108
|
-
private
|
109
|
-
def readme_content
|
110
|
-
<<-README
|
111
|
-
# #{@title}
|
112
|
-
|
113
|
-
#{@description}
|
114
|
-
|
115
|
-
## For author
|
116
|
-
|
117
|
-
### Show
|
118
|
-
|
119
|
-
rake
|
120
|
-
README
|
121
|
-
end
|
122
|
-
|
123
|
-
class TestExtension < self
|
124
|
-
def test_no_extension
|
125
|
-
assert_parse(readme_content)
|
126
|
-
end
|
127
|
-
|
128
|
-
def test_md
|
129
|
-
assert_parse(readme_content, ".md")
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
class TestTextile < self
|
135
|
-
private
|
136
|
-
def readme_content
|
137
|
-
<<-README
|
138
|
-
h1. #{@title}
|
139
|
-
|
140
|
-
#{@description}
|
141
|
-
|
142
|
-
h2. For author
|
143
|
-
|
144
|
-
h3. Show
|
145
|
-
|
146
|
-
rake
|
147
|
-
README
|
148
|
-
end
|
149
|
-
|
150
|
-
class TestExtension < self
|
151
|
-
def test_no_extension
|
152
|
-
assert_parse(readme_content)
|
153
|
-
end
|
154
|
-
|
155
|
-
def test_textile
|
156
|
-
assert_parse(readme_content, ".textile")
|
157
|
-
end
|
158
|
-
end
|
159
|
-
end
|
160
|
-
end
|