Skip to content

Commit 2a990bb

Browse files
committed
Catch parse failures in PuppetStrings::Json tests
Previously, the tests for `PuppetStrings::Json` (in json_spec.rb) parsed a variety of code samples and then queried YARD to test the results. If a sample failed to parse, an error might be outputted (see [issue #307][#307]), but no failure was registered by the testing harness. This adds simple checks to verify that the parses actually succeed. Unfortunately, one of the samples currently fails to parse, so this commit introduces a testing error. The subbsequent commit will fix it. [#307]: #307
1 parent 13f2953 commit 2a990bb

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

spec/unit/puppet-strings/json_spec.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
describe PuppetStrings::Json do
88
before :each do
99
# Populate the YARD registry with both Puppet and Ruby source
10-
YARD::Parser::SourceParser.parse_string(<<-SOURCE, :puppet)
10+
expect(YARD::Parser::SourceParser.parse_string(<<-SOURCE, :puppet).enumerator.length).to eq(2)
1111
# A simple class.
1212
# @todo Do a thing
1313
# @note Some note
@@ -25,7 +25,7 @@ class klass(Integer $param1, $param2, String $param3 = hi) inherits foo::bar {
2525
}
2626
SOURCE
2727

28-
YARD::Parser::SourceParser.parse_string(<<-SOURCE, :puppet) if TEST_PUPPET_PLANS
28+
expect(YARD::Parser::SourceParser.parse_string(<<-SOURCE, :puppet).enumerator.length).to eq(1) if TEST_PUPPET_PLANS
2929
# A simple plan.
3030
# @param param1 First param.
3131
# @param param2 Second param.
@@ -35,7 +35,7 @@ class klass(Integer $param1, $param2, String $param3 = hi) inherits foo::bar {
3535
SOURCE
3636

3737
# Only include Puppet functions for 4.1+
38-
YARD::Parser::SourceParser.parse_string(<<-SOURCE, :puppet) if TEST_PUPPET_FUNCTIONS
38+
expect(YARD::Parser::SourceParser.parse_string(<<-SOURCE, :puppet).enumerator.length).to eq(1) if TEST_PUPPET_FUNCTIONS
3939
# A simple function.
4040
# @param param1 First param.
4141
# @param param2 Second param.
@@ -46,7 +46,7 @@ class klass(Integer $param1, $param2, String $param3 = hi) inherits foo::bar {
4646
SOURCE
4747

4848
# Only include Puppet types for 5.0+
49-
YARD::Parser::SourceParser.parse_string(<<-SOURCE, :ruby) if TEST_PUPPET_DATATYPES
49+
expect(YARD::Parser::SourceParser.parse_string(<<-SOURCE, :ruby).enumerator.length).to eq(1) if TEST_PUPPET_DATATYPES
5050
# Basic Puppet Data Type in Ruby
5151
#
5252
# @param msg A message parameter
@@ -67,7 +67,7 @@ class klass(Integer $param1, $param2, String $param3 = hi) inherits foo::bar {
6767
end
6868
SOURCE
6969

70-
YARD::Parser::SourceParser.parse_string(<<-SOURCE, :json)
70+
expect(YARD::Parser::SourceParser.parse_string(<<-SOURCE, :json).enumerator.length).to eq(1)
7171
{
7272
"description": "Allows you to backup your database to local file.",
7373
"input_method": "stdin",
@@ -92,7 +92,7 @@ class klass(Integer $param1, $param2, String $param3 = hi) inherits foo::bar {
9292
}
9393
SOURCE
9494

95-
YARD::Parser::SourceParser.parse_string(<<-SOURCE, :ruby)
95+
expect(YARD::Parser::SourceParser.parse_string(<<-SOURCE, :ruby).enumerator.length).to eq(6)
9696
Puppet::Parser::Functions.newfunction(:func3x, doc: <<-DOC
9797
An example 3.x function.
9898
@param [String] first The first parameter.

0 commit comments

Comments
 (0)