inch 0.5.9 → 0.5.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02e3f6cdb3de9a2b6952487a90108cb60ac2b1e3
4
- data.tar.gz: 70040714c0aa9af08b2b61e3e7eb52a58d915959
3
+ metadata.gz: 72f3a96a1d7027c5f7e4f02377a3d2c7e6ab0483
4
+ data.tar.gz: 9d37e5e3c38c2cd9e2e73a8d4346bc14056b9d01
5
5
  SHA512:
6
- metadata.gz: 4cecb783fe62af643de866676580afb2fdf5e9b2932f69964434e546c8858d9b20d32076e897b42a7c4724d4346f1cb2bfcfabb23e642b76d14be3098dbbb34a
7
- data.tar.gz: 09fc41f600d83bfaf291999783f06e2171feea6cd8d8dacb614e98f69c8dec848f97953d6878dc9081a10226a732e5dba12e1c15f40263da1f476fa8183cf608
6
+ metadata.gz: c1c444e52a2a5c52b488fda70e7fe7d2997fdee57e23003964134f4d32c4e700e2ad711a9ae4ffb4fc028b266f82635a13f72039d0a0ad5114166f38e30d1aa8
7
+ data.tar.gz: b634cae70beb91a1c6675d0cdac62bf6011a0b756476a04eee564808e32c5662a7403264ad6ceeb39c4b50e273d3a7b159187be00ce80c675b688794c61d10b9
@@ -15,7 +15,12 @@ module Inch
15
15
  default
16
16
  else
17
17
  rows_cols = str.split(' ').map(&:to_i)
18
- rows_cols[1] || default
18
+ cols = rows_cols[1]
19
+ if cols == 0
20
+ default
21
+ else
22
+ cols || default
23
+ end
19
24
  end
20
25
  rescue
21
26
  default
@@ -7,16 +7,8 @@ module Inch
7
7
  class Docstring < Ruby::Provider::YARD::Docstring
8
8
  VISIBILITIES = %w(public protected private)
9
9
 
10
- # Removes the comment markers // /* */ from the docstring.
11
- #
12
- # Docstring.new("// test").without_comment_markers
13
- # # => "test"
14
- #
15
- # @return [String]
16
- def without_comment_markers
17
- @text.lines.map do |line|
18
- line.strip.gsub(/^(\s*(\/\*+|\/\/|\*+\/|\*)+\s?)/m, '')
19
- end.join("\n").strip
10
+ def initialize(text)
11
+ @text = without_comment_markers(text)
20
12
  end
21
13
 
22
14
  def describes_internal_api?
@@ -26,7 +18,8 @@ module Inch
26
18
  def describes_parameter?(name)
27
19
  return false if name.nil?
28
20
  parameter = parameter_notations(name)
