wortsammler 1.0.3 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +46 -4
  3. data/.gitpod.Dockerfile +32 -0
  4. data/.gitpod.yml +1 -0
  5. data/.idea/.name +1 -0
  6. data/.idea/.rakeTasks +7 -0
  7. data/.idea/202_wortsammler-gem.iml +119 -0
  8. data/.idea/compiler.xml +22 -0
  9. data/.idea/encodings.xml +6 -0
  10. data/.idea/inspectionProfiles/profiles_settings.xml +7 -0
  11. data/.idea/misc.xml +4 -0
  12. data/.idea/modules.xml +9 -0
  13. data/.idea/vcs.xml +7 -0
  14. data/Gemfile +1 -0
  15. data/README.md +25 -28
  16. data/Rakefile +3 -3
  17. data/changelog.md +17 -1
  18. data/lib/wortsammler.rb +61 -54
  19. data/lib/wortsammler/class.Traceable.md.rb +9 -7
  20. data/lib/wortsammler/class.Traceable.rb +74 -60
  21. data/lib/wortsammler/class.proolib.rb +1102 -982
  22. data/lib/wortsammler/mdTraceParser.treetop +2 -2
  23. data/lib/wortsammler/version.rb +1 -1
  24. data/resources/default.wortsammler.latex +4 -3
  25. data/resources/main.md +1 -1
  26. data/resources/pandocdefault.docx +0 -0
  27. data/resources/pandocdefault.epub +70 -0
  28. data/resources/pandocdefault.html +73 -0
  29. data/resources/pandocdefault.latex +403 -0
  30. data/resources/sample_the-sample-document.yaml +27 -1
  31. data/spec/TC_EXP_001.md +2 -1
  32. data/spec/Zupfnoter.jpg +0 -0
  33. data/spec/tc_exp_003_reference.txt +14 -29
  34. data/spec/test_beautify.md +13 -1
  35. data/spec/test_beautify_reference.md +17 -3
  36. data/spec/test_mkindex_reference.txt +9 -38
  37. data/spec/test_slides.md +38 -0
  38. data/spec/wortsammler_spec.rb +186 -150
  39. data/testproject.xx/30_Sources/001_Main/main.md +273 -0
  40. data/testproject.xx/30_Sources/900_snippets/snippets.xlsx +0 -0
  41. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.docx +0 -0
  42. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.html +145 -0
  43. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.latex +416 -0
  44. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.pdf +0 -0
  45. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.beamer.pdf +0 -0
  46. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.docx +0 -0
  47. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.html +145 -0
  48. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.latex +416 -0
  49. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.pdf +0 -0
  50. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.docx +0 -0
  51. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.html +145 -0
  52. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.latex +416 -0
  53. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.pdf +0 -0
  54. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_review.latex +582 -0
  55. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_review.pdf +0 -0
  56. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/RS_Main.traces.md +56 -0
  57. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_Reqtrace.graphml +119 -0
  58. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_Reqtrace.md +50 -0
  59. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_ReqtraceCompare.txt +52 -0
  60. data/testproject.xx/30_Sources/ZSUPP_Manifests/sample_the-sample-document.yaml +79 -0
  61. data/testproject.xx/30_Sources/ZSUPP_Styles/default.wortsammler.latex +321 -0
  62. data/testproject.xx/30_Sources/ZSUPP_Styles/logo.jpg +0 -0
  63. data/testproject.xx/30_Sources/ZSUPP_Tools/rakefile.rb +5 -0
  64. data/testresults/wortsammler_testresults.html +49 -466
  65. data/uninstall-pandoc.pl +79 -0
  66. data/wortsammler.gemspec +7 -4
  67. metadata +84 -14
  68. data/testresults/wortsammler_testresults.log +0 -325
  69. data/wortsammler-gem.sublime-project +0 -8
@@ -7,9 +7,11 @@
7
7
  - docx
8
8
  - html
9
9
  - pdf
10
+ - beamer
11
+ - slidy
10
12
 
11
13
  :vars:
12
- :lang: german
14
+ :lang: de-de
13
15
  :fontsize: 12pt
14
16
  :mainfont: Calibri
15
17
  :sansfont: Calibri
@@ -39,14 +41,38 @@
39
41
  :title: Main requirements (review)
40
42
  :filepart: review
41
43
  :debug: true
44
+ :format:
45
+ - latex
46
+ - docx
47
+ - html
48
+ - pdf
42
49
 
43
50
  :compact:
44
51
  :title: Main requirements (compact)
45
52
  :filepart: compact
53
+ :format:
54
+ - latex
55
+ - docx
56
+ - html
57
+ - pdf
58
+
46
59
 
47
60
  :extended:
48
61
  :title: Main requirements (extended)
49
62
  :filepart: mieter
63
+ :format:
64
+ - latex
65
+ - docx
66
+ - html
67
+ - pdf
68
+
69
+
70
+ :folien:
71
+ :title: Beamer
72
+ :filepart: folien
73
+ :format:
74
+ - beamer
75
+ - pdf
50
76
 
51
77
  :snippets:
52
78
  - ../900_snippets/snippets.xlsx
@@ -8,9 +8,10 @@
8
8
  : Perform the following steps
9
9
  - Create a report of used images which do not have a model
10
10
  release
11
-
11
+
12
12
  Expected Results
13
13
  : There should not be an image without model release
14
+
14
15
  ~~~~ {.expectedResult label="TC_DES_003"}
15
16
  - logo on every page
16
17
  - color scheme shall be seen
Binary file
@@ -1,38 +1,26 @@
1
1
  - this is headline
2
- - this is TC\_EXP\_003\_1
3
- - this is md TC\_EXP\_003\_2
4
- - this is md TC\_EXP\_003\_2
5
2
 
6
3
 
7
- this is headline
8
- ================
9
4
 
5
+ THIS IS HEADLINE
10
6
 
11
- now verbatim by indent inclucde TC_EXP_003_1.md
12
7
 
13
- ## this is TC_EXP_003_1
14
-
15
- we now include TC_EXP_003_2 from TC_EXP_003_1
16
-
17
- ## this is md TC_EXP_003_2
18
-
19
- - hugo
20
-
21
- - hugo2
22
-
23
- end of TC_EXP_003_2
24
-
25
- end of TC_EXP_003_1
26
8
 
