asciidoctor-diagram 2.0.5 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +52 -2
  3. data/README.adoc +25 -516
  4. data/Rakefile +1 -1
  5. data/docs/antora.yml +3 -0
  6. data/{images → docs/modules/ROOT/images}/asciidoctor-diagram-classes.png +0 -0
  7. data/docs/modules/ROOT/images/asciidoctor-diagram-process.png +0 -0
  8. data/docs/modules/ROOT/pages/index.adoc +21 -0
  9. data/docs/modules/ROOT/partials/advanced.adoc +362 -0
  10. data/docs/modules/ROOT/partials/create_diagram.adoc +134 -0
  11. data/docs/modules/ROOT/partials/generate.adoc +15 -0
  12. data/docs/modules/ROOT/partials/installation.adoc +19 -0
  13. data/docs/modules/ROOT/partials/uris.adoc +41 -0
  14. data/examples/features.adoc +1 -1
  15. data/lib/asciidoctor-diagram.rb +2 -0
  16. data/lib/asciidoctor-diagram/a2s.rb +1 -0
  17. data/lib/asciidoctor-diagram/a2s/extension.rb +4 -0
  18. data/lib/asciidoctor-diagram/barcode.rb +11 -0
  19. data/lib/asciidoctor-diagram/barcode/converter.rb +157 -0
  20. data/lib/asciidoctor-diagram/barcode/dependencies.rb +10 -0
  21. data/lib/asciidoctor-diagram/barcode/extension.rb +47 -0
  22. data/lib/asciidoctor-diagram/barcode/svg_outputter.rb +12 -0
  23. data/lib/asciidoctor-diagram/blockdiag.rb +1 -0
  24. data/lib/asciidoctor-diagram/blockdiag/extension.rb +5 -0
  25. data/lib/asciidoctor-diagram/bpmn.rb +1 -0
  26. data/lib/asciidoctor-diagram/bpmn/extension.rb +4 -0
  27. data/lib/asciidoctor-diagram/bytefield.rb +1 -0
  28. data/lib/asciidoctor-diagram/bytefield/extension.rb +4 -0
  29. data/lib/asciidoctor-diagram/diagram_converter.rb +4 -0
  30. data/lib/asciidoctor-diagram/diagram_processor.rb +55 -6
  31. data/lib/asciidoctor-diagram/diagram_source.rb +23 -7
  32. data/lib/asciidoctor-diagram/diagrams.rb +8 -0
  33. data/lib/asciidoctor-diagram/diagrams/converter.rb +49 -0
  34. data/lib/asciidoctor-diagram/diagrams/extension.rb +18 -0
  35. data/lib/asciidoctor-diagram/ditaa.rb +1 -0
  36. data/lib/asciidoctor-diagram/ditaa/converter.rb +14 -5
  37. data/lib/asciidoctor-diagram/ditaa/ditaa-1.3.20.jar +0 -0
  38. data/lib/asciidoctor-diagram/ditaa/extension.rb +4 -0
  39. data/lib/asciidoctor-diagram/dpic.rb +1 -0
  40. data/lib/asciidoctor-diagram/dpic/extension.rb +4 -0
  41. data/lib/asciidoctor-diagram/erd.rb +1 -0
  42. data/lib/asciidoctor-diagram/erd/extension.rb +4 -0
  43. data/lib/asciidoctor-diagram/gnuplot.rb +1 -0
  44. data/lib/asciidoctor-diagram/gnuplot/extension.rb +4 -0
  45. data/lib/asciidoctor-diagram/graphviz.rb +1 -0
  46. data/lib/asciidoctor-diagram/graphviz/extension.rb +4 -0
  47. data/lib/asciidoctor-diagram/http/converter.rb +34 -16
  48. data/lib/asciidoctor-diagram/http/server.rb +1 -1
  49. data/lib/asciidoctor-diagram/lilypond.rb +1 -0
  50. data/lib/asciidoctor-diagram/lilypond/converter.rb +11 -1
  51. data/lib/asciidoctor-diagram/lilypond/extension.rb +4 -0
  52. data/lib/asciidoctor-diagram/meme.rb +1 -0
  53. data/lib/asciidoctor-diagram/meme/converter.rb +15 -9
  54. data/lib/asciidoctor-diagram/meme/extension.rb +14 -16
  55. data/lib/asciidoctor-diagram/mermaid.rb +1 -0
  56. data/lib/asciidoctor-diagram/mermaid/converter.rb +27 -10
  57. data/lib/asciidoctor-diagram/mermaid/extension.rb +4 -0
  58. data/lib/asciidoctor-diagram/msc.rb +1 -0
  59. data/lib/asciidoctor-diagram/msc/extension.rb +4 -0
  60. data/lib/asciidoctor-diagram/nomnoml.rb +1 -0
  61. data/lib/asciidoctor-diagram/nomnoml/extension.rb +4 -0
  62. data/lib/asciidoctor-diagram/pikchr.rb +1 -0
  63. data/lib/asciidoctor-diagram/pikchr/converter.rb +8 -1
  64. data/lib/asciidoctor-diagram/pikchr/extension.rb +4 -0
  65. data/lib/asciidoctor-diagram/plantuml.rb +1 -0
  66. data/lib/asciidoctor-diagram/plantuml/converter.rb +67 -42
  67. data/lib/asciidoctor-diagram/plantuml/extension.rb +8 -0
  68. data/lib/asciidoctor-diagram/plantuml/plantuml-1.3.20.jar +0 -0
  69. data/lib/asciidoctor-diagram/salt.rb +1 -0
  70. data/lib/asciidoctor-diagram/shaape.rb +1 -0
  71. data/lib/asciidoctor-diagram/shaape/extension.rb +4 -0
  72. data/lib/asciidoctor-diagram/smcat.rb +1 -0
  73. data/lib/asciidoctor-diagram/smcat/extension.rb +4 -0
  74. data/lib/asciidoctor-diagram/svgbob.rb +1 -0
  75. data/lib/asciidoctor-diagram/svgbob/converter.rb +4 -0
  76. data/lib/asciidoctor-diagram/svgbob/extension.rb +4 -0
  77. data/lib/asciidoctor-diagram/symbolator.rb +1 -0
  78. data/lib/asciidoctor-diagram/symbolator/extension.rb +4 -0
  79. data/lib/asciidoctor-diagram/syntrax.rb +1 -0
  80. data/lib/asciidoctor-diagram/syntrax/converter.rb +1 -1
  81. data/lib/asciidoctor-diagram/syntrax/extension.rb +4 -0
  82. data/lib/asciidoctor-diagram/tikz.rb +1 -0
  83. data/lib/asciidoctor-diagram/tikz/extension.rb +4 -0
  84. data/lib/asciidoctor-diagram/umlet.rb +1 -0
  85. data/lib/asciidoctor-diagram/umlet/extension.rb +4 -0
  86. data/lib/asciidoctor-diagram/util/cli.rb +16 -1
  87. data/lib/asciidoctor-diagram/util/cli_generator.rb +13 -9
  88. data/lib/asciidoctor-diagram/util/gif.rb +1 -1
  89. data/lib/asciidoctor-diagram/util/java.rb +5 -3
  90. data/lib/asciidoctor-diagram/util/java_jruby.rb +4 -1
  91. data/lib/asciidoctor-diagram/util/java_socket.rb +10 -1
  92. data/lib/asciidoctor-diagram/util/pdf.rb +1 -1
  93. data/lib/asciidoctor-diagram/util/png.rb +1 -1
  94. data/lib/{server-1.3.15.jar → asciidoctor-diagram/util/server-1.3.20.jar} +0 -0
  95. data/lib/asciidoctor-diagram/util/svg.rb +25 -4
  96. data/lib/asciidoctor-diagram/vega.rb +2 -0
  97. data/lib/asciidoctor-diagram/vega/extension.rb +4 -0
  98. data/lib/asciidoctor-diagram/version.rb +1 -1
  99. data/lib/asciidoctor-diagram/wavedrom.rb +1 -0
  100. data/lib/asciidoctor-diagram/wavedrom/extension.rb +4 -0
  101. data/spec/a2s_spec.rb +10 -6
  102. data/spec/barcode_spec.rb +176 -0
  103. data/spec/blockdiag_spec.rb +10 -6
  104. data/spec/bpmn_spec.rb +7 -3
  105. data/spec/bytefield_spec.rb +10 -6
  106. data/spec/diagrams_spec.rb +27 -0
  107. data/spec/ditaa_spec.rb +8 -4
  108. data/spec/dpic_spec.rb +10 -6
  109. data/spec/erd_spec.rb +10 -6
  110. data/spec/gnuplot_spec.rb +14 -10
  111. data/spec/graphviz_spec.rb +7 -3
  112. data/spec/lilypond_spec.rb +10 -6
  113. data/spec/mermaid_spec.rb +44 -3
  114. data/spec/msc_spec.rb +10 -6
  115. data/spec/nomnoml_spec.rb +9 -5
  116. data/spec/pikchr_spec.rb +28 -6
  117. data/spec/plantuml_spec.rb +114 -3
  118. data/spec/shaape_spec.rb +10 -6
  119. data/spec/shared_examples.rb +161 -0
  120. data/spec/smcat_spec.rb +10 -6
  121. data/spec/svgbob_spec.rb +10 -6
  122. data/spec/symbolator_spec.rb +7 -3
  123. data/spec/syntrax_spec.rb +10 -6
  124. data/spec/test_helper.rb +6 -8
  125. data/spec/tikz_spec.rb +11 -7
  126. data/spec/umlet_spec.rb +6 -3
  127. data/spec/vega_spec.rb +11 -6
  128. data/spec/wavedrom_spec.rb +7 -3
  129. metadata +71 -14
  130. data/README_zh-CN.adoc +0 -336
  131. data/images/asciidoctor-diagram-process.png +0 -0
  132. data/lib/batik-all-1.10.jar +0 -0
  133. data/lib/ditaa-1.3.15.jar +0 -0
  134. data/lib/ditaamini-0.12.jar +0 -0
  135. data/lib/jlatexmath-minimal-1.0.5.jar +0 -0
  136. data/lib/plantuml-1.3.15.jar +0 -0
  137. data/lib/plantuml.jar +0 -0
