tomparse 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/test/helper.rb CHANGED
@@ -1,25 +1,5 @@
1
- #require 'microtest/testunit'
2
- #require 'microtest/assertions'
3
- #require 'test/fixtures/multiplex'
4
-
5
1
  require 'citron'
6
2
  require 'ae'
7
3
 
8
4
  require 'tomparse'
9
5
 
10
- #module TomParse
11
- # class Test < ::Test::Unit::TestCase
12
- # def self.test(name, &block)
13
- # define_method("test_#{name.gsub(/\W/,'_')}", &block) if block
14
- # end
15
- #
16
- # def default_test
17
- # end
18
- #
19
- # def fixture(name)
20
- # @fixtures ||= {}
21
- # @fixtures[name] ||= File.read("test/fixtures/#{name}.rb")
22
- # end
23
- # end
24
- #end
25
-
@@ -0,0 +1,54 @@
1
+ require_relative 'helper'
2
+
3
+ testcase "Description" do
4
+
5
+ context "description only" do
6
+ setup do
7
+ @comment = TomParse::TomDoc.new %{
8
+ # Has this initial paragraph.
9
+ }
10
+ end
11
+
12
+ test "correctly handles description only" do
13
+ @comment.description.assert == "Has this initial paragraph."
14
+ end
15
+ end
16
+
17
+ context "simple description with other things" do
18
+ setup do
19
+ @comment = TomParse::TomDoc.new %{
20
+ # Has this initial paragraph, that continues on to
21
+ # a new line.
22
+ #
23
+ # Examples
24
+ #
25
+ # foo('bar')
26
+ }
27
+ end
28
+
29
+ test "correctly handles description" do
30
+ @comment.description.assert == "Has this initial paragraph, that continues on to\na new line."
31
+ end
32
+ end
33
+
34
+ context "handles multiple paragraph descriptions" do
35
+ setup do
36
+ @comment = TomParse::TomDoc.new %{
37
+ # Has an initial paragraph.
38
+ #
39
+ # Has another paragraph in the description.
40
+ #
41
+ # Examples
42
+ #
43
+ # def multiplex(str, length)
44
+ # str * length
45
+ # end
46
+ }
47
+ end
48
+
49
+ test "correctly handles multiple paragraphs" do
50
+ @comment.description.assert == "Has an initial paragraph.\n\nHas another paragraph in the description."
51
+ end
52
+ end
53
+
54
+ end
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
 
3
3
  testcase "Prefixes" do
4
4
 
@@ -11,7 +11,7 @@ testcase "Prefixes" do
11
11
  end
12
12
 
13
13
  test "internal?" do
14
- assert @tomdoc.internal?
14
+ @tomdoc.assert.internal?
15
15
  end
16
16
 
17
17
  test "description" do
@@ -29,7 +29,7 @@ testcase "Prefixes" do
29
29
  end
30
30
 
31
31
  test "public?" do
32
- assert @tomdoc.public?
32
+ @tomdoc.assert.public?
33
33
  end
34
34
 
35
35
  test "description" do
@@ -1,36 +1,55 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
 
3
3
  testcase "Signatures" do
4
4
 
5
- setup do
6
- @comment = TomParse::TomDoc.new %{
7
- # Duplicate some text an abitrary number of times.
8
- #
9
- # Yields the Integer index of the iteration.
10
- #
11
- # Signature
12
- #
13
- # find_by_<field>[_and_<field>...](args)
14
- #
15
- # field - A field name.
16
- }
17
- end
5
+ context "singular term" do
18
6
 
19
- test "knows what the method yields" do
20
- @comment.yields.assert == "Yields the Integer index of the iteration."
21
- end
7
+ setup do
8
+ @comment = TomParse::TomDoc.new %{
9
+ # Duplicate some text an abitrary number of times.
10
+ #
11
+ # Signature
12
+ #
13
+ # find(name)
14
+ # find(name=>pattern)
15
+ #
16
+ }
17
+ end
18
+
19
+ test "knows if the method has alternate signatures" do
20
+ @comment.signatures.size.assert == 2
21
+ @comment.signatures.first.assert == "find(name)"
22
+ @comment.signatures.last.assert == "find(name=>pattern)"
23
+ end
22
24
 
23
- test "knows if the method has alternate signatures" do
24
- @comment.signatures.size.assert == 1
25
- @comment.signatures.first.assert == "find_by_<field>[_and_<field>...](args)"
26
25
  end
27
26
 
28
- test "knows the fields associated with signatures" do
29
- @comment.signature_fields.size.assert == 1
27
+ context "plural term" do
28
+
29
+ setup do
30
+ @comment = TomParse::TomDoc.new %{
31
+ # Duplicate some text an abitrary number of times.
32
+ #
33
+ # Signatures
34
+ #
35
+ # find_by_<field>[_and_<field>...](args)
36
+ #
37
+ }
38
+ end
39
+
40
+ test "knows if the method has alternate signatures" do
41
+ @comment.signatures.size.assert == 1
42
+ @comment.signatures.first.assert == "find_by_<field>[_and_<field>...](args)"
43
+ end
30
44
 
