rabbit 2.1.6 → 2.1.7
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/_layouts/en.html +1 -1
- data/doc/_layouts/ja.html +1 -1
- data/doc/_layouts/skeleton.html +22 -17
- data/doc/css/rabbit.css +62 -4
- data/doc/en/development.rd +2 -2
- data/doc/en/news.rd +65 -2
- data/doc/index.html.en +15 -15
- data/doc/index.html.ja +20 -20
- data/doc/ja/development.rd +2 -2
- data/doc/ja/index.rd +4 -4
- data/doc/ja/news.rd +61 -2
- data/lib/rabbit/command/rabbit.rb +7 -62
- data/lib/rabbit/cursor-manager.rb +29 -22
- data/lib/rabbit/element/index-slide.rb +1 -1
- data/lib/rabbit/error.rb +224 -0
- data/lib/rabbit/frame.rb +6 -10
- data/lib/rabbit/graffiti/config-dialog.rb +4 -4
- data/lib/rabbit/gtk.rb +173 -3
- data/lib/rabbit/image/pdf.rb +1 -3
- data/lib/rabbit/image/svg.rb +1 -3
- data/lib/rabbit/info-window.rb +37 -30
- data/lib/rabbit/keys.rb +70 -70
- data/lib/rabbit/logger/gui.rb +3 -10
- data/lib/rabbit/menu.rb +22 -8
- data/lib/rabbit/parser.rb +4 -2
- data/lib/rabbit/parser/base.rb +0 -6
- data/lib/rabbit/parser/image.rb +4 -0
- data/lib/rabbit/parser/markdown.rb +33 -7
- data/lib/rabbit/parser/markdown/converter.rb +15 -4
- data/lib/rabbit/parser/pdf.rb +4 -0
- data/lib/rabbit/parser/rd.rb +4 -0
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +47 -34
- data/lib/rabbit/parser/wiki.rb +4 -0
- data/lib/rabbit/parser/wiki/output.rb +42 -15
- data/lib/rabbit/progress.rb +1 -1
- data/lib/rabbit/rabbit.rb +8 -225
- data/lib/rabbit/renderer/base.rb +1 -1
- data/lib/rabbit/renderer/display/base.rb +10 -3
- data/lib/rabbit/renderer/display/button-handler.rb +3 -3
- data/lib/rabbit/renderer/display/clutter-embed.rb +9 -9
- data/lib/rabbit/renderer/display/drawing-area-base.rb +19 -24
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +22 -13
- data/lib/rabbit/renderer/display/drawing-area-view-only.rb +1 -1
- data/lib/rabbit/renderer/display/drawing-area.rb +1 -1
- data/lib/rabbit/renderer/display/gesture.rb +1 -1
- data/lib/rabbit/renderer/display/key-handler.rb +19 -19
- data/lib/rabbit/renderer/display/magnifier.rb +1 -1
- data/lib/rabbit/renderer/display/mask.rb +16 -21
- data/lib/rabbit/renderer/display/search.rb +1 -1
- data/lib/rabbit/renderer/display/spotlight.rb +1 -1
- data/lib/rabbit/renderer/engine.rb +1 -18
- data/lib/rabbit/renderer/engine/cairo.rb +0 -6
- data/lib/rabbit/renderer/pixmap.rb +1 -25
- data/lib/rabbit/renderer/pixmap/cairo.rb +1 -9
- data/lib/rabbit/renderer/print/cairo.rb +1 -10
- data/lib/rabbit/search-window.rb +2 -2
- data/lib/rabbit/source-generator/markdown.rb +1 -1
- data/lib/rabbit/stock.rb +3 -3
- data/lib/rabbit/task/slide.rb +1 -1
- data/lib/rabbit/theme/applier.rb +1 -1
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +0 -8
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +7 -5
- data/lib/rabbit/theme/image-timer/image-timer.rb +4 -1
- data/lib/rabbit/utils.rb +20 -3
- data/lib/rabbit/version.rb +1 -1
- data/lib/rabbit/video-window.rb +3 -3
- data/po/en/rabbit.edit.po +187 -199
- data/po/en/rabbit.po +58 -67
- data/po/fr/rabbit.edit.po +187 -199
- data/po/fr/rabbit.po +58 -67
- data/po/ja/rabbit.edit.po +204 -205
- data/po/ja/rabbit.po +64 -73
- data/rabbit.gemspec +2 -0
- data/sample/rabbit-en.md +2 -2
- data/sample/rabbit.md +2 -2
- data/test/image/test-dia.rb +2 -2
- data/test/image/test-eps.rb +2 -2
- data/test/parser/test-markdown.rb +71 -25
- data/test/parser/test-wiki.rb +73 -0
- data/test/rabbit-test-utils.rb +3 -7
- data/test/rabbit-test-utils/fixture.rb +24 -0
- data/test/rabbit-test-utils/parser.rb +48 -0
- data/test/source-generator/test-markdown.rb +1 -1
- metadata +37 -7
- data/README +0 -1
- data/doc/images/jp.png +0 -0
- data/doc/images/us.png +0 -0
- data/lib/rabbit/renderer/engine/gdk.rb +0 -230
- data/lib/rabbit/renderer/pixmap/gdk.rb +0 -29
data/po/ja/rabbit.po
CHANGED
@@ -6,7 +6,7 @@ msgid ""
|
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: Rabbit 0.5.4\n"
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
9
|
-
"PO-Revision-Date:
|
9
|
+
"PO-Revision-Date: 2015-09-05 23:04+0900\n"
|
10
10
|
"Last-Translator: Kouhei Sutou <kou@cozmixng.org>\n"
|
11
11
|
"Language-Team: Kouhei Sutou <kou@cozmixng.org> and Kobayashi Noritada <nori1@d"
|
12
12
|
"olphin.c.u-tokyo.ac.jp>\n"
|
@@ -331,10 +331,10 @@ msgid "COMMAND"
|
|
331
331
|
msgstr ""
|
332
332
|
|
333
333
|
msgid " new: create a new slide"
|
334
|
-
msgstr ""
|
334
|
+
msgstr " new: 新しいスライドを作成"
|
335
335
|
|
336
336
|
msgid " change: change an existing slide"
|
337
|
-
msgstr ""
|
337
|
+
msgstr " change: 既存のスライドを変更"
|
338
338
|
|
339
339
|
msgid "Slide information"
|
340
340
|
msgstr "スライドの情報"
|
@@ -707,12 +707,6 @@ msgstr "XML-RPCのホスト名を[HOST]とします."
|
|
707
707
|
msgid "Specify XML-RPC port as [PORT]."
|
708
708
|
msgstr "XML-RPCのポートを[PORT]とします."
|
709
709
|
|
710
|
-
msgid "Server"
|
711
|
-
msgstr "サーバ"
|
712
|
-
|
713
|
-
msgid "Specify whether to run as server."
|
714
|
-
msgstr "サーバとして動作するかどうかを指定します."
|
715
|
-
|
716
710
|
msgid "Public level"
|
717
711
|
msgstr "公開レベル"
|
718
712
|
|
@@ -765,7 +759,7 @@ msgid "Others"
|
|
765
759
|
msgstr "その他"
|
766
760
|
|
767
761
|
msgid "Check slide source syntax and exit."
|
768
|
-
msgstr ""
|
762
|
+
msgstr "スライドのソースの構文をチェックして終了します。"
|
769
763
|
|
770
764
|
msgid "Show a native window ID of the Rabbit window if available."
|
771
765
|
msgstr "可能ならウィンドウシステムに依存したRabbitのウィンドウのIDを表示します。"
|
@@ -788,12 +782,6 @@ msgstr "XML-RPC用ポート<%s>は使用中です."
|
|
788
782
|
msgid "Window ID: %d"
|
789
783
|
msgstr "ウィンドウID: %d"
|
790
784
|
|
791
|
-
msgid "going to shutdown..."
|
792
|
-
msgstr "終了中です..."
|
793
|
-
|
794
|
-
msgid "DRb.thread done."
|
795
|
-
msgstr "DRB.threadは終了しました."
|
796
|
-
|
797
785
|
msgid "Usage: %s [options]"
|
798
786
|
msgstr "使用法: %s [オプション]"
|
799
787
|
|
@@ -824,6 +812,60 @@ msgstr "バージョンを表示します."
|
|
824
812
|
msgid "Index"
|
825
813
|
msgstr "一覧"
|
826
814
|
|
815
|
+
msgid "no such file: %s"
|
816
|
+
msgstr "そのようなファイルはありません: %s"
|
817
|
+
|
818
|
+
msgid "can't handle %s because the following command can't be run successfully: %s"
|
819
|
+
msgstr "次のコマンドを正常に実行できなかったので%sを扱うことができません: %s"
|
820
|
+
|
821
|
+
msgid "tried gs commands: %s"
|
822
|
+
msgstr "実行したgsコマンド名: %s"
|
823
|
+
|
824
|
+
msgid "tried dia commands: %s"
|
825
|
+
msgstr "実行したdiaコマンド名: %s"
|
826
|
+
|
827
|
+
msgid "tried gimp commands: %s"
|
828
|
+
msgstr "実行したgimpコマンド名: %s"
|
829
|
+
|
830
|
+
msgid "Unknown property: %s"
|
831
|
+
msgstr "未知のプロパティ: %s"
|
832
|
+
|
833
|
+
msgid "can't allocate color: %s"
|
834
|
+
msgstr "色を割り当てることができません: %s"
|
835
|
+
|
836
|
+
msgid "not exist: %s"
|
837
|
+
msgstr "存在しません: %s"
|
838
|
+
|
839
|
+
msgid "not a file: %s"
|
840
|
+
msgstr "ファイルではありません: %s"
|
841
|
+
|
842
|
+
msgid "can not be read: %s"
|
843
|
+
msgstr "読み込むことができません: %s"
|
844
|
+
|
845
|
+
msgid "immutable source type: %s"
|
846
|
+
msgstr "変更不能なソースタイプです: %s"
|
847
|
+
|
848
|
+
msgid "not available interface: %s"
|
849
|
+
msgstr "利用可能なインターフェイスではありません: %s"
|
850
|
+
|
851
|
+
msgid "can't find HTML template: %s"
|
852
|
+
msgstr "HTML のテンプレートが見つかりません: %s"
|
853
|
+
|
854
|
+
msgid "can't find theme RD template: %s"
|
855
|
+
msgstr "テーマ RD のテンプレートが見つかりません: %s"
|
856
|
+
|
857
|
+
msgid "invalid motion: %s"
|
858
|
+
msgstr "不正な動きです: %s"
|
859
|
+
|
860
|
+
msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
|
861
|
+
msgstr "画像\"%{filename}のサイズプロパティ%{prop_name}の値が不正です: %{value}"
|
862
|
+
|
863
|
+
msgid "unknown cursor type: %s"
|
864
|
+
msgstr "未知のカーソルタイプ: %s"
|
865
|
+
|
866
|
+
msgid "print isn't supported"
|
867
|
+
msgstr "印刷をサポートしていません"
|
868
|
+
|
827
869
|
msgid "Installing gem: %s"
|
828
870
|
msgstr "gemをインストール中: %s"
|
829
871
|
|
@@ -846,7 +888,7 @@ msgid "PDF"
|
|
846
888
|
msgstr "PDF"
|
847
889
|
|
848
890
|
msgid "invalid PDF page number: <%s>"
|
849
|
-
msgstr ""
|
891
|
+
msgstr "不正なPDFのページ番号です: <%s>"
|
850
892
|
|
851
893
|
msgid "%s page doesn't exist in PDF"
|
852
894
|
msgstr "PDFの中に%sページはありません"
|
@@ -926,8 +968,11 @@ msgstr "水平線はサポートしていません"
|
|
926
968
|
msgid "unsupported list type: %s"
|
927
969
|
msgstr "サポートしていないリストの種類: %s"
|
928
970
|
|
929
|
-
msgid "
|
930
|
-
msgstr "
|
971
|
+
msgid "inline {{image(...)}} isn't supported."
|
972
|
+
msgstr "インラインの{{image(...)}}は未サポートです。"
|
973
|
+
|
974
|
+
msgid "multiple {{image(..., :align => :right)}} isn't supported."
|
975
|
+
msgstr "複数の{{image(..., :align => :right)}}は未対応です。"
|
931
976
|
|
932
977
|
msgid "Creating directory: %s"
|
933
978
|
msgstr "ディレクトリを作成中: %s"
|
@@ -935,60 +980,6 @@ msgstr "ディレクトリを作成中: %s"
|
|
935
980
|
msgid "Creating file: %s"
|
936
981
|
msgstr "ファイルを作成中: %s"
|
937
982
|
|
938
|
-
msgid "no such file: %s"
|
939
|
-
msgstr "そのようなファイルはありません: %s"
|
940
|
-
|
941
|
-
msgid "can't handle %s because the following command can't be run successfully: %s"
|
942
|
-
msgstr "次のコマンドを正常に実行できなかったので%sを扱うことができません: %s"
|
943
|
-
|
944
|
-
msgid "tried gs commands: %s"
|
945
|
-
msgstr "実行したgsコマンド名: %s"
|
946
|
-
|
947
|
-
msgid "tried dia commands: %s"
|
948
|
-
msgstr "実行したdiaコマンド名: %s"
|
949
|
-
|
950
|
-
msgid "tried gimp commands: %s"
|
951
|
-
msgstr "実行したgimpコマンド名: %s"
|
952
|
-
|
953
|
-
msgid "Unknown property: %s"
|
954
|
-
msgstr "未知のプロパティ: %s"
|
955
|
-
|
956
|
-
msgid "can't allocate color: %s"
|
957
|
-
msgstr "色を割り当てることができません: %s"
|
958
|
-
|
959
|
-
msgid "not exist: %s"
|
960
|
-
msgstr "存在しません: %s"
|
961
|
-
|
962
|
-
msgid "not a file: %s"
|
963
|
-
msgstr "ファイルではありません: %s"
|
964
|
-
|
965
|
-
msgid "can not be read: %s"
|
966
|
-
msgstr "読み込むことができません: %s"
|
967
|
-
|
968
|
-
msgid "immutable source type: %s"
|
969
|
-
msgstr "変更不能なソースタイプです: %s"
|
970
|
-
|
971
|
-
msgid "not available interface: %s"
|
972
|
-
msgstr "利用可能なインターフェイスではありません: %s"
|
973
|
-
|
974
|
-
msgid "can't find HTML template: %s"
|
975
|
-
msgstr "HTML のテンプレートが見つかりません: %s"
|
976
|
-
|
977
|
-
msgid "can't find theme RD template: %s"
|
978
|
-
msgstr "テーマ RD のテンプレートが見つかりません: %s"
|
979
|
-
|
980
|
-
msgid "invalid motion: %s"
|
981
|
-
msgstr "不正な動きです: %s"
|
982
|
-
|
983
|
-
msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
|
984
|
-
msgstr "画像\"%{filename}のサイズプロパティ%{prop_name}の値が不正です: %{value}"
|
985
|
-
|
986
|
-
msgid "unknown cursor type: %s"
|
987
|
-
msgstr "未知のカーソルタイプ: %s"
|
988
|
-
|
989
|
-
msgid "print isn't supported"
|
990
|
-
msgstr "印刷をサポートしていません"
|
991
|
-
|
992
983
|
msgid "No README found"
|
993
984
|
msgstr "READMEがありません"
|
994
985
|
|
data/rabbit.gemspec
CHANGED
@@ -45,6 +45,7 @@ Gem::Specification.new do |spec|
|
|
45
45
|
|
46
46
|
spec.required_ruby_version = ">= 1.9.3"
|
47
47
|
|
48
|
+
spec.add_runtime_dependency("gio2")
|
48
49
|
spec.add_runtime_dependency("gtk2")
|
49
50
|
spec.add_runtime_dependency("rsvg2")
|
50
51
|
spec.add_runtime_dependency("poppler")
|
@@ -58,6 +59,7 @@ Gem::Specification.new do |spec|
|
|
58
59
|
spec.add_runtime_dependency("faraday")
|
59
60
|
# spec.add_runtime_dependency("gstreamer")
|
60
61
|
|
62
|
+
spec.add_development_dependency("gtk3")
|
61
63
|
spec.add_development_dependency("test-unit")
|
62
64
|
spec.add_development_dependency("test-unit-notify")
|
63
65
|
spec.add_development_dependency("test-unit-rr")
|
data/sample/rabbit-en.md
CHANGED
@@ -20,7 +20,7 @@ A presentation tool
|
|
20
20
|
* Env.: PC-UNIX/Win/Mac
|
21
21
|
* Format:
|
22
22
|
RD/Wiki/Markdown/PDF
|
23
|
-
* View: Ruby
|
23
|
+
* View: Ruby {::note}(separated with format){:/note}
|
24
24
|
|
25
25
|
# Features: Display (1)
|
26
26
|
|
@@ -161,7 +161,7 @@ Download an image from a URL
|
|
161
161
|
|
162
162
|
# Math. expressions
|
163
163
|
|
164
|
-
* TeX format
|
164
|
+
* TeX {::note}(like){:/note} format
|
165
165
|
* Backends
|
166
166
|
* LaTeX
|
167
167
|
|
data/sample/rabbit.md
CHANGED
@@ -20,7 +20,7 @@ theme
|
|
20
20
|
* 動作: PC-UNIX/Win/Mac
|
21
21
|
* 書式:
|
22
22
|
Wiki/RD/Markdown/PDF
|
23
|
-
* 見た目: Ruby
|
23
|
+
* 見た目: Ruby{::note}(ソースと分離){:/note}
|
24
24
|
|
25
25
|
# 機能: 表示(1)
|
26
26
|
|
@@ -162,7 +162,7 @@ URL先の画像をダウンロード
|
|
162
162
|
|
163
163
|
# 数式
|
164
164
|
|
165
|
-
* 書式: TeX
|
165
|
+
* 書式: TeX{::note}(っぽい){:/note}
|
166
166
|
* バックエンド
|
167
167
|
* LaTeX
|
168
168
|
|
data/test/image/test-dia.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei Sutou <kou@cozmixng.org>
|
1
|
+
# Copyright (C) 2012-2015 Kouhei Sutou <kou@cozmixng.org>
|
2
2
|
#
|
3
3
|
# This program is free software; you can redistribute it and/or modify
|
4
4
|
# it under the terms of the GNU General Public License as published by
|
@@ -17,7 +17,7 @@
|
|
17
17
|
require "rabbit/image/dia"
|
18
18
|
|
19
19
|
class TestImageDia < Test::Unit::TestCase
|
20
|
-
include RabbitTestUtils
|
20
|
+
include RabbitTestUtils::Fixture
|
21
21
|
|
22
22
|
private
|
23
23
|
def fixture_path(base_name)
|
data/test/image/test-eps.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012 Kouhei Sutou <kou@cozmixng.org>
|
1
|
+
# Copyright (C) 2012-2015 Kouhei Sutou <kou@cozmixng.org>
|
2
2
|
#
|
3
3
|
# This program is free software; you can redistribute it and/or modify
|
4
4
|
# it under the terms of the GNU General Public License as published by
|
@@ -17,7 +17,7 @@
|
|
17
17
|
require "rabbit/image/eps"
|
18
18
|
|
19
19
|
class TestImageEPS < Test::Unit::TestCase
|
20
|
-
include RabbitTestUtils
|
20
|
+
include RabbitTestUtils::Fixture
|
21
21
|
|
22
22
|
private
|
23
23
|
def fixture_path(base_name)
|
@@ -22,33 +22,12 @@ require "rabbit/source/memory"
|
|
22
22
|
require "rabbit/parser/markdown"
|
23
23
|
|
24
24
|
class RabbitParserMarkdownTest < Test::Unit::TestCase
|
25
|
+
include RabbitTestUtils::Fixture
|
26
|
+
include RabbitTestUtils::Parser
|
27
|
+
|
25
28
|
private
|
26
29
|
def parse(markdown)
|
27
|
-
|
28
|
-
def canvas.logger
|
29
|
-
Rabbit::Logger.default
|
30
|
-
end
|
31
|
-
source = Rabbit::Source::Memory.new("UTF-8", nil)
|
32
|
-
source.source = markdown
|
33
|
-
parser = Rabbit::Parser::Markdown.new(canvas, source)
|
34
|
-
parser.parse
|
35
|
-
canvas
|
36
|
-
end
|
37
|
-
|
38
|
-
def inspect_canvas(canvas)
|
39
|
-
canvas.collect do |page|
|
40
|
-
inspect_element(page)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def inspect_element(element)
|
45
|
-
name = element.class.name.split(/::/).last
|
46
|
-
if element.respond_to?(:elements)
|
47
|
-
children = element.elements.collect {|child| inspect_element(child)}
|
48
|
-
else
|
49
|
-
children = [element.text]
|
50
|
-
end
|
51
|
-
[name, *children]
|
30
|
+
super(Rabbit::Parser::Markdown, markdown)
|
52
31
|
end
|
53
32
|
|
54
33
|
class TitlePageTest < self
|
@@ -266,5 +245,72 @@ class RabbitParserMarkdownTest < Test::Unit::TestCase
|
|
266
245
|
MARKDOWN
|
267
246
|
end
|
268
247
|
end
|
248
|
+
|
249
|
+
class ListTest < self
|
250
|
+
class UnorderedListTest < self
|
251
|
+
class NesetedTest < self
|
252
|
+
def test_no_new_line_after_first_line
|
253
|
+
assert_equal([
|
254
|
+
"Body", [
|
255
|
+
"ItemList", [
|
256
|
+
"ItemListItem", [
|
257
|
+
"Paragraph", ["Text", "First"],
|
258
|
+
], [
|
259
|
+
"ItemList", [
|
260
|
+
"ItemListItem", [
|
261
|
+
"Paragraph", ["Text", "Second"],
|
262
|
+
],
|
263
|
+
],
|
264
|
+
],
|
265
|
+
],
|
266
|
+
],
|
267
|
+
],
|
268
|
+
parse(<<-MARKDOWN))
|
269
|
+
* First
|
270
|
+
* Second
|
271
|
+
MARKDOWN
|
272
|
+
end
|
273
|
+
|
274
|
+
def test_have_new_line_after_first_line
|
275
|
+
assert_equal([
|
276
|
+
"Body", [
|
277
|
+
"ItemList", [
|
278
|
+
"ItemListItem", [
|
279
|
+
"Paragraph", ["Text", "First"],
|
280
|
+
], [
|
281
|
+
"ItemList", [
|
282
|
+
"ItemListItem", [
|
283
|
+
"Paragraph", ["Text", "Second"],
|
284
|
+
],
|
285
|
+
],
|
286
|
+
],
|
287
|
+
],
|
288
|
+
],
|
289
|
+
],
|
290
|
+
parse(<<-MARKDOWN))
|
291
|
+
* First
|
292
|
+
|
293
|
+
* Second
|
294
|
+
MARKDOWN
|
295
|
+
end
|
296
|
+
end
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
class ImageTest < self
|
301
|
+
class InlineTest < self
|
302
|
+
include Rabbit::GetText
|
303
|
+
|
304
|
+
def test_unsupported
|
305
|
+
image_path = fixture_path("image/png/lavie.png")
|
306
|
+
message = _("multiple ![alt]{image} in a paragraph isn't supported.")
|
307
|
+
assert_raise(Rabbit::ParseError.new(message)) do
|
308
|
+
parse(<<-MARKDOWN)
|
309
|
+
a 
|
310
|
+
MARKDOWN
|
311
|
+
end
|
312
|
+
end
|
313
|
+
end
|
314
|
+
end
|
269
315
|
end
|
270
316
|
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# Copyright (C) 2015 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-test-utils"
|
18
|
+
|
19
|
+
require "rabbit/logger"
|
20
|
+
require "rabbit/slide"
|
21
|
+
require "rabbit/source/memory"
|
22
|
+
require "rabbit/parser/wiki"
|
23
|
+
|
24
|
+
class RabbitParserWikiTest < Test::Unit::TestCase
|
25
|
+
include RabbitTestUtils::Fixture
|
26
|
+
include RabbitTestUtils::Parser
|
27
|
+
|
28
|
+
private
|
29
|
+
def parse(wiki_text)
|
30
|
+
super(Rabbit::Parser::Wiki, wiki_text)
|
31
|
+
end
|
32
|
+
|
33
|
+
class ImageTest < self
|
34
|
+
include Rabbit::GetText
|
35
|
+
|
36
|
+
class InlineTest < self
|
37
|
+
test "unsupported" do
|
38
|
+
image_path = fixture_path("image/png/lavie.png")
|
39
|
+
wiki_text = <<-WIKI
|
40
|
+
! Title
|
41
|
+
|
42
|
+
! Slide
|
43
|
+
|
44
|
+
a {{image(#{image_path.dump})}}
|
45
|
+
WIKI
|
46
|
+
message = _("inline {{image(...)}} isn't supported.")
|
47
|
+
assert_raise(Rabbit::ParseError.new(message)) do
|
48
|
+
parse(wiki_text)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
class BlockTest < self
|
54
|
+
test ":align => :right: twice" do
|
55
|
+
image_path = fixture_path("image/png/lavie.png")
|
56
|
+
wiki_text = <<-WIKI
|
57
|
+
! Title
|
58
|
+
|
59
|
+
! Slide
|
60
|
+
|
61
|
+
{{image(#{image_path.dump}, {:align => :right})}}
|
62
|
+
|
63
|
+
{{image(#{image_path.dump}, :align => :right)}}
|
64
|
+
WIKI
|
65
|
+
|
66
|
+
message = _("multiple {{image(..., :align => :right)}} isn't supported.")
|
67
|
+
assert_raise(Rabbit::ParseError.new(message)) do
|
68
|
+
parse(wiki_text)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|