@@ -1,16 +1,20 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ BLOCKDIAG_CODE = <<-eos
4
4
  blockdiag {
5
5
  A -> B -> C -> D;
6
6
  A -> E -> F -> G;
7
7
  }
8
8
  eos
9
9
 
10
- describe Asciidoctor::Diagram::BlockDiagBlockMacroProcessor, :broken_on_appveyor do
11
- include_examples "block_macro", :blockdiag, code, [:png, :svg, :pdf]
10
+ describe Asciidoctor::Diagram::BlockDiagInlineMacroProcessor do
11
+ include_examples "inline_macro", :blockdiag, BLOCKDIAG_CODE, [:png, :svg, :pdf]
12
12
  end
13
13
 
14
- describe Asciidoctor::Diagram::BlockDiagBlockProcessor, :broken_on_appveyor do
15
- include_examples "block", :blockdiag, code, [:png, :svg, :pdf]
16
- end
14
+ describe Asciidoctor::Diagram::BlockDiagBlockMacroProcessor do
15
+ include_examples "block_macro", :blockdiag, BLOCKDIAG_CODE, [:png, :svg, :pdf]
16
+ end
17
+
18
+ describe Asciidoctor::Diagram::BlockDiagBlockProcessor do
19
+ include_examples "block", :blockdiag, BLOCKDIAG_CODE, [:png, :svg, :pdf]
20
+ end
data/spec/bpmn_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<EOF
3
+ BPNM_CODE = <<EOF
4
4
  <?xml version="1.0" encoding="UTF-8"?>
