File tree Expand file tree Collapse file tree 5 files changed +42
-7
lines changed Expand file tree Collapse file tree 5 files changed +42
-7
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ gem "rake"
6
6
gem "rspec"
7
7
gem "rspec-its"
8
8
gem "rspec-parameterized"
9
+ gem "rspec-temp_dir"
9
10
gem "rubocop" , require : false
10
11
gem "rubocop_auto_corrector" , require : false
11
12
gem "serverspec"
Original file line number Diff line number Diff line change 88
88
binding_of_caller
89
89
rspec-parameterized-core (< 2 )
90
90
rspec-support (3.13.1 )
91
+ rspec-temp_dir (1.1.1 )
92
+ rspec (>= 3.0 )
91
93
rubocop (1.66.1 )
92
94
json (~> 2.3 )
93
95
language_server-protocol (>= 3.17.0 )
@@ -154,6 +156,7 @@ DEPENDENCIES
154
156
rspec
155
157
rspec-its
156
158
rspec-parameterized
159
+ rspec-temp_dir
157
160
rubocop
158
161
rubocop_auto_corrector
159
162
serverspec
Original file line number Diff line number Diff line change @@ -30,13 +30,6 @@ def perform
30
30
go_fmt
31
31
end
32
32
33
- private
34
-
35
- # @return [RubyHeaderParser::Parser]
36
- def parser
37
- @parser ||= RubyHeaderParser ::Parser . new ( header_dir )
38
- end
39
-
40
33
def write_type_definitions_to_go_file
41
34
type_definitions = parser . extract_type_definitions . map do |definition |
42
35
RubyHToGo ::TypeDefinition . new ( definition :, header_dir :)
@@ -67,6 +60,13 @@ def write_function_definitions_to_go_file
67
60
end
68
61
end
69
62
63
+ private
64
+
65
+ # @return [RubyHeaderParser::Parser]
66
+ def parser
67
+ @parser ||= RubyHeaderParser ::Parser . new ( header_dir )
68
+ end
69
+
70
70
# Clean all generated files in dist/
71
71
def clean_generated_files
72
72
FileUtils . rm_f ( Dir . glob ( File . join ( dist_dir , "*.go" ) ) )
Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ RSpec . describe RubyHToGo ::Cli do
4
+ include_context "uses temp dir"
5
+
6
+ let ( :cli ) do
7
+ RubyHToGo ::Cli . new (
8
+ header_dir : RbConfig ::CONFIG [ "rubyhdrdir" ] ,
9
+ dist_dir : temp_dir ,
10
+ )
11
+ end
12
+
13
+ describe "#write_type_definitions_to_go_file" do
14
+ subject { cli . write_type_definitions_to_go_file }
15
+
16
+ it { expect { subject } . not_to raise_error }
17
+ end
18
+
19
+ describe "#write_struct_definitions_to_go_file" do
20
+ subject { cli . write_struct_definitions_to_go_file }
21
+
22
+ it { expect { subject } . not_to raise_error }
23
+ end
24
+
25
+ describe "#write_function_definitions_to_go_file" do
26
+ subject { cli . write_function_definitions_to_go_file }
27
+
28
+ it { expect { subject } . not_to raise_error }
29
+ end
30
+ end
Original file line number Diff line number Diff line change 2
2
3
3
require "rspec/its"
4
4
require "rspec/parameterized"
5
+ require "rspec/temp_dir"
5
6
6
7
require_relative "../lib/ruby_header_parser"
7
8
require_relative "../lib/ruby_h_to_go"
You can’t perform that action at this time.
0 commit comments