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.
Files changed (241) hide show
  1. checksums.yaml +4 -4
  2. data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
  3. data/doc/_config.yml +2 -2
  4. data/doc/en/news.rd +54 -0
  5. data/doc/ja/news.rd +54 -0
  6. data/lib/rabbit/actions.rb +446 -0
  7. data/lib/rabbit/author-configuration.rb +7 -10
  8. data/lib/rabbit/canvas.rb +74 -42
  9. data/lib/rabbit/command/rabbit-slide.rb +11 -13
  10. data/lib/rabbit/command/rabbit-theme.rb +10 -12
  11. data/lib/rabbit/command/rabbit.rb +31 -43
  12. data/lib/rabbit/console.rb +20 -22
  13. data/lib/rabbit/dependency-canvas.rb +2 -2
  14. data/lib/rabbit/element/base.rb +93 -6
  15. data/lib/rabbit/element/block-element.rb +17 -1
  16. data/lib/rabbit/element/block.rb +17 -1
  17. data/lib/rabbit/element/container-element.rb +59 -3
  18. data/lib/rabbit/element/description-list.rb +18 -2
  19. data/lib/rabbit/element/enum-list.rb +18 -2
  20. data/lib/rabbit/element/footnote.rb +18 -2
  21. data/lib/rabbit/element/image-title-slide.rb +17 -1
  22. data/lib/rabbit/element/image.rb +32 -2
  23. data/lib/rabbit/element/index-slide.rb +29 -13
  24. data/lib/rabbit/element/item-list.rb +18 -2
  25. data/lib/rabbit/element/method-list.rb +18 -2
  26. data/lib/rabbit/element/poppler-page.rb +17 -1
  27. data/lib/rabbit/element/poppler-slide.rb +18 -2
  28. data/lib/rabbit/element/poppler-title-slide.rb +18 -2
  29. data/lib/rabbit/element/preformatted.rb +18 -2
  30. data/lib/rabbit/element/slide-element.rb +29 -2
  31. data/lib/rabbit/element/slide.rb +18 -2
  32. data/lib/rabbit/element/syntax-highlighting.rb +17 -1
  33. data/lib/rabbit/element/table.rb +19 -3
  34. data/lib/rabbit/element/tag.rb +18 -2
  35. data/lib/rabbit/element/text-block-element.rb +18 -2
  36. data/lib/rabbit/element/text-container-element.rb +41 -2
  37. data/lib/rabbit/element/text-element.rb +17 -1
  38. data/lib/rabbit/element/text-renderer.rb +17 -1
  39. data/lib/rabbit/element/text.rb +4 -4
  40. data/lib/rabbit/element/title-slide.rb +19 -3
  41. data/lib/rabbit/element/video.rb +157 -56
  42. data/lib/rabbit/element.rb +20 -20
  43. data/lib/rabbit/formatter.rb +18 -1
  44. data/lib/rabbit/frame.rb +102 -90
  45. data/lib/rabbit/front.rb +11 -4
  46. data/lib/rabbit/gem-finder.rb +4 -8
  47. data/lib/rabbit/gem-pusher.rb +4 -4
  48. data/lib/rabbit/gesture/handler.rb +26 -21
  49. data/lib/rabbit/graffiti/config-dialog.rb +18 -2
  50. data/lib/rabbit/graffiti/processor.rb +20 -4
  51. data/lib/rabbit/gtk.rb +48 -14
  52. data/lib/rabbit/html/generator.rb +18 -18
  53. data/{test/helper/fixture.rb → lib/rabbit/icon.rb} +16 -6
  54. data/lib/rabbit/image/base.rb +7 -6
  55. data/lib/rabbit/image/default.rb +17 -1
  56. data/lib/rabbit/image/dia.rb +2 -2
  57. data/lib/rabbit/image/eps.rb +16 -2
  58. data/lib/rabbit/image/gimp.rb +28 -11
  59. data/lib/rabbit/image/mermaid.rb +3 -3
  60. data/lib/rabbit/image/pdf.rb +3 -3
  61. data/lib/rabbit/image/svg.rb +2 -2
  62. data/lib/rabbit/image.rb +8 -8
  63. data/lib/rabbit/info-window.rb +55 -18
  64. data/lib/rabbit/key-handler.rb +381 -0
  65. data/lib/rabbit/keys.rb +31 -2
  66. data/lib/rabbit/logger/base.rb +17 -1
  67. data/lib/rabbit/logger/gui.rb +20 -4
  68. data/lib/rabbit/logger/stderr.rb +16 -2
  69. data/lib/rabbit/logger.rb +4 -4
  70. data/lib/rabbit/menu.rb +200 -220
  71. data/lib/rabbit/parser/base.rb +17 -1
  72. data/lib/rabbit/parser/ext/aafigure.rb +17 -1
  73. data/lib/rabbit/parser/ext/blockdiag.rb +17 -1
  74. data/lib/rabbit/parser/ext/charty.rb +2 -2
  75. data/lib/rabbit/parser/ext/coderay.rb +20 -4
  76. data/lib/rabbit/parser/ext/enscript.rb +31 -15
  77. data/lib/rabbit/parser/ext/entity.rb +17 -1
  78. data/lib/rabbit/parser/ext/image.rb +6 -6
  79. data/lib/rabbit/parser/ext/inline.rb +17 -1
  80. data/lib/rabbit/parser/ext/rouge.rb +7 -4
  81. data/lib/rabbit/parser/ext/tex.rb +18 -2
  82. data/lib/rabbit/parser/ext/video.rb +4 -4
  83. data/lib/rabbit/parser/image.rb +20 -4
  84. data/lib/rabbit/parser/markdown/converter.rb +12 -13
  85. data/lib/rabbit/parser/markdown.rb +18 -2
  86. data/lib/rabbit/parser/pause-support.rb +1 -0
  87. data/lib/rabbit/parser/pdf.rb +3 -3
  88. data/lib/rabbit/parser/rd/ext/base.rb +20 -4
  89. data/lib/rabbit/parser/rd/ext/block-verbatim.rb +24 -28
  90. data/lib/rabbit/parser/rd/ext/character-reference.rb +18 -2
  91. data/lib/rabbit/parser/rd/ext/image.rb +3 -3
  92. data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +6 -6
  93. data/lib/rabbit/parser/rd/ext/refer.rb +18 -2
  94. data/lib/rabbit/parser/rd/ext/video.rb +19 -2
  95. data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +24 -8
  96. data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +18 -2
  97. data/lib/rabbit/parser/rd/visitor.rb +18 -2
  98. data/lib/rabbit/parser/rd.rb +18 -2
  99. data/lib/rabbit/parser/wiki/output.rb +25 -28
  100. data/lib/rabbit/parser/wiki.rb +18 -2
  101. data/lib/rabbit/parser.rb +6 -6
  102. data/lib/rabbit/path-manipulatable.rb +4 -4
  103. data/lib/rabbit/progress.rb +17 -1
  104. data/lib/rabbit/properties.rb +3 -3
  105. data/lib/rabbit/rabbit.rb +15 -7
  106. data/lib/rabbit/readme-parser.rb +4 -6
  107. data/lib/rabbit/renderer/base.rb +44 -36
  108. data/lib/rabbit/renderer/color.rb +18 -2
  109. data/lib/rabbit/renderer/display/base.rb +10 -12
  110. data/lib/rabbit/renderer/display/button-handler.rb +141 -60
  111. data/lib/rabbit/renderer/display/cursor.rb +4 -5
  112. data/lib/rabbit/renderer/display/drawing-area-base.rb +32 -48
  113. data/lib/rabbit/renderer/display/drawing-area-primitive.rb +10 -61
  114. data/lib/rabbit/renderer/display/drawing-area-view-only.rb +19 -8
  115. data/lib/rabbit/renderer/display/drawing-area.rb +19 -15
  116. data/lib/rabbit/renderer/display/gesture.rb +9 -9
  117. data/lib/rabbit/renderer/display/graffiti.rb +22 -13
  118. data/lib/rabbit/renderer/display/info.rb +22 -2
  119. data/lib/rabbit/renderer/display/magnifier.rb +30 -17
  120. data/lib/rabbit/renderer/display/mask.rb +17 -1
  121. data/lib/rabbit/renderer/display/menu.rb +27 -3
  122. data/lib/rabbit/renderer/display/motion-handler.rb +45 -0
  123. data/lib/rabbit/renderer/display/progress.rb +17 -2
  124. data/lib/rabbit/renderer/display/scroll-handler.rb +60 -13
  125. data/lib/rabbit/renderer/display/search.rb +19 -2
  126. data/lib/rabbit/renderer/display/spotlight.rb +39 -25
  127. data/lib/rabbit/renderer/display.rb +16 -36
  128. data/lib/rabbit/renderer/engine/cairo.rb +4 -11
  129. data/lib/rabbit/renderer/engine.rb +17 -1
  130. data/lib/rabbit/renderer/kernel.rb +2 -20
  131. data/lib/rabbit/renderer/offscreen.rb +8 -14
  132. data/lib/rabbit/renderer/print-layout.rb +2 -2
  133. data/lib/rabbit/renderer/printer.rb +9 -16
  134. data/lib/rabbit/renderer/scene-background-widget.rb +95 -0
  135. data/lib/rabbit/renderer/scene-node-widget.rb +63 -0
  136. data/lib/rabbit/renderer/scene.rb +508 -0
  137. data/lib/rabbit/renderer.rb +6 -6
  138. data/lib/rabbit/search-window.rb +18 -2
  139. data/lib/rabbit/searcher.rb +15 -1
  140. data/lib/rabbit/size.rb +9 -1
  141. data/lib/rabbit/slide-configuration.rb +11 -14
  142. data/lib/rabbit/soap/driver.rb +20 -4
  143. data/lib/rabbit/soap/server.rb +17 -1
  144. data/lib/rabbit/source/argf.rb +5 -5
  145. data/lib/rabbit/source/base.rb +5 -6
  146. data/lib/rabbit/source/file.rb +5 -5
  147. data/lib/rabbit/source/memory.rb +20 -4
  148. data/lib/rabbit/source/uri.rb +9 -11
  149. data/lib/rabbit/source-generator/hiki.rb +2 -7
  150. data/lib/rabbit/source-generator/markdown.rb +2 -7
  151. data/lib/rabbit/source-generator/rd.rb +2 -7
  152. data/lib/rabbit/source-generator.rb +4 -4
  153. data/lib/rabbit/source.rb +5 -5
  154. data/lib/rabbit/task/slide.rb +13 -11
  155. data/lib/rabbit/task/theme.rb +8 -11
  156. data/lib/rabbit/task.rb +3 -3
  157. data/lib/rabbit/theme/applier.rb +27 -11
  158. data/lib/rabbit/theme/clear-blue/clear-blue.rb +1 -1
  159. data/lib/rabbit/theme/color-circle/color-circle.rb +18 -1
  160. data/lib/rabbit/theme/cozmixng/cozmixng.rb +1 -1
  161. data/lib/rabbit/theme/default/default.rb +1 -0
  162. data/lib/rabbit/theme/default-icon/default-icon.rb +1 -1
  163. data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +17 -1
  164. data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +9 -1
  165. data/lib/rabbit/theme/enishi-green/enishi-green.rb +1 -1
  166. data/lib/rabbit/theme/entry.rb +10 -12
  167. data/lib/rabbit/theme/icon/icon.rb +3 -8
  168. data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +5 -5
  169. data/lib/rabbit/theme/image-timer/image-timer.rb +3 -3
  170. data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +1 -0
  171. data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +1 -0
  172. data/lib/rabbit/theme/manager.rb +19 -9
  173. data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +1 -1
  174. data/lib/rabbit/theme/ranguba/ranguba.rb +1 -1
  175. data/lib/rabbit/theme/red-frame/red-frame.rb +6 -2
  176. data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +1 -0
  177. data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +1 -1
  178. data/lib/rabbit/theme/searcher.rb +23 -7
  179. data/lib/rabbit/theme/slide-number/slide-number.rb +1 -1
  180. data/lib/rabbit/theme/slide-show/slide-show.rb +1 -1
  181. data/lib/rabbit/theme/table/table.rb +2 -2
  182. data/lib/rabbit/theme/video/property.rb +3 -0
  183. data/lib/rabbit/theme/video/video.rb +5 -0
  184. data/lib/rabbit/theme-configuration.rb +9 -11
  185. data/lib/rabbit/utils.rb +12 -94
  186. data/lib/rabbit/version.rb +1 -1
  187. data/lib/rabbit/xmlrpc/client.rb +17 -1
  188. data/lib/rabbit/xmlrpc/server.rb +17 -1
  189. data/po/en/rabbit.edit.po +324 -316
  190. data/po/en/rabbit.po +61 -55
  191. data/po/fr/rabbit.edit.po +324 -316
  192. data/po/fr/rabbit.po +61 -55
  193. data/po/ja/rabbit.edit.po +345 -370
  194. data/po/ja/rabbit.po +83 -80
  195. data/rabbit.gemspec +4 -2
  196. data/sample/block-quote.rab +13 -0
  197. data/sample/description-list.rab +17 -0
  198. data/sample/mermaid.rab +16 -0
  199. data/sample/rabbit-en.hiki +0 -1
  200. data/sample/rabbit-en.md +0 -1
  201. data/sample/rabbit-en.rd +0 -1
  202. data/sample/rabbit.hiki +0 -1
  203. data/sample/rabbit.md +0 -1
  204. data/sample/rabbit.rd +0 -1
  205. data/sample/video.rab +17 -0
  206. metadata +33 -65
  207. data/lib/rabbit/action/basic.rb +0 -304
  208. data/lib/rabbit/action/radio.rb +0 -78
  209. data/lib/rabbit/action/toggle.rb +0 -82
  210. data/lib/rabbit/action.rb +0 -140
  211. data/lib/rabbit/renderer/display/gl.rb +0 -98
  212. data/lib/rabbit/renderer/display/key-handler.rb +0 -321
  213. data/lib/rabbit/renderer/gl.rb +0 -95
  214. data/lib/rabbit/renderer/screen.rb +0 -286
  215. data/lib/rabbit/renderer/widget/drawing-area.rb +0 -93
  216. data/lib/rabbit/stock.rb +0 -31
  217. data/lib/rabbit/trackball.rb +0 -228
  218. data/lib/rabbit/video-window.rb +0 -123
  219. data/test/command/test-rabbit.rb +0 -101
  220. data/test/helper/parser.rb +0 -48
  221. data/test/helper.rb +0 -24
  222. data/test/image/test-dia.rb +0 -54
  223. data/test/image/test-eps.rb +0 -41
  224. data/test/parser/test-markdown.rb +0 -360
  225. data/test/parser/test-rd.rb +0 -43
  226. data/test/parser/test-wiki.rb +0 -71
  227. data/test/run-test.rb +0 -27
  228. data/test/source-generator/test-hiki.rb +0 -68
  229. data/test/source-generator/test-markdown.rb +0 -67
  230. data/test/source-generator/test-rd.rb +0 -69
  231. data/test/test-applier.rb +0 -73
  232. data/test/test-author-configuration.rb +0 -37
  233. data/test/test-canvas.rb +0 -70
  234. data/test/test-color.rb +0 -51
  235. data/test/test-element.rb +0 -103
  236. data/test/test-readme-parser.rb +0 -160
  237. data/test/test-size.rb +0 -155
  238. data/test/test-slide-configuration.rb +0 -74
  239. data/test/test-source.rb +0 -122
  240. data/test/test-theme-configuration.rb +0 -47
  241. 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
@@ -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