5
5
  <bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0zt4mn9" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="5.1.2">
6
6
  <bpmn:process id="Process_081h9u7" isExecutable="false">
@@ -47,10 +47,14 @@ code = <<EOF
47
47
  </bpmn:definitions>
48
48
  EOF
49
49
 
50
+ describe Asciidoctor::Diagram::BpmnInlineMacroProcessor do
51
+ include_examples "inline_macro", :bpmn, BPNM_CODE, [:png, :svg, :pdf]
52
+ end
53
+
50
54
  describe Asciidoctor::Diagram::BpmnBlockMacroProcessor do
51
- include_examples "block_macro", :bpmn, code, [:png, :svg, :pdf]
55
+ include_examples "block_macro", :bpmn, BPNM_CODE, [:png, :svg, :pdf]
52
56
  end
53
57
 
54
58
  describe Asciidoctor::Diagram::BpmnBlockProcessor do
55
- include_examples "block", :bpmn, code, [:png, :svg, :pdf]
59
+ include_examples "block", :bpmn, BPNM_CODE, [:png, :svg, :pdf]
56
60
  end
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ BYTEFIELD_CODE = <<-eos
4
4
  ;; This the source for the sample diagram illustrated in the project Read Me.
5
5
 
6
6
  ;; Some nice default background colors, used to distinguish header sections.