27
- now full format inclucde TC_EXP_003_1.md
9
+ now verbatim by indent inclucde TC_EXP_003_1.md## this is TC_EXP_003_1
28
10
 
29
- this is TC_EXP_003_1
30
- --------------------
11
+ we now include TC_EXP_003_2 from TC_EXP_003_1## this is md TC_EXP_003_2
31
12
 
32
- we now include TC_EXP_003_2 from TC_EXP_003_1
13
+ - hugo
33
14
 
34
- this is md TC_EXP_003_2
35
- -----------------------
15
+ - hugo2
16
+
17
+ end of TC_EXP_003_2
18
+
19
+ end of TC_EXP_003_1
20
+
21
+ now full format inclucde TC_EXP_003_1.md## this is TC_EXP_003_1
22
+
23
+ we now include TC_EXP_003_2 from TC_EXP_003_1## this is md TC_EXP_003_2
36
24
 
37
25
  - hugo
38
26
 
@@ -42,10 +30,7 @@ end of TC_EXP_003_2
42
30
 
43
31
  end of TC_EXP_003_1
44
32
 
45
- now full format inclucde TC_EXP_003_2.md
46
-
47
- this is md TC_EXP_003_2
48
- -----------------------
33
+ now full format inclucde TC_EXP_003_2.md## this is md TC_EXP_003_2
49
34
 
50
35
  - hugo
51
36
 
@@ -19,7 +19,6 @@ this
19
19
  ~~~~
20
20
 
21
21
 
22
-
23
22
  ``` {#backtick_codeblock}
24
23
 
25
24
  this
@@ -28,3 +27,16 @@ this
28
27
 
29
28
  codedblock
30
29
  ```
30
+
31
+
32
+ **QNAP Store** **iSCSI-Name**
33
+ ---------------- ------------------------ -------------------------------------------------
34
+ **KTLStore3** ktlstore3target1\_lun0 altes Replica-Volumen für KTLAZ-Host1
35
+ ktlstore3target2\_lun0 Hauptspeichervolumen (Laufwerk D auf KTLHost3)
36
+ ktlstore3excvol1 Speicher für Exchange (Laufwerk E auf KTLHost3)
37
+ ktlstore3excvol2 Speicher für Exchange (Laufwerk F auf KTLHost3)
38
+ **KTLStore4** ktlstore4target1\_lun0 1,5 TB Volume auf
39
+ ktlstore4target2\_lun0 Hauptspeichervolumen für KTLHost4 Laufwerk D
40
+ ktlstore4excvol1 Speicher für Exchange (Laufwerk E auf KTLHost4)
41
+ ktlstore4excvol2 Speicher für Exchange (Laufwerk F auf KTLHost4)
42
+
@@ -1,6 +1,9 @@
1
- % Test Markdown
2
- % Bernhard Weichel
3
- % 1.12.2014
1
+ ---
2
+ author:
3
+ - Bernhard Weichel
4
+ date: '1.12.2014'
5
+ title: Test Markdown
6
+ ---
4
7
 
5
8
  # Test headlines
6
9
 
@@ -25,3 +28,14 @@ this
25
28
 
26
29
  codedblock
27
30
  ~~~~
31
+
32
+ **QNAP Store** **iSCSI-Name**
33
+ ---------------- ------------------------ -------------------------------------------------
34
+ **KTLStore3** ktlstore3target1\_lun0 altes Replica-Volumen für KTLAZ-Host1
35
+ ktlstore3target2\_lun0 Hauptspeichervolumen (Laufwerk D auf KTLHost3)
36
+ ktlstore3excvol1 Speicher für Exchange (Laufwerk E auf KTLHost3)
37
+ ktlstore3excvol2 Speicher für Exchange (Laufwerk F auf KTLHost3)
38
+ **KTLStore4** ktlstore4target1\_lun0 1,5 TB Volume auf
39
+ ktlstore4target2\_lun0 Hauptspeichervolumen für KTLHost4 Laufwerk D
40
+ ktlstore4excvol1 Speicher für Exchange (Laufwerk E auf KTLHost4)
41
+ ktlstore4excvol2 Speicher für Exchange (Laufwerk F auf KTLHost4)
@@ -3,35 +3,22 @@ CONTENTS
3
3
  CONTENTS
4
4
 
5
5
  Contents
6
- 1 Das ist ein Test zur Indexerstellung
7
-
8
- 2
6
+ 1 Das ist ein Test zur Indexerstellung 2
9
7
 
10
8
  1
11
9
 
12
- December 17, 2014
10
+ January 5, 2019
13
11
 
14
12
  1
15
13
 
16
14
  DAS IST EIN TEST ZUR INDEXERSTELLUNG
17
15
 
18
16
  1 Das ist ein Test zur Indexerstellung
