rich_text_renderer 0.1.0 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/rich_text_renderer/block_renderers/asset_block_renderer.rb +27 -0
  5. data/lib/rich_text_renderer/block_renderers/asset_hyperlink_renderer.rb +64 -0
  6. data/lib/rich_text_renderer/block_renderers/blockquote_renderer.rb +1 -1
  7. data/lib/rich_text_renderer/block_renderers/entry_block_renderer.rb +1 -1
  8. data/lib/rich_text_renderer/block_renderers.rb +2 -0
  9. data/lib/rich_text_renderer/renderer.rb +2 -0
  10. data/lib/rich_text_renderer/text_renderers/text_renderer.rb +2 -0
  11. data/lib/rich_text_renderer/version.rb +1 -1
  12. metadata +9 -165
  13. data/.gitignore +0 -7
  14. data/.rspec +0 -1
  15. data/.rubocop.yml +0 -27
  16. data/.rubocop_todo.yml +0 -35
  17. data/.travis.yml +0 -13
  18. data/.yardopts +0 -4
  19. data/Gemfile +0 -3
  20. data/Gemfile.lock +0 -110
  21. data/Guardfile +0 -24
  22. data/Rakefile +0 -33
  23. data/coverage/.last_run.json +0 -5
  24. data/coverage/.resultset.json +0 -1372
  25. data/coverage/.resultset.json.lock +0 -0
  26. data/coverage/assets/0.10.2/application.css +0 -799
  27. data/coverage/assets/0.10.2/application.js +0 -1707
  28. data/coverage/assets/0.10.2/colorbox/border.png +0 -0
  29. data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
  30. data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
  31. data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
  32. data/coverage/assets/0.10.2/favicon_green.png +0 -0
  33. data/coverage/assets/0.10.2/favicon_red.png +0 -0
  34. data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
  35. data/coverage/assets/0.10.2/loading.gif +0 -0
  36. data/coverage/assets/0.10.2/magnify.png +0 -0
  37. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  38. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  39. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  40. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  41. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  42. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  43. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  44. data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  45. data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
  46. data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  47. data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
  48. data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
  49. data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  50. data/coverage/index.html +0 -9146
  51. data/doc/RichTextRenderer/BaseBlockRenderer.html +0 -242
  52. data/doc/RichTextRenderer/BaseInlineRenderer.html +0 -242
  53. data/doc/RichTextRenderer/BaseNodeRenderer.html +0 -300
  54. data/doc/RichTextRenderer/BlockQuoteRenderer.html +0 -169
  55. data/doc/RichTextRenderer/BoldRenderer.html +0 -169
  56. data/doc/RichTextRenderer/CodeRenderer.html +0 -169
  57. data/doc/RichTextRenderer/DocumentRenderer.html +0 -242
  58. data/doc/RichTextRenderer/EntryBlockRenderer.html +0 -239
  59. data/doc/RichTextRenderer/HeadingFiveRenderer.html +0 -169
  60. data/doc/RichTextRenderer/HeadingFourRenderer.html +0 -169
  61. data/doc/RichTextRenderer/HeadingOneRenderer.html +0 -169
  62. data/doc/RichTextRenderer/HeadingSixRenderer.html +0 -169
  63. data/doc/RichTextRenderer/HeadingThreeRenderer.html +0 -169
  64. data/doc/RichTextRenderer/HeadingTwoRenderer.html +0 -169
  65. data/doc/RichTextRenderer/HrRenderer.html +0 -238
  66. data/doc/RichTextRenderer/HyperlinkRenderer.html +0 -246
  67. data/doc/RichTextRenderer/ItalicRenderer.html +0 -169
  68. data/doc/RichTextRenderer/ListItemRenderer.html +0 -169
  69. data/doc/RichTextRenderer/NullRenderer.html +0 -238
  70. data/doc/RichTextRenderer/OrderedListRenderer.html +0 -169
  71. data/doc/RichTextRenderer/ParagraphRenderer.html +0 -169
  72. data/doc/RichTextRenderer/Renderer.html +0 -349
  73. data/doc/RichTextRenderer/TextRenderer.html +0 -254
  74. data/doc/RichTextRenderer/UnderlineRenderer.html +0 -169
  75. data/doc/RichTextRenderer/UnorderedListRenderer.html +0 -169
  76. data/doc/RichTextRenderer.html +0 -155
  77. data/doc/StructuredTextRenderer/BaseBlockRenderer.html +0 -242
  78. data/doc/StructuredTextRenderer/BaseInlineRenderer.html +0 -242
  79. data/doc/StructuredTextRenderer/BaseNodeRenderer.html +0 -300
  80. data/doc/StructuredTextRenderer/BoldRenderer.html +0 -169
  81. data/doc/StructuredTextRenderer/CodeRenderer.html +0 -169
  82. data/doc/StructuredTextRenderer/DocumentRenderer.html +0 -242
  83. data/doc/StructuredTextRenderer/EntryBlockRenderer.html +0 -239
  84. data/doc/StructuredTextRenderer/HeadingFiveRenderer.html +0 -169
  85. data/doc/StructuredTextRenderer/HeadingFourRenderer.html +0 -169
  86. data/doc/StructuredTextRenderer/HeadingOneRenderer.html +0 -169
  87. data/doc/StructuredTextRenderer/HeadingSixRenderer.html +0 -169
  88. data/doc/StructuredTextRenderer/HeadingThreeRenderer.html +0 -169
  89. data/doc/StructuredTextRenderer/HeadingTwoRenderer.html +0 -169
  90. data/doc/StructuredTextRenderer/HrRenderer.html +0 -238
  91. data/doc/StructuredTextRenderer/HyperlinkRenderer.html +0 -246
  92. data/doc/StructuredTextRenderer/ItalicRenderer.html +0 -169
  93. data/doc/StructuredTextRenderer/ListItemRenderer.html +0 -169
  94. data/doc/StructuredTextRenderer/NullRenderer.html +0 -238
  95. data/doc/StructuredTextRenderer/OrderedListRenderer.html +0 -169
  96. data/doc/StructuredTextRenderer/ParagraphRenderer.html +0 -169
  97. data/doc/StructuredTextRenderer/QuoteRenderer.html +0 -169
  98. data/doc/StructuredTextRenderer/Renderer.html +0 -349
  99. data/doc/StructuredTextRenderer/TextRenderer.html +0 -254
  100. data/doc/StructuredTextRenderer/UnderlineRenderer.html +0 -169
  101. data/doc/StructuredTextRenderer/UnorderedListRenderer.html +0 -169
  102. data/doc/StructuredTextRenderer.html +0 -155
  103. data/doc/_index.html +0 -387
  104. data/doc/class_list.html +0 -51
  105. data/doc/css/common.css +0 -1
  106. data/doc/css/full_list.css +0 -58
  107. data/doc/css/style.css +0 -496
  108. data/doc/file.CHANGELOG.html +0 -91
  109. data/doc/file.LICENSE.html +0 -70
  110. data/doc/file.README.html +0 -170
  111. data/doc/file_list.html +0 -66
  112. data/doc/frames.html +0 -17
  113. data/doc/index.html +0 -170
  114. data/doc/js/app.js +0 -292
  115. data/doc/js/full_list.js +0 -216
  116. data/doc/js/jquery.js +0 -4
  117. data/doc/method_list.html +0 -147
  118. data/doc/top-level-namespace.html +0 -110
  119. data/rich_text_renderer.gemspec +0 -30
  120. data/spec/lib/rich_text_renderer/block_renderers/base_block_renderer_spec.rb +0 -26
  121. data/spec/lib/rich_text_renderer/block_renderers/blockquote_renderer_spec.rb +0 -25
  122. data/spec/lib/rich_text_renderer/block_renderers/entry_block_renderer_spec.rb +0 -15
  123. data/spec/lib/rich_text_renderer/block_renderers/heading_five_renderer_spec.rb +0 -24
  124. data/spec/lib/rich_text_renderer/block_renderers/heading_four_renderer_spec.rb +0 -24
  125. data/spec/lib/rich_text_renderer/block_renderers/heading_one_renderer_spec.rb +0 -24
  126. data/spec/lib/rich_text_renderer/block_renderers/heading_six_renderer_spec.rb +0 -24
  127. data/spec/lib/rich_text_renderer/block_renderers/heading_three_renderer_spec.rb +0 -24
  128. data/spec/lib/rich_text_renderer/block_renderers/heading_two_renderer_spec.rb +0 -24
  129. data/spec/lib/rich_text_renderer/block_renderers/hr_renderer_spec.rb +0 -13
  130. data/spec/lib/rich_text_renderer/block_renderers/hyperlink_renderer_spec.rb +0 -24
  131. data/spec/lib/rich_text_renderer/block_renderers/list_item_renderer_spec.rb +0 -24
  132. data/spec/lib/rich_text_renderer/block_renderers/ordered_list_renderer_spec.rb +0 -56
  133. data/spec/lib/rich_text_renderer/block_renderers/paragraph_renderer_spec.rb +0 -30
  134. data/spec/lib/rich_text_renderer/block_renderers/unordered_list_renderer_spec.rb +0 -56
  135. data/spec/lib/rich_text_renderer/document_renderers/document_renderer_spec.rb +0 -42
  136. data/spec/lib/rich_text_renderer/null_renderer_spec.rb +0 -19
  137. data/spec/lib/rich_text_renderer/renderer_spec.rb +0 -308
  138. data/spec/lib/rich_text_renderer/text_renderers/base_inline_renderer_spec.rb +0 -11
  139. data/spec/lib/rich_text_renderer/text_renderers/bold_renderer_spec.rb +0 -11
  140. data/spec/lib/rich_text_renderer/text_renderers/code_renderer_spec.rb +0 -11
  141. data/spec/lib/rich_text_renderer/text_renderers/italic_renderer_spec.rb +0 -11
  142. data/spec/lib/rich_text_renderer/text_renderers/text_renderer_spec.rb +0 -53
  143. data/spec/lib/rich_text_renderer/text_renderers/underline_renderer_spec.rb +0 -11
  144. data/spec/spec_helper.rb +0 -82
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::HeadingFiveRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders a h5' do
17
- expect(subject.render(mock_node)).to eq "<h5>foo</h5>"
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq "<h5><b>foo</b></h5>"
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::HeadingFourRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders a h4' do
17
- expect(subject.render(mock_node)).to eq "<h4>foo</h4>"
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq "<h4><b>foo</b></h4>"
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::HeadingOneRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders a h1' do
17
- expect(subject.render(mock_node)).to eq "<h1>foo</h1>"
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq "<h1><b>foo</b></h1>"
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::HeadingSixRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders a h6' do
17
- expect(subject.render(mock_node)).to eq "<h6>foo</h6>"
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq "<h6><b>foo</b></h6>"
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::HeadingThreeRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders a h3' do
17
- expect(subject.render(mock_node)).to eq "<h3>foo</h3>"
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq "<h3><b>foo</b></h3>"
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::HeadingTwoRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders a h2' do
17
- expect(subject.render(mock_node)).to eq "<h2>foo</h2>"
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq "<h2><b>foo</b></h2>"
22
- end
23
- end
24
- end
@@ -1,13 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"nodeType" => "hr"}
4
-
5
- describe RichTextRenderer::HrRenderer do
6
- subject { described_class.new }
7
-
8
- describe '#render' do
9
- it 'will render an hr' do
10
- expect(subject.render(mock_node)).to eq '<hr />'
11
- end
12
- end
13
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"data" => {"uri" => "https://foobar.com"}, "content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"data" => {"uri" => "https://foobar.com"}, "content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::HyperlinkRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders an a' do
17
- expect(subject.render(mock_node)).to eq '<a href="https://foobar.com">foo</a>'
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq '<a href="https://foobar.com"><b>foo</b></a>'
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- describe RichTextRenderer::ListItemRenderer do
8
- subject do
9
- described_class.new(
10
- 'text' => RichTextRenderer::TextRenderer,
11
- 'bold' => RichTextRenderer::BoldRenderer
12
- )
13
- end
14
-
15
- describe '#render' do
16
- it 'renders a li' do
17
- expect(subject.render(mock_node)).to eq "<li>foo</li>"
18
- end
19
-
20
- it 'will propagate marks to text renderers' do
21
- expect(subject.render(mock_node_with_marks)).to eq "<li><b>foo</b></li>"
22
- end
23
- end
24
- end
@@ -1,56 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [
4
- {
5
- "content" => [{
6
- "content" => [{
7
- "value" => "foo",
8
- "nodeType" => "text",
9
- "nodeClass" => "text"
10
- }],
11
- "nodeType" => "paragraph",
12
- "nodeClass" => "block"
13
- }],
14
- "nodeType" => "list-item",
15
- "nodeClass" => "block"
16
- }]
17
- }
18
-
19
- mock_node_with_marks = {"content" => [
20
- {
21
- "content" => [{
22
- "content" => [{
23
- "marks" => [{"type" => "bold"}],
24
- "value" => "foo",
25
- "nodeType" => "text",
26
- "nodeClass" => "text"
27
- }],
28
- "nodeType" => "paragraph",
29
- "nodeClass" => "block"
30
- }],
31
- "nodeType" => "list-item",
32
- "nodeClass" => "block"
33
- }]
34
- }
35
-
36
-
37
- describe RichTextRenderer::OrderedListRenderer do
38
- subject do
39
- described_class.new(
40
- 'paragraph' => RichTextRenderer::ParagraphRenderer,
41
- 'text' => RichTextRenderer::TextRenderer,
42
- 'bold' => RichTextRenderer::BoldRenderer,
43
- 'list-item' => RichTextRenderer::ListItemRenderer
44
- )
45
- end
46
-
47
- describe '#render' do
48
- it 'renders a ol' do
49
- expect(subject.render(mock_node)).to eq "<ol><li><p>foo</p></li></ol>"
50
- end
51
-
52
- it 'will propagate marks to text renderers' do
53
- expect(subject.render(mock_node_with_marks)).to eq "<ol><li><p><b>foo</b></p></li></ol>"
54
- end
55
- end
56
- end
@@ -1,30 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [{"value" => "foo", "nodeType" => "text"}]}
4
-
5
- mock_node_with_marks = {"content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
6
-
7
- mock_node_with_multiple_content_nodes = {"content" => [{"value" => "foo", "nodeType" => "text"}, {"value" => " bar", "nodeType" => "text", "marks" => [{"type" => "bold"}]}]}
8
-
9
- describe RichTextRenderer::ParagraphRenderer do
10
- subject do
11
- described_class.new(
12
- 'text' => RichTextRenderer::TextRenderer,
13
- 'bold' => RichTextRenderer::BoldRenderer
14
- )
15
- end
16
-
17
- describe '#render' do
18
- it 'renders a p' do
19
- expect(subject.render(mock_node)).to eq "<p>foo</p>"
20
- end
21
-
22
- it 'will propagate marks to text renderers' do
23
- expect(subject.render(mock_node_with_marks)).to eq "<p><b>foo</b></p>"
24
- end
25
-
26
- it 'will properly render multiple content nodes' do
27
- expect(subject.render(mock_node_with_multiple_content_nodes)).to eq "<p>foo<b> bar</b></p>"
28
- end
29
- end
30
- end
@@ -1,56 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_node = {"content" => [
4
- {
5
- "content" => [{
6
- "content" => [{
7
- "value" => "foo",
8
- "nodeType" => "text",
9
- "nodeClass" => "text"
10
- }],
11
- "nodeType" => "paragraph",
12
- "nodeClass" => "block"
13
- }],
14
- "nodeType" => "list-item",
15
- "nodeClass" => "block"
16
- }]
17
- }
18
-
19
- mock_node_with_marks = {"content" => [
20
- {
21
- "content" => [{
22
- "content" => [{
23
- "marks" => [{"type" => "bold"}],
24
- "value" => "foo",
25
- "nodeType" => "text",
26
- "nodeClass" => "text"
27
- }],
28
- "nodeType" => "paragraph",
29
- "nodeClass" => "block"
30
- }],
31
- "nodeType" => "list-item",
32
- "nodeClass" => "block"
33
- }]
34
- }
35
-
36
-
37
- describe RichTextRenderer::UnorderedListRenderer do
38
- subject do
39
- described_class.new(
40
- 'paragraph' => RichTextRenderer::ParagraphRenderer,
41
- 'text' => RichTextRenderer::TextRenderer,
42
- 'bold' => RichTextRenderer::BoldRenderer,
43
- 'list-item' => RichTextRenderer::ListItemRenderer
44
- )
45
- end
46
-
47
- describe '#render' do
48
- it 'renders a ul' do
49
- expect(subject.render(mock_node)).to eq "<ul><li><p>foo</p></li></ul>"
50
- end
51
-
52
- it 'will propagate marks to text renderers' do
53
- expect(subject.render(mock_node_with_marks)).to eq "<ul><li><p><b>foo</b></p></li></ul>"
54
- end
55
- end
56
- end
@@ -1,42 +0,0 @@
1
- require 'spec_helper'
2
-
3
- mock_document = {
4
- "nodeType" => "document",
5
- "content" => [
6
- {
7
- "content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}],
8
- "nodeType" => "heading-1",
9
- }
10
- ],
11
- }
12
-
13
- mock_document_with_unknown_nodetype = {
14
- "nodeType" => "document",
15
- "content" => [
16
- {
17
- "content" => [{"value" => "foo", "nodeType" => "text", "marks" => [{"type" => "bold"}]}],
18
- "nodeType" => "unknown",
19
- }
20
- ],
21
- }
22
-
23
- describe RichTextRenderer::DocumentRenderer do
24
- subject do
25
- described_class.new(
26
- 'heading-1' => RichTextRenderer::HeadingOneRenderer,
27
- 'text' => RichTextRenderer::TextRenderer,
28
- 'bold' => RichTextRenderer::BoldRenderer,
29
- nil => RichTextRenderer::NullRenderer
30
- )
31
- end
32
-
33
- describe '#render' do
34
- it 'propagates rendering to renderers' do
35
- expect(subject.render(mock_document)).to eq "<h1><b>foo</b></h1>"
36
- end
37
-
38
- it 'will raise an error unknown node types' do
39
- expect { subject.render(mock_document_with_unknown_nodetype) }.to raise_error "No renderer defined for 'unknown' nodes"
40
- end
41
- end
42
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe RichTextRenderer::NullRenderer do
4
- subject { described_class.new }
5
-
6
- describe 'null renderer will raise errors for unknown nodes' do
7
- it 'will look for nodeType' do
8
- expect { subject.render({'nodeType' => 'foo'}) }.to raise_error "No renderer defined for 'foo' nodes"
9
- end
10
-
11
- it 'will look for type' do
12
- expect { subject.render({'type' => 'foo'}) }.to raise_error "No renderer defined for 'foo' nodes"
13
- end
14
-
15
- it 'if none of the above found, will dump the node' do
16
- expect { subject.render({'foo' => 'bar'}) }.to raise_error "No renderer defined for '{\"foo\"=>\"bar\"}' nodes"
17
- end
18
- end
19
- end