@@ -83,10 +83,14 @@ code = <<-eos
83
83
  (draw-bottom)
84
84
  eos
85
85
 
86
- describe Asciidoctor::Diagram::BytefieldBlockMacroProcessor, :broken_on_travis, :broken_on_windows do
87
- include_examples "block_macro", :bytefield, code, [:svg]
86
+ describe Asciidoctor::Diagram::BytefieldInlineMacroProcessor do
87
+ include_examples "inline_macro", :bytefield, BYTEFIELD_CODE, [:svg]
88
88
  end
89
89
 
90
- describe Asciidoctor::Diagram::BytefieldBlockProcessor, :broken_on_travis, :broken_on_windows do
91
- include_examples "block", :bytefield, code, [:svg]
92
- end
90
+ describe Asciidoctor::Diagram::BytefieldBlockMacroProcessor do
91
+ include_examples "block_macro", :bytefield, BYTEFIELD_CODE, [:svg]
92
+ end
93
+
94
+ describe Asciidoctor::Diagram::BytefieldBlockProcessor do
95
+ include_examples "block", :bytefield, BYTEFIELD_CODE, [:svg]
96
+ end
@@ -0,0 +1,27 @@
1
+ require_relative 'test_helper'
2
+
3
+ DIAGRAMS_CODE = <<-eos
4
+ from diagrams import Diagram
5
+ from diagrams.aws.compute import EC2
6
+ from diagrams.aws.database import RDS
7
+ from diagrams.aws.network import ELB
8
+
9
+ with Diagram("Grouped Workers", show=False, direction="TB"):
10
+ ELB("lb") >> [EC2("worker1"),
11
+ EC2("worker2"),
12
+ EC2("worker3"),
13
+ EC2("worker4"),
14
+ EC2("worker5")] >> RDS("events")
15
+ eos
16
+
17
+ describe Asciidoctor::Diagram::DiagramsInlineMacroProcessor do
18
+ include_examples "inline_macro", :diagrams, DIAGRAMS_CODE, [:png, :svg]
19
+ end
20
+
21
+ describe Asciidoctor::Diagram::DiagramsBlockMacroProcessor do
22
+ include_examples "block_macro", :diagrams, DIAGRAMS_CODE, [:png, :svg]
23
+ end
24
+
25
+ describe Asciidoctor::Diagram::DiagramsBlockProcessor do
26
+ include_examples "block", :diagrams, DIAGRAMS_CODE, [:png, :svg]
27
+ end
data/spec/ditaa_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ DITAA_CODE = <<-eos
4
4
  +--------+ +-------+ +-------+
5
5
  | | --+ ditaa +--> | |
6
6
  | Text | +-------+ |diagram|
@@ -12,12 +12,16 @@ code = <<-eos
12
12
  +-------------------------+
13
13
  eos
14
14
 
15
+ describe Asciidoctor::Diagram::DitaaInlineMacroProcessor do
16
+ include_examples "inline_macro", :ditaa, DITAA_CODE, [:png, :svg]
17
+ end
18
+
15
19
  describe Asciidoctor::Diagram::DitaaBlockMacroProcessor do
16
- include_examples "block_macro", :ditaa, code, [:png, :svg]
20
+ include_examples "block_macro", :ditaa, DITAA_CODE, [:png, :svg]
17
21
  end
18
22
 
19
23
  describe Asciidoctor::Diagram::DitaaBlockProcessor do
20
- include_examples "block", :ditaa, code, [:png, :svg]
24
+ include_examples "block", :ditaa, DITAA_CODE, [:png, :svg]
21
25
 
22
26
  it "should support ditaa options as attributes" do
23
27
  doc = <<-eos
@@ -145,6 +149,6 @@ This should cause a bug.
145
149
 
146
150
  expect {
147
151
  load_asciidoc doc
148
- }.to raise_error(/Cannot follow cell/i)
152
+ }.to raise_error(/Ambiguous input/i)
149
153
  end
150
154
  end
data/spec/dpic_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ DPIC_CODE = <<-eos
4
4
  arrow "$u$" above
5
5
  S: circle rad 10/72.27 # 10 pt
6
6
  line right 0.35
@@ -10,10 +10,14 @@ G: box "$G(s)$"
10
10
  "$-\;$" below rjust