19
- Dies ist ein Typoblindtext. An ihm kann man sehen, ob alle Buchstaben da sind und wie sie aussehen. Manchmal
20
- benutzt man Worte wie Hamburgefonts, Rafgenduks oder Handgloves, um Schriften zu testen.
21
- Manchmal Sätze, die alle Buchstaben des Alphabets enthalten - man nennt diese Sätze »Pangrams«. Sehr bekannt
22
- ist dieser: The quick brown fox jumps over the lazy old dog. Oft werden in Typoblindtexte auch fremdsprachige
23
- Satzteile eingebaut (AVAIL® and Wefox™ are testing aussi la Kerning), um die Wirkung in anderen Sprachen zu
24
- testen. In Lateinisch sieht zum Beispiel fast jede Schrift gut aus. Quod erat demonstrandum. Seit 1975 fehlen in
25
- den meisten Testtexten die Zahlen, weswegen nach TypoGb. 204 § ab dem Jahr 2034 Zahlen in 86 der Texte zur
26
- Pflicht werden. Nichteinhaltung wird mit bis zu 245 € oder 368 $ bestraft. Genauso wichtig in sind mittlerweile auch
27
- Âçcèñtë, die in neueren Schriften aber fast immer enthalten sind. Ein wichtiges aber schwierig zu integrierendes Feld
28
- sind OpenType-Funktionalitäten. Je nach Software und Voreinstellungen können eingebaute Kapitälchen, Kerning
29
- oder Ligaturen (sehr pfiffig) nicht richtig dargestellt werden.Dies ist ein Typoblindtext. An ihm kann man sehen, ob
30
- alle Buchstaben da sind und wie sie aussehen. Manchmal benutzt man Worte wie Hamburgefonts, Rafgenduks
17
+ Dies ist ein Typoblindtext. An ihm kann man sehen, ob alle Buchstaben da sind und wie sie aussehen. Manchmal benutzt man Worte wie Hamburgefonts, Rafgenduks oder Handgloves, um Schriften zu testen. Manchmal S�tze, die alle Buchstaben des Alphabets enthalten - man nennt diese S�tze �Pangrams�. Sehr bekannt ist dieser: The quick brown fox jumps over the lazy old dog. Oft werden in Typoblindtexte auch fremdsprachige Satzteile eingebaut (AVAIL� and WefoxTM are testing aussi la Kerning), um die Wirkung in anderen Sprachen zu testen. In Lateinisch sieht zum Beispiel fast jede Schrift gut aus. Quod erat demonstrandum. Seit 1975 fehlen in den meisten Testtexten die Zahlen, weswegen nach TypoGb. 204 � ab dem Jahr 2034 Zahlen in 86 der Texte zur Pflicht werden. Nichteinhaltung wird mit bis zu 245 oder 368 $ bestraft. Genauso wichtig in sind mittlerweile auch ��c��t�, die in neueren Schriften aber fast immer enthalten sind. Ein wichtiges aber schwierig zu integrierendes Feld sind OpenType-Funktionalit�ten. Je nach Software und Voreinstellungen k�nnen eingebaute Kapit�lchen, Kerning oder Ligaturen (sehr pfiffig) nicht richtig dargestellt werden.Dies ist ein Typoblindtext. An ihm kann man sehen, ob alle Buchstaben da sind und wie sie aussehen. Manchmal benutzt man Worte wie Hamburgefonts, Rafgenduks
31
18
 
32
19
  2
33
20
 
34
- December 17, 2014
21
+ January 5, 2019
35
22
 
36
23
  1 DAS IST EIN TEST ZUR INDEXERSTELLUNG
37
24
 
@@ -39,22 +26,11 @@ December 17, 2014
39
26
 
40
27
  DAS IST EIN TEST ZUR INDEXERSTELLUNG
41
28
 
42
- Dies ist ein Typoblindtext. An ihm kann man sehen, ob alle Buchstaben da sind und wie sie aussehen. Manchmal
43
- benutzt man Worte wie Hamburgefonts, Rafgenduks oder Handgloves, um Schriften zu testen. Manchmal Sätze,
44
- die alle Buchstaben des Alphabets enthalten - man nennt diese Sätze »Pangrams«. Sehr bekannt ist dieser: The
45
- quick brown fox jumps over the lazy old dog. Oft werden in Typoblindtexte auch fremdsprachige Satzteile eingebaut
46
- (AVAIL® and Wefox™ are testing aussi la Kerning), um die Wirkung in anderen Sprachen zu testen. In Lateinisch sieht
47
- zum Beispiel fast jede Schrift gut aus. Quod erat demonstrandum. Seit 1975 fehlen in den meisten Testtexten die
48
- Zahlen, weswegen nach TypoGb. 204 § ab dem Jahr 2034 Zahlen in 86 der Texte zur Pflicht werden. Nichteinhaltung
49
- wird mit bis zu 245 € oder 368 $ bestraft. Genauso wichtig in sind mittlerweile auch Âçcèñtë, die in neueren Schriften
50
- aber fast immer enthalten sind. Ein wichtiges aber schwierig zu integrierendes Feld sind OpenType-Funktionalitäten.
51
- Je nach Software und Voreinstellungen können eingebaute Kapitälchen, Kerning oder Ligaturen (sehr pfiffig) nicht
52
- richtig dargestellt werden.Dies ist ein Typoblindtext. An ihm kann man sehen, ob alle Buchstaben da sind und wie
53
- sie aussehen. Manchmal benutzt man Worte wie Hamburgefonts, Rafgenduks
29
+ Dies ist ein Typoblindtext. An ihm kann man sehen, ob alle Buchstaben da sind und wie sie aussehen. Manchmal benutzt man Worte wie Hamburgefonts, Rafgenduks oder Handgloves, um Schriften zu testen. Manchmal S�tze, die alle Buchstaben des Alphabets enthalten - man nennt diese S�tze �Pangrams�. Sehr bekannt ist dieser: The quick brown fox jumps over the lazy old dog. Oft werden in Typoblindtexte auch fremdsprachige Satzteile eingebaut (AVAIL� and WefoxTM are testing aussi la Kerning), um die Wirkung in anderen Sprachen zu testen. In Lateinisch sieht zum Beispiel fast jede Schrift gut aus. Quod erat demonstrandum. Seit 1975 fehlen in den meisten Testtexten die Zahlen, weswegen nach TypoGb. 204 � ab dem Jahr 2034 Zahlen in 86 der Texte zur Pflicht werden. Nichteinhaltung wird mit bis zu 245 oder 368 $ bestraft. Genauso wichtig in sind mittlerweile auch ��c��t�, die in neueren Schriften aber fast immer enthalten sind. Ein wichtiges aber schwierig zu integrierendes Feld sind OpenType-Funktionalit�ten. Je nach Software und Voreinstellungen k�nnen eingebaute Kapit�lchen, Kerning oder Ligaturen (sehr pfiffig) nicht richtig dargestellt werden.Dies ist ein Typoblindtext. An ihm kann man sehen, ob alle Buchstaben da sind und wie sie aussehen. Manchmal benutzt man Worte wie Hamburgefonts, Rafgenduks
54
30
 
55
31
  3
56
32
 
57
- December 17, 2014
33
+ January 5, 2019
58
34
 
59
35
  1
60
36
 
@@ -64,15 +40,10 @@ hier kommt der Index
64
40
 
65
41
  4
66
42
 
67
- December 17, 2014
43
+ January 5, 2019
68
44
 
69
45
  Index
