Minor cleaning setting up tests (#1875)

We use minitest for Sinatra's test suite but we weren't using its rake task. I've updated the Rakefile to require and use Minitest default rake task to simplify.

Another change is to rename the `helper.rb` file to `test_helper.rb` because I think that name is used more in the community and require it directly without calling `File.expand_path`
This commit is contained in:
Eloy Pérez 2023-02-12 19:09:35 +01:00 committed by GitHub
parent baa6bf783e
commit f10e571f4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 47 additions and 62 deletions

View File

@ -1,14 +1,11 @@
# frozen_string_literal: true
require 'rake/clean'
require 'rake/testtask'
require 'minitest/test_task'
require 'fileutils'
require 'date'
task default: :test
task spec: :test
CLEAN.include '**/*.rbc'
def source_version
@source_version ||= File.read(File.expand_path('VERSION', __dir__)).strip
@ -24,27 +21,20 @@ def prev_version
source_version.gsub(/\d+$/) { |s| s.to_i - 1 }
end
# SPECS ===============================================================
# Tests ===============================================================
Rake::TestTask.new(:test) do |t|
t.test_files = FileList['test/*_test.rb']
t.ruby_opts = ['-r rubygems'] if defined? Gem
Minitest::TestTask.create # Default `test` task
Minitest::TestTask.create(:'test:core') do |t|
t.warning = true
end
Rake::TestTask.new(:'test:core') do |t|
core_tests = %w[
t.test_globs = %w[
base delegator encoding extensions filter
helpers mapped_error middleware rdoc
readme request response result route_added_hook
routing server settings sinatra static templates
]
t.test_files = core_tests.map { |n| "test/#{n}_test.rb" }
t.ruby_opts = ['-r rubygems'] if defined? Gem
t.warning = true
].map { |n| "test/#{n}_test.rb" }
end
# Rcov ================================================================
# Test code coverage ==================================================
namespace :test do
desc 'Measures test coverage'
@ -54,6 +44,7 @@ namespace :test do
Rake::Task['test'].invoke
end
end
CLEAN.include('coverage')
# Website =============================================================

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'asciidoctor'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class BaseTest < Minitest::Test
describe 'Sinatra::Base subclasses' do

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'builder'

View File

@ -1,5 +1,4 @@
# I like coding: UTF-8
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class CompileTest < Minitest::Test
def self.parses pattern, example, expected_params, mtype = :sinatra, mopts = {}

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class DelegatorTest < Minitest::Test
class Mirror

View File

@ -1,5 +1,4 @@
# encoding: UTF-8
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
require 'erb'
class BaseTest < Minitest::Test

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class ERBTest < Minitest::Test
def engine

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class ExtensionsTest < Minitest::Test
module FooExtensions

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class BeforeFilterTest < Minitest::Test
it "executes filters in the order defined" do

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'haml'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
require 'date'
require 'json'
@ -895,8 +895,8 @@ class HelpersTest < Minitest::Test
send_file_app :disposition => 'inline'.freeze
get '/file.txt'
assert_equal 'inline; filename="file.txt"', response['Content-Disposition']
end
end
it "sets the Content-Disposition header when :filename provided" do
send_file_app :filename => 'foo.txt'
get '/file.txt'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
require File.expand_path('integration_async_helper', __dir__)
# These tests are like integration_test, but they test asynchronous streaming.

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
require File.expand_path('integration_helper', __dir__)
# These tests start a real server and talk to it over TCP.

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'liquid'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class FooError < RuntimeError
end

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'markaby'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
MarkdownTest = proc do
def markdown_app(&block)

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class MiddlewareTest < Minitest::Test
setup do

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'nokogiri'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'rabl'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
require 'rack'
class RackTest < Minitest::Test

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'rdoc'

View File

@ -1,6 +1,6 @@
# Tests to check if all the README examples work.
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
# Tests to check if all the README examples work.
class ReadmeTest < Minitest::Test
example do
mock_app { get('/') { 'Hello world!' } }

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
require 'stringio'
class RequestTest < Minitest::Test

View File

@ -1,6 +1,4 @@
# encoding: utf-8
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class ResponseTest < Minitest::Test
setup { @response = Sinatra::Response.new([], 200, { 'Content-Type' => 'text/html' }) }

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class ThirdPartyError < RuntimeError
def http_status; 400 end

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
module RouteAddedTest
@routes, @procs = [], []

View File

@ -1,5 +1,4 @@
# I like coding: UTF-8
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
# Helper method for easy route pattern matching testing
def route_def(pattern)

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
require 'stringio'
module Rack::Handler

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class SettingsTest < Minitest::Test
setup do

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class SinatraTest < Minitest::Test
it 'creates a new Sinatra::Base subclass on new' do

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'slim'

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class StaticTest < Minitest::Test
setup do

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
class StreamingTest < Minitest::Test
Stream = Sinatra::Helpers::Stream

View File

@ -1,5 +1,4 @@
# encoding: UTF-8
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
File.delete(__dir__ + '/views/layout.test') rescue nil
class TestTemplate < Tilt::Template

View File

@ -1,4 +1,4 @@
require File.expand_path('helper', __dir__)
require_relative 'test_helper'
begin
require 'yajl'