Skip to content

Commit 1c7e9f0

Browse files
committed
Add existing RBS interface tests from ruby/rbs repo
1 parent 0421be4 commit 1c7e9f0

5 files changed

Lines changed: 685 additions & 0 deletions

File tree

.github/workflows/sig.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: sig
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
sig:
7+
runs-on: ubuntu-latest
8+
env:
9+
BUNDLE_WITH: sig
10+
steps:
11+
- uses: actions/checkout@v6
12+
- name: Set up Ruby
13+
uses: ruby/setup-ruby@v1
14+
with:
15+
ruby-version: ruby
16+
bundler-cache: true
17+
- name: Run RBS test
18+
run: bundle exec rake rbs:test

Gemfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,8 @@ gemspec
55
gem "rake"
66
gem "test-unit"
77
gem "test-unit-ruby-core"
8+
9+
group :sig do
10+
gem "rbs"
11+
gem "rdoc"
12+
end

Rakefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,12 @@ Rake::TestTask.new(:test) do |t|
77
t.test_files = FileList["test/**/test_*.rb"]
88
end
99

10+
namespace :rbs do
11+
Rake::TestTask.new(:test) do |t|
12+
t.libs << "test_sig"
13+
t.ruby_opts << "-rtest_helper"
14+
t.test_files = FileList["test_sig/test_*.rb"]
15+
end
16+
end
17+
1018
task :default => :test

test_sig/test_helper.rb

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
require "pathname"
2+
require "test/unit"
3+
require "rbs"
4+
require "rbs/test"
5+
require "rbs/unit_test"
6+
7+
module NetHTTPTestSigHelper
8+
extend self
9+
10+
LOCAL_SIG_DIR = Pathname(__dir__).join("..", "sig").expand_path
11+
SUPPORT_LIBRARIES = %w[
12+
cgi
13+
net-protocol
14+
open-uri
15+
openssl
16+
resolv
17+
securerandom
18+
socket
19+
strscan
20+
tempfile
21+
timeout
22+
uri
23+
zlib
24+
].freeze
25+
26+
def env
27+
@env ||= begin
28+
loader = RBS::EnvironmentLoader.new
29+
loader.add(path: LOCAL_SIG_DIR)
30+
SUPPORT_LIBRARIES.each do |library|
31+
loader.add(library: library, version: nil)
32+
end
33+
RBS::Environment.from_loader(loader).resolve_type_names
34+
end
35+
end
36+
end
37+
38+
class NetHTTPRBSTestCase < Test::Unit::TestCase
39+
include RBS::UnitTest::TypeAssertions
40+
41+
def self.env
42+
NetHTTPTestSigHelper.env
43+
end
44+
45+
def self.builder
46+
@builder ||= RBS::DefinitionBuilder.new(env: env)
47+
end
48+
end

0 commit comments

Comments
 (0)