29
- tag?(:param, /#{parameter}\s+\S+/)
21
+ type_notation = /(\{[^\}]+\}|\[[^\]]+\])/
22
+ tag?(:param, /#{type_notation}\s+#{parameter}\s+\S+/)
30
23
  end
31
24
 
32
25
  def mentions_parameter?(name)
@@ -44,22 +37,39 @@ module Inch
44
37
  tag?(:return, /#{type_notation}*(\s\w+)/) || super
45
38
  end
46
39
 
47
- def visibility
40
+ # @param access_value [nil,String] visibility in JSDoc output
41
+ def visibility(access_value = nil)
48
42
  tagged_value = VISIBILITIES.detect do |v|
49
43
  tag?(v)
50
44
  end
51
- (tagged_value || 'public').to_sym
45
+ (tagged_value || access_value || 'public').to_sym
52
46
  end
53
47
 
54
48
  def tag?(tagname, regex = nil)
55
- if without_comment_markers =~ /^\s*\@#{tagname}([^\n]*)$/m
49
+ tag_regex = /^\s*\@#{tagname}([^\n]*)$/m
50
+ matches = @text.scan(tag_regex).flatten
51
+ if !matches.empty?
56
52
  if regex.nil?
57
53
  true
58
54
  else
59
- $1 =~ /#{regex}/
55
+ matches.any? do |matched|
56
+ matched =~ /#{regex}/
57
+ end
60
58
  end
61
59
  end
62
60
  end
61
+
62
+ # Removes the comment markers // /* */ from the given +text+.
63
+ #
64
+ # Docstring.new("// test").without_comment_markers
65
+ # # => "test"
66
+ #
67
+ # @return [String]
68
+ def without_comment_markers(text)
69
+ text.to_s.lines.map do |line|
70
+ line.strip.gsub(/^(\s*(\/\*+|\/\/|\*+\/|\*)+\s?)/m, '')
71
+ end.join("\n").strip
72
+ end
63
73
  end
64
74
  end
65
75
  end
@@ -22,7 +22,7 @@ module Inch
22
22
  end
23
23
 
24
24
  def fullname
25
- "#{@hash['longname']}"
25
+ @hash['longname']
26
26
  end
27
27
 
28
28
  # Returns all files declaring the object in the form of an Array
@@ -47,11 +47,7 @@ module Inch
47
47
  end
48
48
 
49
49
  def parent_fullname
50
- if depth == 1
51
- nil
52
- else
53
- fullname.split('.')[0...-1].join('.')
54
- end
50
+ @hash['memberof'] || retrieve_parent_fullname
55
51
  end
56
52
 
57
53
  def api_tag?
@@ -100,7 +96,7 @@ module Inch
100
96
  end
101
97
 
102
98
  def has_code_example?
103
- false # raise NotImplementedError
99
+ docstring.code_examples.size > 0
104
100
  end
105
101
 
106
102
  def has_doc?
@@ -108,7 +104,7 @@ module Inch
108
104
  end
109
105
 
110
106
  def has_multiple_code_examples?
111
- false # raise NotImplementedError
107
+ docstring.code_examples.size > 1
112
108
  end
113
109
 
114
110
  def has_unconsidered_tags?
@@ -151,7 +147,7 @@ module Inch
151
147
  end
152
148
 
153
149
  def private?
154
- false
150
+ visibility == 'private'
155
151
  end
156
152
 
157
153
  def tagged_as_internal_api?
@@ -163,11 +159,11 @@ module Inch
163
159
  end
164
160
 
165
161
  def protected?
166
- false
162
+ visibility == 'protected'
167
163
  end
168
164
 
169
165
  def public?
170
- true
166
+ visibility == 'public'
171
167
  end
172
168
 
173
169
  def questioning_name?
@@ -175,15 +171,15 @@ module Inch
175
171
  end
176
172
 
177
173
  def return_described?
178
- false # raise NotImplementedError
174
+ docstring.describes_return?
179
175
  end
180
176
 
181
177
  def return_mentioned?
182
- false # raise NotImplementedError
178
+ docstring.mentions_return?
183
179
  end
184
180
 
185
181
  def return_typed?
186
- false # raise NotImplementedError
182
+ return_mentioned?
187
183
  end
188
184
 
189
185
  def in_root?
@@ -207,7 +203,7 @@ module Inch
207
203
  end
208
204
 
209
205
  def visibility
210
- docstring.visibility
206
+ docstring.visibility(@hash['access'])
211
207
  end
212
208
 
213
209
  protected
@@ -219,6 +215,14 @@ module Inch
219
215
  def meta
220
216
  @hash['meta']
221
217
  end
218
+
219
+ def retrieve_parent_fullname
220
+ if depth == 1
221
+ nil
222
+ else
223
+ fullname.split('.')[0...-1].join('.')
224
+ end
225
+ end
222
226
  end
223
227
  end
224
228
  end
@@ -39,7 +39,7 @@ module Inch
39
39
 
40
40
  # @return [Boolean] +true+ if the type of the parameter is defined
41
41
  def typed?
42
- false # TODO: parse types of params
42
+ described_by_docstring?
43
43
  end
44
44
 
45
45
  # @return [Boolean] +true+ if the parameter is mentioned in the
@@ -6,10 +6,6 @@ module Inch
6
6
  module Object
7
7
  # Proxy class for modules
8
8
  class ModuleObject < Base
9
- def fullname
10
- @hash['id']
11
- end
12
-
13
9
  def namespace?
14
10
  true
15
11
  end
@@ -9,7 +9,7 @@ module Inch
9
9
  # Parses the source tree (using JSDoc)
10
10
  class Parser
11
11
  # TODO: should we remove constant and namespace from this list?
12
- IGNORE_TYPES = %w(member package constant namespace)
12
+ IGNORE_TYPES = %w(interface member package param constant namespace)
13
13
 
14
14
  attr_reader :parsed_objects
15
15
 
@@ -1,3 +1,3 @@
1
1
  module Inch
2
- VERSION = '0.5.9'
2
+ VERSION = '0.5.10'
3
3
  end
@@ -0,0 +1,253 @@
1
+ {
2
+ "args": [],
3
+ "branch_name": "master",
4
+ "client_name": "inchjs",
5
+ "client_version": "0.1.4",
6
+ "git_repo_url": "git@github.com:inch-ci/Hello-World-NodeJS.git",
7
+ "language": "nodejs",
8
+ "objects": [
9
+ {
10
+ "comment": "",
11
+ "kind": "function",
12
+ "longname": "InstanciatableClass",
13
+ "meta": {
14
+ "code": {
15
+ "id": "astnode100000004",
16
+ "name": "InstanciatableClass",
17
+ "type": "FunctionExpression",
18
+ "value": "function"
19
+ },
20
+ "filename": "inch_test.js",
21
+ "lineno": 4,
22
+ "path": "/src",
23
+ "range": [
24
+ 20,
25
+ 55
26
+ ]
27
+ },
28
+ "name": "InstanciatableClass",
29
+ "scope": "global",
30
+ "undocumented": true
31
+ },
32
+ {
33
+ "comment": "",
34
+ "kind": "function",
35
+ "longname": "InstanciatableClass#render",
36
+ "memberof": "InstanciatableClass",
37
+ "meta": {
38
+ "code": {
39
+ "id": "astnode100000009",
40
+ "name": "InstanciatableClass.prototype.render",
41
+ "paramnames": [],
42
+ "type": "FunctionExpression",
43
+ "value": "function"
44
+ },
45
+ "filename": "inch_test.js",
46
+ "lineno": 5,
47
+ "path": "/src",
48
+ "range": [
49
+ 57,
50
+ 125
51
+ ]
52
+ },
53
+ "name": "render",
54
+ "scope": "instance",
55
+ "undocumented": true
56
+ },
57
+ {
58
+ "access": "private",
59
+ "comment": "/**\n* @private\n*/",
60
+ "kind": "function",
61
+ "longname": "InchTest.generate_docs",
62
+ "memberof": "InchTest",
63
+ "meta": {
64
+ "code": {
65
+ "id": "astnode100000024",
66
+ "name": "InchTest.generate_docs",
67
+ "paramnames": [
68
+ "project",
69
+ "version",
70
+ "args",
71
+ "options"
72
+ ],
73
+ "type": "FunctionExpression",
74
+ "value": "function"
75
+ },
76
+ "filename": "inch_test.js",
77
+ "lineno": 13,
78
+ "path": "/src",
79
+ "range": [
80
+ 165,
81
+ 236
82
+ ]
83
+ },
84
+ "name": "generate_docs",
85
+ "scope": "static"
86
+ },
87
+ {
88
+ "comment": "// Generate JSON documentation for the given modules",
89
+ "kind": "function",
90
+ "longname": "InchTest.Docs.Formatter.run",
91
+ "memberof": "InchTest.Docs.Formatter",
92
+ "meta": {
93
+ "code": {
94
+ "id": "astnode100000042",
95
+ "name": "run",
96
+ "type": "FunctionExpression",
97
+ "value": "function"
98
+ },
99
+ "filename": "inch_test.js",
100
+ "lineno": 19,
101
+ "path": "/src",
102
+ "range": [
103
+ 333,
104
+ 398
105
+ ]
106
+ },
107
+ "name": "run",
108
+ "scope": "static",
109
+ "undocumented": true
110
+ },
111
+ {
112
+ "comment": "/**\n*\n* This function takes `param1` and `param2` as arguments.\n*\n* @param {Number} param1 A number from 0 to 26 that will result in a letter a-z\n* @param {String} param2 A text\n* @return {String} A character from a-z based on the input number n\n*\n* Examples:\n*\n* > InchTest.Naming.resource_name(MyApp.User)\n* \"user\"\n* > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n* \"user\"\n*/",
113
+ "description": "This function takes `param1` and `param2` as arguments.",
114
+ "kind": "function",
115
+ "longname": "InchTest.Functions.full_doc",
116
+ "memberof": "InchTest.Functions",
117
+ "meta": {
118
+ "code": {
119
+ "id": "astnode100000057",
120
+ "name": "InchTest.Functions.full_doc",
121
+ "paramnames": [
122
+ "param1",
123
+ "param2"
124
+ ],
125
+ "type": "FunctionExpression",
126
+ "value": "function"
127
+ },
128
+ "filename": "inch_test.js",
129
+ "lineno": 41,
130
+ "path": "/src",
131
+ "range": [
132
+ 841,
133
+ 914
134
+ ]
135
+ },
136
+ "name": "full_doc",
137
+ "params": [
138
+ {
139
+ "description": "A number from 0 to 26 that will result in a letter a-z",
140
+ "name": "param1",
141
+ "type": {
142
+ "names": [
143
+ "Number"
144
+ ]
145
+ }
146
+ },
147
+ {
148
+ "description": "A text",
149
+ "name": "param2",
150
+ "type": {
151
+ "names": [
152
+ "String"
153
+ ]
154
+ }
155
+ }
156
+ ],
157
+ "returns": [
158
+ {
159
+ "description": "A character from a-z based on the input number n\n\nExamples:\n\n > InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"",
160
+ "type": {
161
+ "names": [
162
+ "String"
163
+ ]
164
+ }
165
+ }
166
+ ],
167
+ "scope": "static"
168
+ },
169
+ {
170
+ "comment": "/**\n*\n* This function takes a `param1` and a second parameter that is never used\n* (maybe, because it is a callback or something like that). However, the\n* second param should impact the evaluation by Inch.\n*\n* Examples:\n*\n* > InchTest.Naming.resource_name(MyApp.User)\n* \"user\"\n* > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n* \"user\"\n*/",
171
+ "description": "This function takes a `param1` and a second parameter that is never used\n(maybe, because it is a callback or something like that). However, the\nsecond param should impact the evaluation by Inch.\n\nExamples:\n\n > InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"",
172
+ "kind": "function",
173
+ "longname": "InchTest.Functions.full_doc_second_parameter_unnamed",
174
+ "memberof": "InchTest.Functions",
175
+ "meta": {
176
+ "code": {
177
+ "id": "astnode100000070",
178
+ "name": "InchTest.Functions.full_doc_second_parameter_unnamed",
179
+ "paramnames": [
180
+ "param1",
181
+ "_"
182
+ ],
183
+ "type": "FunctionExpression",
184
+ "value": "function"
185
+ },
186
+ "filename": "inch_test.js",
187
+ "lineno": 57,
188
+ "path": "/src",
189
+ "range": [
190
+ 1271,
191
+ 1364
192
+ ]
193
+ },
194
+ "name": "full_doc_second_parameter_unnamed",
195
+ "scope": "static"
196
+ },
197
+ {
198
+ "comment": "/**\n*\n* This function takes no arguments.\n*\n* Examples:\n*\n* > InchTest.Naming.resource_name(MyApp.User)\n* \"user\"\n* > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n* \"user\"\n*/",
199
+ "description": "This function takes no arguments.\n\nExamples:\n\n > InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"",
200
+ "kind": "function",
201
+ "longname": "InchTest.CodeExamples.single_code_example",
202
+ "memberof": "InchTest.CodeExamples",
203
+ "meta": {
204
+ "code": {
205
+ "id": "astnode100000088",
206
+ "name": "single_code_example",
207
+ "type": "FunctionExpression",
208
+ "value": "function"
209
+ },
210
+ "filename": "inch_test.js",
211
+ "lineno": 74,
212
+ "path": "/src",
213
+ "range": [
214
+ 1609,
215
+ 1665
216
+ ]
217
+ },
218
+ "name": "single_code_example",
219
+ "scope": "static"
220
+ },
221
+ {
222
+ "comment": "/**\n*\n* This function takes no arguments.\n*\n* Examples:\n*\n* > InchTest.Naming.resource_name(MyApp.User)\n* \"user\"\n* > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n* \"user\"\n*\n* In general, `underscore` can be thought of as the reverse ...\n*\n* > InchTest.Naming.resource_name(MyApp.User)\n* \"user\"\n* > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n* \"user\"\n*/",
223
+ "description": "This function takes no arguments.\n\nExamples:\n\n > InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"\n\nIn general, `underscore` can be thought of as the reverse ...\n\n > InchTest.Naming.resource_name(MyApp.User)\n \"user\"\n > InchTest.Naming.resource_name(MyApp.UserView, \"View\")\n \"user\"",
224
+ "kind": "function",
225
+ "longname": "InchTest.CodeExamples.multiple_code_examples",
226
+ "memberof": "InchTest.CodeExamples",
227
+ "meta": {
228
+ "code": {
229
+ "id": "astnode100000093",
230
+ "name": "multiple_code_examples",
231
+ "type": "FunctionExpression",
232
+ "value": "function"
233
+ },
234
+ "filename": "inch_test.js",
235
+ "lineno": 95,
236
+ "path": "/src",
237
+ "range": [
238
+ 2094,
239
+ 2153
240
+ ]
241
+ },
242
+ "name": "multiple_code_examples",
243
+ "scope": "static"
244
+ },
245
+ {
246
+ "files": [
247
+ "/home/rf/devel/Hello-World-NodeJS/src/inch_test.js"
248
+ ],
249
+ "kind": "package",
250
+ "longname": "package:undefined"
251
+ }
252
+ ]
253
+ }
@@ -0,0 +1,59 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../test_helper')
2
+
3
+ describe ::Inch::Language::Elixir::CodeObject::FunctionObject do
4
+ before do
5
+ @codebase = fresh_codebase(:nodejs, :inch_test, 'all.json')
6
+ @objects = @codebase.objects
7
+ end
8
+
9
+ describe 'Scores' do
10
+ #
11
+ it 'should not' do
12
+ m = @objects.find('InchTest.generate_docs')
13
+ assert m.score >= 50
14
+ end
15
+ end
16
+
17
+ it 'should recognize the relationship between modules and functions' do
18
+ skip "InchTest is a member and therefore not counted at the moment"
19
+ mod = @objects.find('InchTest')
20
+ assert mod.has_children?
21
+ assert mod.children.size > 1
22
+ fun = @objects.find('InchTest.generate_docs')
23
+ assert_equal mod, fun.parent
24
+ end
25
+
26
+ it 'should recognize the depth of methods' do
27
+ m = @objects.find('InchTest')
28
+ m = @objects.find('InchTest.Docs.Formatter.run')
29
+ assert_equal 4, m.depth
30
+ skip "InchTest is a member and therefore not counted at the moment"
31
+
32
+ assert_equal 1, m.depth
33
+ m = @objects.find('InchTest.Config')
34
+ assert_equal 2, m.depth
35
+ m = @objects.find('InchTest.Docs.Formatter')
36
+ assert_equal 3, m.depth
37
+ end
38
+
39
+ it 'should parse parameters correctly' do
40
+ m = @objects.find('InchTest.generate_docs')
41
+ assert_equal 4, m.parameters.size
42
+ end
43
+
44
+ it 'should parse parameters correctly' do
45
+ m = @objects.find('InchTest.Functions.full_doc')
46
+ assert_equal 2, m.parameters.size
47
+ assert_equal 'A', m.grade.to_s
48
+ end
49
+
50
+ it 'should recognize code examples' do
51
+ m = @objects.find('InchTest.CodeExamples.single_code_example')
52
+ assert m.has_code_example?
53
+ refute m.has_multiple_code_examples?
54
+
55
+ m = @objects.find('InchTest.CodeExamples.multiple_code_examples')
56
+ assert m.has_code_example?
57
+ assert m.has_multiple_code_examples?
58
+ end
59
+ end
@@ -42,6 +42,27 @@ describe ::Inch::Language::Nodejs::Provider::JSDoc::Docstring do
42
42
  refute docstring.describes_return?
43
43
  end
44
44
 
45
+ it 'should notice things in jsdoc style docs 3' do
46
+ text = <<-DOC
47
+ /**
48
+ *
49
+ * This function takes `param1` and `param2` as arguments.
50
+ *
51
+ * @param {Number} param1 A number from 0 to 26 that will result in a letter a-z
52
+ * @param {String} param2 A text
53
+ * @return {String} A character from a-z based on the input number n
54
+ *
55
+ */
56
+ DOC
57
+ docstring = described_class.new(text)
58
+ assert docstring.mentions_parameter?(:param1)
59
+ assert docstring.describes_parameter?(:param1)
60
+ assert docstring.mentions_parameter?(:param2)
61
+ assert docstring.describes_parameter?(:param2)
62
+ assert docstring.mentions_return?
63
+ assert docstring.describes_return?
64
+ end
65
+
45
66
  it 'should notice things in jsdoc style docs' do
46
67
  %w(public protected private).each do |visibility|
47
68
  text = <<-DOC
@@ -77,7 +98,7 @@ Set or get the context `Runnable` to `runnable`.
77
98
  @api private
78
99
  DOC
79
100
  docstring = described_class.new(text)
80
- assert_equal without_comment_markers.strip, docstring.without_comment_markers
101
+ assert_equal without_comment_markers.strip, docstring.to_s
81
102
  end
82
103
 
83
104
  it 'should remove comment markers for parsing 2' do
@@ -91,19 +112,20 @@ Set or get the context `Runnable` to `runnable`.
91
112
  Set or get the context `Runnable` to `runnable`.
92
113
  DOC
93
114
  docstring = described_class.new(text)
94
- assert_equal without_comment_markers.strip, docstring.without_comment_markers
115
+ assert_equal without_comment_markers.strip, docstring.to_s
95
116
  end
96
117
 
97
118
 
98
119
  it 'should remove comment markers for parsing 3' do
99
120
  text = <<-DOC
100
- //Set or get the context `Runnable` to `runnable`.
121
+ // Set or get the context `Runnable` to `runnable`.
122
+ // Set or get the context `Runnable` to `runnable`.
101
123
  DOC
102
124
  without_comment_markers = <<-DOC
125
+ Set or get the context `Runnable` to `runnable`.
103
126
  Set or get the context `Runnable` to `runnable`.
104
127
  DOC
105
128
  docstring = described_class.new(text)
106
- assert_equal without_comment_markers.strip, docstring.without_comment_markers
129
+ assert_equal without_comment_markers.strip, docstring.to_s
107
130
  end
108
-
109
131
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9
4
+ version: 0.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - René Föhring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-10 00:00:00.000000000 Z
11
+ date: 2015-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -311,6 +311,7 @@ files:
311
311
  - lib/inch/utils/weighted_list.rb
312
312
  - lib/inch/version.rb
313
313
  - test/fixtures/elixir/inch_test/all.json
314
+ - test/fixtures/nodejs/inch_test/all.json
314
315
  - test/fixtures/ruby/alias_cycle/lib/alias.rb
315
316
  - test/fixtures/ruby/code_examples/lib/foo.rb
316
317
  - test/fixtures/ruby/diff1/lib/diff1.rb
@@ -369,6 +370,7 @@ files:
369
370
  - test/unit/evaluation/role_test.rb
370
371
  - test/unit/language/elixir/code_object/function_object_test.rb
371
372
  - test/unit/language/elixir/code_object/module_object_test.rb
373
+ - test/unit/language/nodejs/code_object/function_object_test.rb
372
374
  - test/unit/language/nodejs/provider/jsdoc/docstring_test.rb
373
375
  - test/unit/language/ruby/code_object/alias_test.rb
374
376
  - test/unit/language/ruby/code_object/method_object_test.rb
@@ -405,6 +407,7 @@ specification_version: 4
405
407
  summary: Documentation measurement tool for Ruby
406
408
  test_files:
407
409
  - test/fixtures/elixir/inch_test/all.json
410
+ - test/fixtures/nodejs/inch_test/all.json
408
411
  - test/fixtures/ruby/alias_cycle/lib/alias.rb
409
412
  - test/fixtures/ruby/code_examples/lib/foo.rb
410
413
  - test/fixtures/ruby/diff1/lib/diff1.rb
@@ -463,6 +466,7 @@ test_files:
463
466
  - test/unit/evaluation/role_test.rb
464
467
  - test/unit/language/elixir/code_object/function_object_test.rb
465
468
  - test/unit/language/elixir/code_object/module_object_test.rb
469
+ - test/unit/language/nodejs/code_object/function_object_test.rb
466
470
  - test/unit/language/nodejs/provider/jsdoc/docstring_test.rb
467
471
  - test/unit/language/ruby/code_object/alias_test.rb
468
472
  - test/unit/language/ruby/code_object/method_object_test.rb