rabbit 2.1.6 → 2.1.7
Sign up to get free protection for your applications and to get access to all the features.
- 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 ![](#{image_path})
|
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
|