70
- Sätze, 2
71
- Typoblindtext, 2, 3
72
- Uder, 2
73
- Ufer, 2
74
- Äpfelchen, 2
75
- Über, 2
46
+ S�tze, 2 Typoblindtext, 2, 3 Uder, 2 Ufer, 2 �pfelchen, 2 �ber, 2
76
47
 
77
48
  5
78
49
 
@@ -84,6 +55,6 @@ ende des Index
84
55
 
85
56
  6
86
57
 
87
- December 17, 2014
58
+ January 5, 2019
88
59
 
89
60
 
@@ -0,0 +1,38 @@
1
+ % Wortsammler Test Slides
2
+ % Bernhard Weichel
3
+ % 17.12.2014
4
+
5
+ # Slide 1
6
+
7
+ This is text on Slide 1
8
+
9
+ ## this is subtitle in Slide 1
10
+
11
+ Lorem ipsum blafasel
12
+
13
+ # Slide 2: Lists
14
+
15
+ ## Bullets
16
+
17
+ * bullte 1
18
+ * bullet 2
19
+ * bullet 3
20
+
21
+ ## Numeric
22
+
23
+ 1. Number 1
24
+ 2. Number 2
25
+ 3. Number 3
26
+
27
+ ## definition
28
+
29
+ MD
30
+ : Markdown, really cool
31
+
32
+ Wortsammler
33
+ : Wortsammler also really cool
34
+
35
+ # an image
36
+
37
+ ![Zupfnoter](Zupfnoter.jpg)
38
+
@@ -1,12 +1,13 @@
1
1
  require 'rake'
2
2
  require 'tmpdir'
3
3
  require 'pry'
4
+ require 'wortsammler.rb'
4
5
 
5
6
  wortsammlerbin = "'#{File.expand_path("bin")}'"
6
- wortsammler = "'#{File.expand_path(File.join("bin", "wortsammler"))}'"
7
+ wortsammler = "'#{File.expand_path(File.join("bin", "wortsammler"))}'"
7
8
  testprojectdir = "testproject/30_Sources"
8
- specdir = File.dirname(__FILE__)
9
- testoutput = "#{specdir}/../testoutput"
9
+ specdir = File.dirname(__FILE__)
10
+ testoutput = "#{specdir}/../testoutput"
10
11
 
11
12
 
12
13
  describe "Wortsammler generic issues" do
@@ -14,12 +15,12 @@ describe "Wortsammler generic issues" do
14
15
  it "provides a help", :exp => false do
15
16
  result = `#{wortsammler} -h`
16
17
  result.should include("Usage: Wortsammler [options]")
17
- $?.success?.should==true
18
+ $?.success?.should == true
18
19
  end
19
20
 
20
21
  it "runs silent", :exp => false do
21
22
  result = `#{wortsammler}`
22
- result.empty?.should==true
23
+ result.empty?.should == true
23
24
  end
24
25
 
25
26
  it "reports version numbers", :exp => false do
@@ -37,16 +38,16 @@ describe "Wortsammler generic issues" do
37
38
  it "can create a new project folder", :exp => false do
38
39
  FileUtils.rm_rf(testprojectdir)
39
40
  system "#{wortsammler} -n #{testprojectdir}"
40
- $?.success?.should==true
41
+ $?.success?.should == true
41
42
 
42
43
  Dir["#{testprojectdir}/**/*"].should include "#{testprojectdir}/001_Main"
43
44
  Dir["#{testprojectdir}/**/snippets.xlsx"].should include "#{testprojectdir}/900_snippets/snippets.xlsx"
44
45
  end
45
46
 
46
47
  it "does not initialize into an existing project folder" do
47
- tempdir=Dir.mktmpdir
48
+ tempdir = Dir.mktmpdir
48
49
  `#{wortsammler} -n #{tempdir}`
49
- $?.success?.should==false
50
+ $?.success?.should == false
50
51
  end
51
52
 
52
53
  it "controls the pandoc options by document class" do
@@ -57,7 +58,7 @@ end
57
58
  describe "Wortsammler options validator" do
58
59
  it "rejects no processing" do
59
60
  system "#{wortsammler} -i."
60
- $?.success?.should==false
61
+ $?.success?.should == false
61
62
  end
62
63
 
63
64
 
@@ -67,58 +68,58 @@ describe "Wortsammler beautifier features" do
67
68
 
68
69
 
69
70
  it "beautifies all markdown files in a folder" do
70
- tempdir=Dir.mktmpdir
71
- mdtext="#this is headline\n\n lorem ipsum\n\nbla fasel"
71
+ tempdir = Dir.mktmpdir
72
+ mdtext = "#this is headline\n\n lorem ipsum\n\nbla fasel"
72
73
 
73
- cycles=10
74
+ cycles = 10
74
75
  cycles.times { |i|
75
76
  File.open("#{tempdir}/#{i}.md", "w") { |f| f.puts mdtext }
76
77
  }
77
78
 
78
79
  system "#{wortsammler} -bi #{tempdir}"
79
- $?.success?.should==true
80
+ $?.success?.should == true
80
81
 
81
82
  cycles.times { |i|
82
- beautified_result=File.open("#{tempdir}/#{i}.md").readlines.join
83
+ beautified_result = File.open("#{tempdir}/#{i}.md").readlines.join
83
84
  beautified_result.should include("# this is headline")
84
85
  }
85
86
  end
86
87
 
87
88
 
88
- it "beautifies a single file" do
89
- tempdir=Dir.mktmpdir
90
- mdfile="#{tempdir}/single.md"
91
- mdtext="#this is headline\n\n lorem ipsum\n\nbla fasel"
89
+ it "beautifies a single file", exp: false do
90
+ tempdir = Dir.mktmpdir
91
+ mdfile = "#{tempdir}/single.md"
92
+ mdtext = "#this is headline\n\n lorem ipsum\n\nbla fasel"
92
93
 
93
94
  File.open(mdfile, "w") { |f| f.puts mdtext }
94
95
  system "#{wortsammler} -bi #{mdfile}"
95
- $?.success?.should==true
96
+ $?.success?.should == true
96
97
 
97
- beautified_result=File.open(mdfile).readlines.join
98
+ beautified_result = File.open(mdfile).readlines.join
98
99
  beautified_result.should include("# this is headline")