31
- arg = @comment.signature_fields.first
32
- arg.name.assert == :field
33
- arg.description.assert == "A field name."
34
45
  end
35
46
 
47
+ #test "knows the fields associated with signatures" do
48
+ # @comment.signature_fields.size.assert == 1
49
+ #
50
+ # arg = @comment.signature_fields.first
51
+ # arg.name.assert == :field
52
+ # arg.description.assert == "A field name."
53
+ #end
54
+
36
55
  end
data/test/test_tags.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
 
3
3
  testcase "Tags" do
4
4
 
@@ -13,7 +13,8 @@ testcase "Tags" do
13
13
  end
14
14
 
15
15
  test "tags has todo" do
16
- assert @tomdoc.tags['todo'] == "Something we have to do."
16
+ @tomdoc.tags.size.assert == 1
17
+ @tomdoc.tags.assert.include? ['TODO', 'Something we have to do.']
17
18
  end
18
19
 
19
20
  end
@@ -24,12 +25,13 @@ testcase "Tags" do
24
25
  @tomdoc = TomParse::TomDoc.new(<<-END)
25
26
  # This is an example of tags.
26
27
  #
27
- # FOO: They can be anything really.
28
+ # Foo: They can be anything really.
28
29
  END
29
30
  end
30
31
 
31
32
  test "tags has foo" do
32
- assert @tomdoc.tags['foo'] == "They can be anything really."
33
+ @tomdoc.tags.size.assert == 1
34
+ @tomdoc.tags.assert.include? ['Foo', 'They can be anything really.']
33
35
  end
34
36
 
35
37
  end
data/test/test_tomdoc.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'helper'
1
+ require_relative 'helper'
2
2
 
3
3
  testcase TomParse::TomDoc do
4
4
 
@@ -14,8 +14,8 @@ testcase TomParse::TomDoc do
14
14
  # reverse - An optional Boolean indicating
15
15
  # whether to reverse the result text or not.
16
16
  # options - Options (default: {})
17
- # :insert_spaces - Whether to insert spaces
18
- # :upcase - Convert the string to upper case
17
+ # :insert_spaces - Whether to insert spaces
18
+ # :upcase - Convert the string to upper case
19
19
  # blk - The block.
20
20
  #
21
21
  # Examples
@@ -0,0 +1,17 @@
1
+ require_relative 'helper'
2
+
3
+ testcase "Yields" do
4
+
5
+ setup do
6
+ @comment = TomParse::TomDoc.new %{
7
+ # Duplicate some text an abitrary number of times.
8
+ #
9
+ # Yields the Integer index of the iteration.
10
+ }
11
+ end
12
+
13
+ test "knows what the method yields" do
14
+ @comment.yields.assert == "Yields the Integer index of the iteration."
15
+ end
16
+
17
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tomparse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-22 00:00:00.000000000 Z
12
+ date: 2013-02-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: citron
@@ -74,13 +74,20 @@ extra_rdoc_files:
74
74
  - README.md
75
75
  files:
76
76
  - .index
77
- - .rubyrc
77
+ - .yardopts
78
+ - lib/tomparse/argument.rb
79
+ - lib/tomparse/option.rb
80
+ - lib/tomparse/parse_error.rb
81
+ - lib/tomparse/parser.rb
78
82
  - lib/tomparse.rb
83
+ - lib/tomparse.yml
79
84
  - test/helper.rb
85
+ - test/test_description.rb
80
86
  - test/test_prefixes.rb
81
87
  - test/test_signatures.rb
82
88
  - test/test_tags.rb
83
89
  - test/test_tomdoc.rb
90
+ - test/test_yields.rb
84
91
  - HISTORY.md
85
92
  - README.md
86
93
  - LICENSE.txt
@@ -110,7 +117,9 @@ signing_key:
110
117
  specification_version: 3
111
118
  summary: TomDoc parser for Ruby
112
119
  test_files:
120
+ - test/test_description.rb
113
121
  - test/helper.rb
122
+ - test/test_yields.rb
114
123
  - test/test_signatures.rb
115
124
  - test/test_tags.rb
116
125
  - test/test_tomdoc.rb
data/.rubyrc DELETED
@@ -1,19 +0,0 @@
1
- config 'rubytest' do |run|
2
- run.files << 'test/test_*.rb'
3
-
4
- $:.unshift('test')
5
- $:.unshift('lib')
6
- end
7
-
8
- config 'rubytest', :profile=>'coverage' do |run|
9
- run.files << 'test/test_*.rb'
10
-
11
- $:.unshift('test')
12
- $:.unshift('lib')
13
-
14
- require 'simplecov'
15
- SimpleCov.start do
16
- coverage_dir 'log/coverage'
17
- end
18
- end
19
-