11
11
  eos
12
12
 
13
- describe Asciidoctor::Diagram::DpicBlockMacroProcessor, :broken_on_travis, :broken_on_windows do
14
- include_examples "block_macro", :dpic, code, [:svg]
13
+ describe Asciidoctor::Diagram::DpicInlineMacroProcessor, :broken_on_windows do
14
+ include_examples "inline_macro", :dpic, DPIC_CODE, [:svg]
15
15
  end
16
16
 
17
- describe Asciidoctor::Diagram::DpicBlockProcessor, :broken_on_travis, :broken_on_windows do
18
- include_examples "block", :dpic, code, [:svg]
19
- end
17
+ describe Asciidoctor::Diagram::DpicBlockMacroProcessor, :broken_on_windows do
18
+ include_examples "block_macro", :dpic, DPIC_CODE, [:svg]
19
+ end
20
+
21
+ describe Asciidoctor::Diagram::DpicBlockProcessor, :broken_on_windows do
22
+ include_examples "block", :dpic, DPIC_CODE, [:svg]
23
+ end
data/spec/erd_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ ERD_CODE = <<-eos
4
4
  title {label: "nfldb Entity-Relationship diagram (condensed)", size: "20"}
5
5
 
6
6
  # Entities
@@ -83,10 +83,14 @@ play 1--* play_player
83
83
  player 1--* play_player
84
84
  eos
85
85
 
86
- describe Asciidoctor::Diagram::ErdBlockMacroProcessor, :broken_on_travis, :broken_on_windows do
87
- include_examples "block_macro", :erd, code, [:svg]
86
+ describe Asciidoctor::Diagram::ErdInlineMacroProcessor, :broken_on_windows do
87
+ include_examples "inline_macro", :erd, ERD_CODE, [:png, :svg]
88
88
  end
89
89
 
90
- describe Asciidoctor::Diagram::ErdBlockProcessor, :broken_on_travis, :broken_on_windows do
91
- include_examples "block", :erd, code, [:svg]
92
- end
90
+ describe Asciidoctor::Diagram::ErdBlockMacroProcessor, :broken_on_windows do
91
+ include_examples "block_macro", :erd, ERD_CODE, [:png, :svg]
92
+ end
93
+
94
+ describe Asciidoctor::Diagram::ErdBlockProcessor, :broken_on_windows do
95
+ include_examples "block", :erd, ERD_CODE, [:png, :svg]
96
+ end
data/spec/gnuplot_spec.rb CHANGED
@@ -1,15 +1,19 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ GNUPLOT_CODE = <<-eos
4
4
  plot [0:5][0:20] x**2 title 'O(n^2)'
5
5
  eos
6
6
 
7
+ describe Asciidoctor::Diagram::GnuplotInlineMacroProcessor do
8
+ include_examples "inline_macro", :gnuplot, GNUPLOT_CODE, [:png, :svg, :gif]
9
+ end
10
+
7
11
  describe Asciidoctor::Diagram::GnuplotBlockMacroProcessor do
8
- include_examples "block_macro", :gnuplot, code, [:png, :svg, :gif, :txt]
12
+ include_examples "block_macro", :gnuplot, GNUPLOT_CODE, [:png, :svg, :gif, :txt]
9
13
  end
10
14
 
11
15
  describe Asciidoctor::Diagram::GnuplotBlockProcessor do
12
- include_examples "block", :gnuplot, code, [:png, :svg, :gif, :txt]
16
+ include_examples "block", :gnuplot, GNUPLOT_CODE, [:png, :svg, :gif, :txt]
13
17
 
14
18
  it "should generate images with user defined size" do
15
19
  doc = <<-eos
@@ -20,7 +24,7 @@ Doc Writer <doc@example.com>
20
24
 
21
25
  [gnuplot, format="png",width="800", height="600"]
22
26
  ----
23
- #{code}
27
+ #{GNUPLOT_CODE}
24
28
  ----
25
29
  eos
26
30
 
@@ -50,7 +54,7 @@ Doc Writer <doc@example.com>
50
54
 
51
55
  [gnuplot, format="png", crop=false, transparent=false]
52
56
  ----
53
- #{code}
57
+ #{GNUPLOT_CODE}
54
58
  ----
55
59
  eos
56
60
 
@@ -80,7 +84,7 @@ Doc Writer <doc@example.com>
80
84
 