99
100
  end
100
101
 
101
102
  it "recognizes if the specified manifest file is a directory", exp: false do
102
103
  FileUtils.cd("testproject/30_Sources/ZSUPP_Tools") { |d|
103
- manifest="../ZSUPP_Manifests"
104
- cmd= "#{wortsammler} -bm #{manifest} 2>&1"
105
- r=`#{cmd}`
106
- r.include?("directory").should==true
104
+ manifest = "../ZSUPP_Manifests"
105
+ cmd = "#{wortsammler} -bm #{manifest} 2>&1"
106
+ r = `#{cmd}`
107
+ r.include?("directory").should == true
107
108
  }
108
- $?.success?.should==false
109
+ $?.success?.should == false
109
110
  end
110
111
  it "beautifies input files in a manifest" do
111
112
  FileUtils.cd("testproject/30_Sources/ZSUPP_Tools") { |d|
112
113
  manifest = "../ZSUPP_Manifests/sample_the-sample-document.yaml"
113
- cmd = "#{wortsammler} -bm #{manifest}"
114
+ cmd = "#{wortsammler} -bm #{manifest}"
114
115
  system cmd
115
116
  }
116
- $?.success?.should==true
117
+ $?.success?.should == true
117
118
  end
118
119
 
119
120
  it "claims missing input" do
120
121
  system "#{wortsammler} -b"
121
- $?.success?.should==false
122
+ $?.success?.should == false
122
123
  end
123
124
 
124
125
 
@@ -128,9 +129,9 @@ describe "Wortsammler beautifier features" do
128
129
  end
129
130
 
130
131
  it "creates a semantically unchanged markdown file", exp: false do