81
85
  [gnuplot, format="png", crop=true, transparent=true]
82
86
  ----
83
- #{code}
87
+ #{GNUPLOT_CODE}
84
88
  ----
85
89
  eos
86
90
 
@@ -110,7 +114,7 @@ Doc Writer <doc@example.com>
110
114
 
111
115
  [gnuplot, format="png", font="Arial"]
112
116
  ----
113
- #{code}
117
+ #{GNUPLOT_CODE}
114
118
  ----
115
119
  eos
116
120
 
@@ -140,7 +144,7 @@ Doc Writer <doc@example.com>
140
144
 
141
145
  [gnuplot, format="png", font="Arial,11"]
142
146
  ----
143
- #{code}
147
+ #{GNUPLOT_CODE}
144
148
  ----
145
149
  eos
146
150
 
@@ -170,7 +174,7 @@ Doc Writer <doc@example.com>
170
174
 
171
175
  [gnuplot, format="png", font="Arial", scale="0.5"]
172
176
  ----
173
- #{code}
177
+ #{GNUPLOT_CODE}
174
178
  ----
175
179
  eos
176
180
 
@@ -200,7 +204,7 @@ Doc Writer <doc@example.com>
200
204
 
201
205
  [gnuplot, format="png", background="red"]
202
206
  ----
203
- #{code}
207
+ #{GNUPLOT_CODE}
204
208
  ----
205
209
  eos
206
210
 
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ DOT_CODE = <<-eos
4
4
  digraph foo {
5
5
  node [style=rounded]
6
6
  node1 [shape=box]
@@ -11,10 +11,14 @@ digraph foo {
11
11
  }
12
12
  eos
13
13
 
14
+ describe Asciidoctor::Diagram::GraphvizInlineMacroProcessor do
15
+ include_examples "inline_macro", :graphviz, DOT_CODE, [:png, :svg]
16
+ end
17
+
14
18
  describe Asciidoctor::Diagram::GraphvizBlockMacroProcessor do
15
- include_examples "block_macro", :graphviz, code, [:png, :svg]
19
+ include_examples "block_macro", :graphviz, DOT_CODE, [:png, :svg]
16
20
  end
17
21
 
18
22
  describe Asciidoctor::Diagram::GraphvizBlockProcessor do
19
- include_examples "block", :graphviz, code, [:png, :svg]
23
+ include_examples "block", :graphviz, DOT_CODE, [:png, :svg]
20
24
  end
@@ -1,13 +1,17 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ LILYPOND_CODE = <<-eos
4
4
  \\relative c' { f d f a d f e d cis a cis e a g f e }
5
5
  eos
6
6
 
7
- describe Asciidoctor::Diagram::LilypondBlockMacroProcessor, :broken_on_windows do
8
- include_examples "block_macro", :lilypond, code, [:png]
7
+ describe Asciidoctor::Diagram::LilypondInlineMacroProcessor do
8
+ include_examples "inline_macro", :lilypond, LILYPOND_CODE, [:png]
9
9
  end
10
10
 
11
- describe Asciidoctor::Diagram::LilypondBlockProcessor, :broken_on_windows do
12
- include_examples "block", :lilypond, code, [:png]
13
- end
11
+ describe Asciidoctor::Diagram::LilypondBlockMacroProcessor do
12
+ include_examples "block_macro", :lilypond, LILYPOND_CODE, [:png]
13
+ end
14
+
15
+ describe Asciidoctor::Diagram::LilypondBlockProcessor do
16
+ include_examples "block", :lilypond, LILYPOND_CODE, [:png]
17
+ end
data/spec/mermaid_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ MERMAID_CODE = <<-eos
4
4
  graph LR
5
5
  A[Square Rect] -- Link text --> B((Circle))
6
6
  A --> C(Round Rect)
@@ -8,8 +8,12 @@ graph LR
8
8
  C --> D
9
9
  eos
10
10
 
11
+ describe Asciidoctor::Diagram::MermaidInlineMacroProcessor do
12
+ include_examples "inline_macro", :mermaid, MERMAID_CODE, [:png, :svg]
13
+ end
14
+
11
15
  describe Asciidoctor::Diagram::MermaidBlockMacroProcessor do
12
- include_examples "block_macro", :mermaid, code, [:png, :svg]
16
+ include_examples "block_macro", :mermaid, MERMAID_CODE, [:png, :svg]
13
17
 
14
18
  it "should respect the sequenceConfig attribute" do
15
19
  seq_diag = <<-eos
@@ -135,7 +139,44 @@ mermaid::mermaid.txt[target="without_config"]
135
139
  end
136
140
 
137
141
  describe Asciidoctor::Diagram::MermaidBlockProcessor do
138
- include_examples "block", :mermaid, code, [:png, :svg]
142
+ include_examples "block", :mermaid, MERMAID_CODE, [:png, :svg]
143
+
144
+ it "should work with kroki.io" do
145
+ doc = <<-eos
146
+ = Hello, kroki!
147
+ :diagram-server-url: https://kroki.io/
148
+ :diagram-server-type: kroki_io
149
+ Doc Writer <doc@example.com>
150
+
151
+ == First Section
152
+
153
+ [mermaid, format=svg]
154
+ ----
155
+ graph TD
156
+ A[ Anyone ] -->|Can help | B( Go to github.com/yuzutech/kroki )
157
+ B --> C{ How to contribute? }
158
+ C --> D[ Reporting bugs ]
159
+ C --> E[ Sharing ideas ]
160
+ C --> F[ Advocating ]
161
+ ----
162
+ eos
163
+
164
+ d = load_asciidoc doc
165
+ expect(d).to_not be_nil
166
+
167
+ b = d.find { |bl| bl.context == :image }
168
+ expect(b).to_not be_nil
169
+
170
+ expect(b.content_model).to eq :empty
171
+
172
+ target = b.attributes['target']
173
+ expect(target).to_not be_nil
174
+ expect(target).to match(/\.svg$/)
175
+ expect(File.exist?(target)).to be true
176
+
177
+ expect(b.attributes['width']).to_not be_nil
178
+ expect(b.attributes['height']).to_not be_nil
179
+ end
139
180
 
140
181
  it "should report unsupported scaling factors" do
141
182
  doc = <<-eos
data/spec/msc_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ MSC_CODE = <<-eos
4
4
  # MSC for some fictional process
5
5
  msc {
6
6
  hscale = "2";
@@ -24,10 +24,14 @@ msc {
24
24
  }
25
25
  eos
26
26
 
27
- describe Asciidoctor::Diagram::MscBlockMacroProcessor, :broken_on_windows do
28
- include_examples "block_macro", :msc, code, [:png, :svg]
27
+ describe Asciidoctor::Diagram::MscInlineMacroProcessor do
28
+ include_examples "inline_macro", :msc, MSC_CODE, [:png, :svg]
29
29
  end
30
30
 
31
- describe Asciidoctor::Diagram::MscBlockProcessor, :broken_on_windows do
32
- include_examples "block", :msc, code, [:png, :svg]
33
- end
31
+ describe Asciidoctor::Diagram::MscBlockMacroProcessor do
32
+ include_examples "block_macro", :msc, MSC_CODE, [:png, :svg]
33
+ end
34
+
35
+ describe Asciidoctor::Diagram::MscBlockProcessor do
36
+ include_examples "block", :msc, MSC_CODE, [:png, :svg]
37
+ end
data/spec/nomnoml_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require_relative 'test_helper'
2
2
 
3
- code = <<-eos
3
+ NOMNOML_CODE = <<-eos
4
4
  [Pirate
5
5
  [beard]--[parrot]
6
6
  [beard]-:>[foul mouth]
@@ -23,10 +23,14 @@ code = <<-eos
23
23
  [<actor>Sailor] - [<usecase>shiver me;timbers]
24
24
  eos
25
25
 
26
+ describe Asciidoctor::Diagram::NomnomlInlineMacroProcessor do
27
+ include_examples "inline_macro", :nomnoml, NOMNOML_CODE, [:svg]
28
+ end
29
+
26
30
  describe Asciidoctor::Diagram::NomnomlBlockMacroProcessor do
27
- include_examples "block_macro", :nomnoml, code, [:svg]
31
+ include_examples "block_macro", :nomnoml, NOMNOML_CODE, [:svg]
28
32
  end
29
33
 
30
- describe Asciidoctor::Diagram::NomnomlBlockProcessor, :broken_on_windows do
31
- include_examples "block", :nomnoml, code, [:svg]
32
- end
34
+ describe Asciidoctor::Diagram::NomnomlBlockProcessor do
35
+ include_examples "block", :nomnoml, NOMNOML_CODE, [:svg]
36
+ end