131
- testname = 'test_beautify'
132
- inputfile = %Q{#{specdir}/#{testname}.md}
133
- outputfile = %Q{#{testoutput}/#{testname}.md}
132
+ testname = 'test_beautify'
133
+ inputfile = %Q{#{specdir}/#{testname}.md}
134
+ outputfile = %Q{#{testoutput}/#{testname}.md}
134
135
  referencefile = %Q{#{specdir}/#{testname}_reference.md}
135
136
 
136
137
  FileUtils.cp(inputfile, outputfile)
@@ -138,7 +139,7 @@ describe "Wortsammler beautifier features" do
138
139
  system cmd
139
140
 
140
141
  reference = File.open(referencefile).read
141
- result = File.open(outputfile).read
142
+ result = File.open(outputfile).read
142
143
  result.should == reference
143
144
  end
144
145
 
@@ -147,50 +148,50 @@ end
147
148
  describe "Wortsammler conversion" do
148
149
 
149
150
  it "converts a single file to output format" do
150
- tempdir=Dir.mktmpdir
151
- mdfile="#{tempdir}/single.md"
152
- mdtext="#this is headline\n\n lorem ipsum\n\nbla fasel"
151
+ tempdir = Dir.mktmpdir
152
+ mdfile = "#{tempdir}/single.md"
153
+ mdtext = "#this is headline\n\n lorem ipsum\n\nbla fasel"
153
154
  File.open(mdfile, "w") { |f| f.puts mdtext }
154
155
  system "#{wortsammler} -pi #{mdfile} -o #{tempdir} -f latex:pdf:html:docx"
155
- $?.success?.should==true
156
+ $?.success?.should == true
156
157
 
157
158
 
158
- Dir["#{tempdir}/*"].map { |f| File.basename(f) }.should== ["single.docx",
159
- "single.html",
160
- "single.latex",
161
- "single.log",
162
- "single.md",
163
- "single.pdf"
159
+ Dir["#{tempdir}/*"].map { |f| File.basename(f) }.sort.should == ["single.docx",
160
+ "single.html",
161
+ "single.latex",
162
+ "single.log",
163
+ "single.md",
164
+ "single.pdf"
164
165
  ]
165
166
  end
166
167
 
167
168
  it "converts a single file to default output format" do
168
- tempdir=Dir.mktmpdir
169
- mdfile="#{tempdir}/single.md"
170
- mdtext="#this is headline\n\n lorem ipsum\n\nbla fasel"
169
+ tempdir = Dir.mktmpdir
170
+ mdfile = "#{tempdir}/single.md"
171
+ mdtext = "#this is headline\n\n lorem ipsum\n\nbla fasel"
171
172
  File.open(mdfile, "w") { |f| f.puts mdtext }
172
173
  system "#{wortsammler} -pi #{mdfile} -o #{tempdir}"
173
- $?.success?.should==true
174
+ $?.success?.should == true
174
175
 
175
176
 
176
- Dir["#{tempdir}/*"].map { |f| File.basename(f) }.should== ["single.log",
177
- "single.md",
178
- "single.pdf"
177
+ Dir["#{tempdir}/*"].map { |f| File.basename(f) }.sort.should == ["single.log",
178
+ "single.md",
179
+ "single.pdf"
179
180
  ]
180
181
  end
181
182
 
182
183
 
183
184
  it "handles chapters up to 6 levels", exp: false do
184
- tempdir="#{specdir}/../testoutput"
185
- mdfile="#{tempdir}/chapternesting.md"
186
- mdtext="#this is headline\n\n lorem ipsum\n\nbla fasel"
185
+ tempdir = "#{specdir}/../testoutput"
186
+ mdfile = "#{tempdir}/chapternesting.md"
187
+ mdtext = "#this is headline\n\n lorem ipsum\n\nbla fasel"
187
188
 
188
189
  def lorem(j)
189
190
  (1.upto 100).map { |i| "text_#{j} lorem ipsum #{i} dolor " }.join(" ")
190
191
  end
191
192
 
192
193
  def chapter(i, depth)
193
- ["\n\n", "##########"[1..depth], " this is example on level #{i} .. #{depth}\n\n",
194
+ ["\n\n", "##########"[1 .. depth], " this is example on level #{i} .. #{depth}\n\n",
194
195
  lorem(i),
195
196
  ].join("")
196
197
  end
@@ -204,27 +205,27 @@ describe "Wortsammler conversion" do
204
205
  }
205
206
 
206
207
  system "#{wortsammler} -pbi '#{mdfile}' -o '#{tempdir}' -f pdf:latex"
207
- $?.success?.should==true
208
+ $?.success?.should == true
208
209
 
209
- Dir["#{tempdir}/chapternesting*"].map { |f| File.basename(f) }.sort.should== ["chapternesting.md",
210
- "chapternesting.pdf",
211
- "chapternesting.latex",
212
- "chapternesting.log",
213
- "chapternesting.md.bak"
210
+ Dir["#{tempdir}/chapternesting*"].map { |f| File.basename(f) }.sort.should == ["chapternesting.md",
211
+ "chapternesting.pdf",
212
+ "chapternesting.latex",
213
+ "chapternesting.log",
214
+ "chapternesting.md.bak"
214
215
  ].sort
215
216
  end
216
217
 
217
218
  it "handles lists up to 9 levels", exp: false do
218
- tempdir="#{specdir}/../testoutput"
219
- mdfile="#{tempdir}/listnesting.md"
220
- mdtext="#this is headline\n\n lorem ipsum\n\nbla fasel"
219
+ tempdir = "#{specdir}/../testoutput"
220
+ mdfile = "#{tempdir}/listnesting.md"
221
+ mdtext = "#this is headline\n\n lorem ipsum\n\nbla fasel"
221
222
 
222
223
  def lorem(j)
223
224
  (1.upto 100).map { |i| "text_#{j} lorem ipsum #{i} dolor " }.join(" ")
224
225
  end
225
226
 
226
227
  def chapter(i, depth)
227
- ["\n\n", "##########"[1..depth], " this is example on level #{i} .. #{depth}\n\n",
228
+ ["\n\n", "##########"[1 .. depth], " this is example on level #{i} .. #{depth}\n\n",
228
229
  lorem(i),
229
230
  ].join("")
230
231
  end
@@ -236,79 +237,85 @@ describe "Wortsammler conversion" do
236
237
  f.puts ""
237
238
 
238
239
  0.upto 8 do |i|
239
- f.puts [" "*i, "- this is list level #{i}"].join
240
+ f.puts [" " * i, "- this is list level #{i}"].join
240
241
  end
241
242
  }
242
243
 
243
244
  system "#{wortsammler} -pbi '#{mdfile}' -o '#{tempdir}' -f pdf:latex"
244
- $?.success?.should==true
245
+ $?.success?.should == true
245
246
 
246
- Dir["#{tempdir}/listnesting*"].map { |f| File.basename(f) }.sort.should== ["listnesting.md",
247
- "listnesting.pdf",
248
- "listnesting.latex",
249
- "listnesting.log",
250
- "listnesting.md.bak"
247
+ Dir["#{tempdir}/listnesting*"].map { |f| File.basename(f) }.sort.should == ["listnesting.md",
248
+ "listnesting.pdf",
249
+ "listnesting.latex",
250
+ "listnesting.log",
251
+ "listnesting.md.bak"
251
252
  ].sort
252
253
  end
253
254
 
254
255
  it "converts all files within a folder to output format" do
255
- tempdir=Dir.mktmpdir
256
- mdtext="# Header\n\n lorem ipsum\n"
256
+ tempdir = Dir.mktmpdir
257
+ mdtext = "# Header\n\n lorem ipsum\n"
257
258
  basefiles = ["f1", "f2", "f3"]
258
- outfiles = basefiles.map { |f| ["#{f}.md", "#{f}.latex"] }.flatten.sort
259
+ outfiles = basefiles.map { |f| ["#{f}.md", "#{f}.latex"] }.flatten.sort
259
260
  basefiles.each { |f|
260
261
  File.open("#{tempdir}/#{f}.md", "w") { |fo| fo.puts mdtext }
261
262
  }
262
263
 
263
264
  system "#{wortsammler} -pi #{tempdir} -o #{tempdir} -f latex"
264
- $?.success?.should==true
265
+ $?.success?.should == true
265
266
 
266
- Dir["#{tempdir}/*"].map { |f| File.basename(f) }.sort.should== outfiles
267
+ Dir["#{tempdir}/*"].map { |f| File.basename(f) }.sort.should == outfiles
267
268
 
268
269
  end
269
270
 
270
271
  it "processes a manifest" do
271
272
  FileUtils.cd("testproject/30_Sources/ZSUPP_Tools") { |d|
272
- manifest="../ZSUPP_Manifests/sample_the-sample-document.yaml"
273
- cmd= "#{wortsammler} -pm #{manifest}"
273
+ manifest = "../ZSUPP_Manifests/sample_the-sample-document.yaml"
274
+ cmd = "#{wortsammler} -pm #{manifest}"
274
275
  system cmd
275
276
  }
276
- $?.success?.should==true
277
+ $?.success?.should == true
277
278
  end
278
279
 
279
280
  it "investigates the existence of a manifest" do
280
- manifest="testproject/30_Sources/ZSUPP_Manifests/xxthis-path-does-not-exist.yaml"
281
+ manifest = "testproject/30_Sources/ZSUPP_Manifests/xxthis-path-does-not-exist.yaml"
281
282
  system "#{wortsammler} -m #{manifest}"
282
- $?.success?.should==false
283
+ $?.success?.should == false
283
284
  end
284
285
 
285
286
  it "extracts the traceables according to a manifest", :exp => false do
286
- manifest="testproject/30_Sources/ZSUPP_Manifests/sample_the-sample-document.yaml"
287
+ manifest = "testproject/30_Sources/ZSUPP_Manifests/sample_the-sample-document.yaml"
288
+ tracefile = "testproject/30_Sources/ZGEN_RequirementsTracing/RS_Main.traces.md"
289
+ FileUtils.rm(tracefile) if File.exists?(tracefile)
290
+
287
291
  system "#{wortsammler} -cm #{manifest}"
288
- $?.success?.should==true
292
+ result = File.read("testproject/30_Sources/ZGEN_RequirementsTracing/RS_Main.traces.md")
293
+
294
+ expect(result).to include("\\[RS\\_Comp\\_001\\] **Flexibler Dokumentumfang** { }()")
295
+ $?.success?.should == true
289
296
  end
290
297
 
291
298
 
292
299
  it "extracts plantuml according to a manifest", :exp => false do
293
- manifest="testproject/30_Sources/ZSUPP_Manifests/sample_the-sample-document.yaml"
300
+ manifest = "testproject/30_Sources/ZSUPP_Manifests/sample_the-sample-document.yaml"
294
301
  system "#{wortsammler} -um #{manifest}"
295
- $?.success?.should==true
302
+ $?.success?.should == true
296
303
  end
297
304
 
298
305
  it "extracts plantuml from a single file", :exp => false do
299
- outfile="#{testoutput}/authentification.png"
306
+ outfile = "#{testoutput}/authentification.png"
300
307
  FileUtils.rm(outfile) if File.exists?(outfile)
301
308
  system "#{wortsammler} -ui \"#{specdir}/TC_EXP_002.md\""
302
- $?.success?.should==true
303
- File.exist?(outfile).should==true
309
+ $?.success?.should == true
310
+ File.exist?(outfile).should == true
304
311
  end
305
312
 
306
313
  it "extracts plantuml from a folder", :exp => false do
307
- outfile="#{testoutput}/authentification.png"
314
+ outfile = "#{testoutput}/authentification.png"
308
315
  FileUtils.rm(outfile) if File.exists?(outfile)
309
316
  system "#{wortsammler} -ui \"#{specdir}\""
310
- $?.success?.should==true
311
- File.exist?(outfile).should==true
317
+ $?.success?.should == true
318
+ File.exist?(outfile).should == true
312
319
  end
313
320
 
314
321
 
@@ -321,55 +328,80 @@ describe "Wortsammler conversion" do
321
328
  end
322
329
 
323
330
 
324
- it "runs the rake file in the sample document" do
331
+ it "runs the rake file in the sample document", exp: false do
325
332
  FileUtils.cd("testproject/30_Sources/ZSUPP_Tools") { |d|
326
- path=ENV['PATH']
327
- ENV['PATH']="#{wortsammlerbin}:#{path}"
333
+ path = ENV['PATH']
334
+ ENV['PATH'] = "#{wortsammlerbin}:#{path}"
328
335
  puts ENV['PATH']
329
336
  #system 'wortsammler -h'
330
- cmd= "rake sample"
337
+ cmd = "rake sample"
331
338
  system cmd
332
339
  }
333
- $?.success?.should==true
340
+ Dir["testproject/30_Sources/ZGEN_Documents/*.*"].count.should == 15
341
+ $?.success?.should == true
334
342
  end
335
343
 
336
- it "compiles all documents" do
344
+ it "compiles all documents", exp: false do
337
345
  FileUtils.cd("testproject/30_Sources/ZSUPP_Tools") { |d|
338
- path=ENV['PATH']
339
- ENV['PATH']="#{wortsammlerbin}:#{path}"
346
+ path = ENV['PATH']
347
+ ENV['PATH'] = "#{wortsammlerbin}:#{path}"
340
348
  puts ENV['PATH']
341
349
  #system 'wortsammler -h'
342
- cmd= "rake all"
350
+ cmd = "rake all"
343
351
  #system cmd
344
352
  }
345
353
  end
346
354
 
347
355
  end
348
356
 
357
+ describe "Wortsammler output formats" do
358
+
359
+
360
+ it "generates dzslides", exp: false do
361
+ mdfile = %Q{'#{specdir}/test_slides.md'}
362
+ FileUtils.cd("spec") do
363
+ system %Q{#{wortsammler} -pi #{mdfile} -o '#{testoutput}' -f slidy}
364
+ end
365
+ end
366
+
367
+
368
+ it "generates beamer files", exp: false do
369
+ mdfile = %Q{'#{specdir}/test_slides.md'}
370
+ FileUtils.cd("spec") do
371
+ system %Q{#{wortsammler} -pi #{mdfile} -o '#{testoutput}' -f beamer}
372
+ end
373
+ end
374
+
375
+
376
+ it "generates markdown", exp: true do
377
+
378
+ end
379
+ end
380
+
349
381
 
350
382
  describe "Wortsammler syntax extensions", :exp => false do
351
383
  it "[RS_Comp_012] supports embedded images" do
352
- tempdir ="#{specdir}/../testoutput"
353
- imagefile ="floating-image.pdf"
384
+ tempdir = "#{specdir}/../testoutput"
385
+ imagefile = "floating-image.pdf"
354
386
 
355
387
  FileUtils.cd(tempdir) { |c|
356
388
  FileUtils.cp("#{specdir}/#{imagefile}", ".")
357
389
 
358
- mdfile="embedded-image.md"
359
-
360
- mdtext=["#this is headline",
361
- (5..100).to_a.map { |oi|
362
- ["\n\n",
363
- "this is image\n\n~~EMBED \"#{imagefile}\" o 40mm 60mm~~",
364
- (1..20).to_a.map { |ii|
365
- "#{oi} und #{ii} lorem ipsum und blafasel"
366
- }.join(" "),
367
- "\n\n",
368
- (5..15+oi).to_a.map { |ii|
369
- "#{oi} und #{ii} lorem ipsum und blafasel"
370
- }.join(" "),
371
- "\n\n"]
372
- }
390
+ mdfile = "embedded-image.md"
391
+
392
+ mdtext = ["#this is headline",
393
+ (5 .. 100).to_a.map { |oi|
394
+ ["\n\n",
395
+ "this is image\n\n~~EMBED \"#{imagefile}\" o 40mm 60mm~~",
396
+ (1 .. 20).to_a.map { |ii|
397
+ "#{oi} und #{ii} lorem ipsum und blafasel"
398
+ }.join(" "),
399
+ "\n\n",
400
+ (5 .. 15 + oi).to_a.map { |ii|
401
+ "#{oi} und #{ii} lorem ipsum und blafasel"
402
+ }.join(" "),
403
+ "\n\n"]
404
+ }
373
405
  ].flatten.join("\n")
374
406
 
375
407
  File.open(mdfile, "w") { |f| f.puts mdtext }
@@ -377,54 +409,54 @@ describe "Wortsammler syntax extensions", :exp => false do
377
409
  system "#{wortsammler} -pi '#{mdfile}' -o '.' -f pdf:latex:html:docx"
378
410
  FileUtils.rm imagefile
379
411
  }
380
- $?.success?.should==true
412
+ $?.success?.should == true
381
413
  end
382
414
 
383
415
  it "TC_EXP_001 expands expected results from testcases", exp: false do
384
416
 
385
- proc=ReferenceTweaker.new("pdf")
386
- outfile="#{specdir}/../testoutput/TC_EXP_001.output.md"
417
+ proc = ReferenceTweaker.new("pdf")
418
+ outfile = "#{specdir}/../testoutput/TC_EXP_001.output.md"
387
419
  File.unlink(outfile) if File.exists?(outfile)
388
420
  proc.prepareFile("#{specdir}/TC_EXP_001.md", outfile)
389
421
 
390
- a=File.open(outfile, "r").readlines.join
422
+ a = File.open(outfile, "r").readlines.join
391
423
  a.should include("TC-DES-003-01")
392
424
  end
393
425
 
394
426
  it "TC_EXP_002 removes plantuml sources", exp: false do
395
427
 
396
- proc=ReferenceTweaker.new("pdf")
397
- outfile="#{specdir}/../testoutput/TC_EXP_002.output.md"
428
+ proc = ReferenceTweaker.new("pdf")
429
+ outfile = "#{specdir}/../testoutput/TC_EXP_002.output.md"
398
430
  File.unlink(outfile) if File.exists?(outfile)
399
431
  proc.prepareFile("#{specdir}/TC_EXP_002.md", outfile)
400
432
 
401
- a=File.open(outfile, "r").readlines.join
402
- a.include?(".plantuml").should==false
433
+ a = File.open(outfile, "r").readlines.join
434
+ a.include?(".plantuml").should == false
403
435
  end
404
436
 
405
- it "TC_EXP_003 handles Markdown inlays", exp: false do
406
- tempdir ="#{specdir}/../testoutput"
407
- mdinlayfile ="TC_EXP_003_1.md"
408
- mdinlayfile_1 ="TC_EXP_003_2.md"
409
- mdfile="tc_exp_003"
437
+ it "TC_EXP_003x handles Markdown inlays", exp: true do
438
+ tempdir = "#{specdir}/../testoutput"
439
+ mdinlayfile = "TC_EXP_003_1.md"
440
+ mdinlayfile_1 = "TC_EXP_003_2.md"
441
+ mdfile = "tc_exp_003"
410
442
 
411
443
  FileUtils.cd(tempdir) { |c|
412
444
  FileUtils.cp("#{specdir}/#{mdinlayfile}", ".")
413
445
  FileUtils.cp("#{specdir}/#{mdinlayfile_1}", ".")
414
446
 
415
447
 
416
- mdtext=["#this is headline",
417
- "",
418
- "~~~~",
419
- "", "now verbatim by indent inclucde #{mdinlayfile}", "",
420
- " ~~MD \"#{mdinlayfile}\"~~",
421
- "~~~~",
422
- "",
423
- "", "now full format inclucde #{mdinlayfile}", "",
424
- "~~MD \"#{mdinlayfile}\"~~",
425
- "",
426
- "", "now full format inclucde #{mdinlayfile_1}", "",
427
- "~~MD \"#{mdinlayfile_1}\"~~",
448
+ mdtext = ["#this is headline",
449
+ "",
450
+ "~~~~",
451
+ "", "now verbatim by indent inclucde #{mdinlayfile}", "",
452
+ " ~~MD \"#{mdinlayfile.gsub('_', '\_')}\"~~",
453
+ "~~~~",
454
+ "",
455
+ "", "now full format inclucde #{mdinlayfile}", "",
456
+ "~~MD \"#{mdinlayfile}\"~~",
457
+ "",
458
+ "", "now full format inclucde #{mdinlayfile_1}", "",
459
+ "~~MD \"#{mdinlayfile_1}\"~~",
428
460
  ].flatten.join("\n")
429
461
 
430
462
  File.open("#{mdfile}.md", "w") { |f| f.puts mdtext }
@@ -434,24 +466,28 @@ describe "Wortsammler syntax extensions", :exp => false do
434
466
  FileUtils.rm mdinlayfile_1
435
467
  }
436
468
 
437
- ref = File.open("#{specdir}/tc_exp_003_reference.txt").read
469
+ ref = File.open("#{specdir}/tc_exp_003_reference.txt").read
438
470
  result = File.open("#{tempdir}/#{mdfile}.txt").read
439
- ref.should==result
471
+
472
+ expect(result).to eq ref
440
473
  end
441
474
 
442
475
  it "generates an index", exp: false do
443
476
  system "wortsammler -pi \"#{specdir}/test_mkindex.md\" -f pdf:latex -o \"#{testoutput}\""
444
477
  system "pdftotext \"#{testoutput}/test_mkindex.pdf\""
445
- ref = File.open("#{specdir}/test_mkindex_reference.txt").read
446
- result = File.open("#{testoutput}/test_mkindex.txt").read
447
- ref.should==result
478
+ the_time = Time.now.strftime("%B %-d, %Y")
479
+ ref = File.open("#{specdir}/test_mkindex_reference.txt", encoding: "ISO-8859-1").read
480
+ result = File.open("#{testoutput}/test_mkindex.txt", encoding: "ISO-8859-1").read
481
+ result = result.gsub(the_time, "January 5, 2019") # adapt this if you update the reference
482
+ expect(result).to eq ref
448
483
  end
449
484
 
450
485
  it "reports TeX messages", exp: false do
451
- system "wortsammler -pi \"#{specdir}/test_mkindex.md\" -f pdf:latex >> \"#{specdir}/test_mkindex.lst\""
452
- system "pdftotext \"#{specdir}/test_mkindex.pdf\""
453
- result = File.open("#{specdir}/test_mkindex.lst").read
454
- result.include?("[WARN]").should==true
486
+ system %Q{wortsammler -pi '#{specdir}/test_mkindex.md' -f pdf:latex -o '#{testoutput}' >> '#{testoutput}/test_mkindex.lst'}
487
+ system "pdftotext \"#{testoutput}/test_mkindex.pdf\""
488
+ result = File.open("#{testoutput }/test_mkindex.lst").read
489
+ result.include?("[WARN]").should == true
455
490
  end
456
491
 
492
+
457
493
  end