rspec-legacy_formatters 1.0.1 → 1.0.2
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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.gitignore +3 -0
- data/.travis.yml +36 -3
- data/Changelog.md +7 -0
- data/Gemfile +12 -0
- data/lib/rspec/legacy_formatters/html_formatter.rb +1 -0
- data/lib/rspec/legacy_formatters/snippet_extractor.rb +13 -1
- data/lib/rspec/legacy_formatters/version.rb +1 -1
- data/rspec-legacy_formatters.gemspec +1 -1
- data/script/functions.sh +59 -26
- data/script/run_build +9 -4
- data/smoke_specs/Gemfile +9 -0
- data/smoke_specs/spec/sample_spec.rb +11 -0
- data/smoke_specs/spec/spec_helper.rb +8 -0
- data/spec/support/formatter_support.rb +7 -1
- metadata +8 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9258440c0f471843e037dfff906d2c3fd84897041bf53365b854274a13fe46bd
|
4
|
+
data.tar.gz: 11c826f1b8524715b8627ace825265eb1ee22da05f9807fa3feeb955e467edea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6010d1ceb9431f0d4f39f3143932944b03bb5a2ad1b15a923e2af06c10386099b844f4e971488ee595a6dc49e4f91cae64a1cc5b73a558132aca452f22982766
|
7
|
+
data.tar.gz: 1073890d5d8c29c3f9e17a22ab55da4331ff0b0a1728f12dbd38af99c6da56732b66d9fcc45c5d896af93e2754a0adefa5d6a937437e5ab23ad4867979018b17
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,21 +1,54 @@
|
|
1
1
|
# This file was generated on 2014-03-30T13:16:22-07:00 from the rspec-dev repo.
|
2
2
|
# DO NOT modify it by hand as your changes will get lost the next time it is generated.
|
3
3
|
|
4
|
+
# In order to install old Rubies, we need to use old Ubuntu distibution.
|
5
|
+
dist: trusty
|
6
|
+
language: ruby
|
7
|
+
email: false
|
8
|
+
|
4
9
|
bundler_args: "--binstubs --standalone --without documentation --path ../bundle"
|
5
10
|
script: "script/run_build"
|
11
|
+
before_install:
|
12
|
+
- gem update bundler
|
6
13
|
rvm:
|
7
14
|
- 1.8.7
|
8
15
|
- 1.9.2
|
9
16
|
- 1.9.3
|
10
|
-
- 2.0
|
17
|
+
- 2.0.0
|
11
18
|
- 2.1
|
12
|
-
- 2.2
|
19
|
+
- 2.2.10
|
20
|
+
- 2.3.8
|
21
|
+
- 2.4.6
|
22
|
+
- 2.5.5
|
23
|
+
- 2.6.3
|
13
24
|
- ree
|
14
25
|
- jruby-18mode
|
15
26
|
- jruby
|
16
|
-
- rbx-
|
27
|
+
- rbx-3
|
17
28
|
matrix:
|
18
29
|
include:
|
19
30
|
- rvm: jruby
|
20
31
|
env: JRUBY_OPTS='--2.0'
|
32
|
+
- rvm: 2.6.3
|
33
|
+
env: RSPEC_VERSION='3-0-maintenance'
|
34
|
+
- rvm: 2.6.3
|
35
|
+
env: RSPEC_VERSION='3-1-maintenance'
|
36
|
+
- rvm: 2.6.3
|
37
|
+
env: RSPEC_VERSION='3-2-maintenance'
|
38
|
+
- rvm: 2.6.3
|
39
|
+
env: RSPEC_VERSION='3-3-maintenance'
|
40
|
+
- rvm: 2.6.3
|
41
|
+
env: RSPEC_VERSION='3-4-maintenance'
|
42
|
+
- rvm: 2.6.3
|
43
|
+
env: RSPEC_VERSION='3-5-maintenance'
|
44
|
+
- rvm: 2.6.3
|
45
|
+
env: RSPEC_VERSION='3-6-maintenance'
|
46
|
+
- rvm: 2.6.3
|
47
|
+
env: RSPEC_VERSION='3-7-maintenance''
|
48
|
+
- rvm: 2.6.3
|
49
|
+
env: RSPEC_VERSION='3-8-maintenance''
|
50
|
+
allow_failures:
|
51
|
+
- rvm: jruby
|
52
|
+
env: JRUBY_OPTS='--2.0'
|
53
|
+
- rvm: rbx-3
|
21
54
|
fast_finish: true
|
data/Changelog.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
### 1.0.2 / 2019-09-18
|
2
|
+
|
3
|
+
Bug Fixes:
|
4
|
+
|
5
|
+
* Fix formatters using / extending the legacy HTML formatter which would crash
|
6
|
+
due to a change in the `SnippetExtractor` in RSpec 3.4. (Jon Rowe, #22)
|
7
|
+
|
1
8
|
### 1.0.1 / 2015-11-05
|
2
9
|
[Full Changelog](http://github.com/rspec/rspec-legacy_formatters/compare/v1.0.0...v1.0.1)
|
3
10
|
|
data/Gemfile
CHANGED
@@ -8,8 +8,20 @@ platforms :ruby do
|
|
8
8
|
gem 'github-markup', '0.7.2'
|
9
9
|
end
|
10
10
|
|
11
|
+
if RUBY_VERSION < '2.2.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/)
|
12
|
+
gem 'ffi', '< 1.10'
|
13
|
+
elsif RUBY_VERSION < '2.0'
|
14
|
+
gem 'ffi', '< 1.9.19' # ffi dropped Ruby 1.8 support in 1.9.19
|
15
|
+
elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
|
16
|
+
gem 'ffi', '< 1.11.0'
|
17
|
+
else
|
18
|
+
gem 'ffi', '~> 1.11.0'
|
19
|
+
end
|
20
|
+
|
11
21
|
gem 'simplecov', '~> 0.8'
|
12
22
|
|
23
|
+
gem 'contracts', '< 0.16' if RUBY_VERSION < '1.9.0'
|
24
|
+
|
13
25
|
platforms :ruby_18, :jruby do
|
14
26
|
gem 'json'
|
15
27
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module RSpec
|
2
2
|
module Core
|
3
3
|
module Formatters
|
4
|
+
remove_const :SnippetExtractor
|
5
|
+
|
4
6
|
# @api private
|
5
7
|
#
|
6
8
|
# Extracts code snippets by looking at the backtrace of the passed error and applies synax highlighting and line numbers using html.
|
@@ -25,6 +27,14 @@ module RSpec
|
|
25
27
|
@@converter = LegacyNullConverter
|
26
28
|
end
|
27
29
|
|
30
|
+
# Copied from the 3.4 version, but with default overrides to cope with
|
31
|
+
# our usage
|
32
|
+
def initialize(source=nil, beginning_line_number=nil, max_line_count=nil)
|
33
|
+
@source = source
|
34
|
+
@beginning_line_number = beginning_line_number
|
35
|
+
@max_line_count = max_line_count
|
36
|
+
end
|
37
|
+
|
28
38
|
# @api private
|
29
39
|
#
|
30
40
|
# Extract lines of code corresponding to a backtrace.
|
@@ -36,7 +46,9 @@ module RSpec
|
|
36
46
|
def snippet(backtrace)
|
37
47
|
raw_code, line = snippet_for(backtrace[0])
|
38
48
|
highlighted = @@converter.convert(raw_code)
|
39
|
-
|
49
|
+
if LegacyNullConverter == @@converter || (defined?(NullConverter) && @@converter.is_a?(NullConverter))
|
50
|
+
highlighted << "\n<span class=\"comment\"># gem install syntax to get syntax highlighting</span>"
|
51
|
+
end
|
40
52
|
post_process(highlighted, line)
|
41
53
|
end
|
42
54
|
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Jon Rowe"]
|
10
10
|
spec.email = ["hello@jonrowe.co.uk"]
|
11
11
|
spec.email = "rspec@googlegroups.com"
|
12
|
-
spec.homepage = "
|
12
|
+
spec.homepage = "https://github.com/rspec/rspec-legacy_formatters"
|
13
13
|
spec.summary = "rspec-legacy_formatters-#{RSpec::LegacyFormatters::Version::STRING}"
|
14
14
|
spec.description = %q{Support for RSpec 2.x formatters on 3.x}
|
15
15
|
spec.license = "MIT"
|
data/script/functions.sh
CHANGED
@@ -59,18 +59,20 @@ function rspec_support_compatible {
|
|
59
59
|
fi
|
60
60
|
}
|
61
61
|
|
62
|
-
function
|
63
|
-
if [
|
62
|
+
function rspec_version_defined {
|
63
|
+
if [ "$RSPEC_VERSION" != "" ]; then
|
64
64
|
return 0
|
65
65
|
else
|
66
66
|
return 1
|
67
67
|
fi
|
68
68
|
}
|
69
69
|
|
70
|
-
function
|
71
|
-
if [
|
72
|
-
|
73
|
-
|
70
|
+
function documentation_enforced {
|
71
|
+
if [ -x ./bin/yard ]; then
|
72
|
+
return 0
|
73
|
+
else
|
74
|
+
return 1
|
75
|
+
fi
|
74
76
|
}
|
75
77
|
|
76
78
|
function run_specs_and_record_done {
|
@@ -85,6 +87,57 @@ function run_specs_and_record_done {
|
|
85
87
|
$rspec_bin spec --backtrace --format progress --profile --format progress --out $SPECS_HAVE_RUN_FILE
|
86
88
|
}
|
87
89
|
|
90
|
+
function run_specs_as_version {
|
91
|
+
if [ ! -f ./smoke_specs/$SPECS_HAVE_RUN_FILE ]; then # don't rerun specs that have already run
|
92
|
+
pushd ./smoke_specs
|
93
|
+
echo
|
94
|
+
echo "Running smoke specs for $RSPEC_VERSION"
|
95
|
+
echo
|
96
|
+
unset BUNDLE_GEMFILE
|
97
|
+
bundle_install_flags=`cat ../.travis.yml | grep bundler_args | tr -d '"' | grep -o " .*"`
|
98
|
+
travis_retry bundle install $bundle_install_flags
|
99
|
+
cp ../.rspec .rspec
|
100
|
+
|
101
|
+
# First check that we can run our spec suite
|
102
|
+
bin/rspec ../spec --format NyanCatFormatter --format NyanCatFormatter
|
103
|
+
|
104
|
+
set +e
|
105
|
+
# Then check RSpec 2.x formatters
|
106
|
+
bin/rspec spec -r ../lib/rspec/legacy_formatters/documentation_formatter.rb --format RSpec::Core::Formatters::DocumentationFormatter
|
107
|
+
local documentation_status=$?
|
108
|
+
|
109
|
+
bin/rspec spec -r ../lib/rspec/legacy_formatters/json_formatter.rb --format RSpec::Core::Formatters::JsonFormatter
|
110
|
+
local json_status=$?
|
111
|
+
|
112
|
+
bin/rspec spec -r ../lib/rspec/legacy_formatters/html_formatter.rb --format RSpec::Core::Formatters::HtmlFormatter
|
113
|
+
local html_status=$?
|
114
|
+
|
115
|
+
bin/rspec spec -r ../lib/rspec/legacy_formatters/progress_formatter.rb --format RSpec::Core::Formatters::ProgressFormatter
|
116
|
+
local progress_status=$?
|
117
|
+
|
118
|
+
# Then check we can run the smoke suite
|
119
|
+
bin/rspec spec --format NyanCatFormatter --format NyanCatFormatter --out $SPECS_HAVE_RUN_FILE
|
120
|
+
local status=$?
|
121
|
+
set -e
|
122
|
+
popd
|
123
|
+
# 42 is set in the rspec config for the smoke tests,
|
124
|
+
# so we can differentiate between crashes and real failures
|
125
|
+
if
|
126
|
+
(test $status = 42) &&
|
127
|
+
(test $documentation_status = 42) &&
|
128
|
+
(test $json_status = 42) &&
|
129
|
+
(test $html_status = 42) &&
|
130
|
+
(test $progress_status = 42)
|
131
|
+
then
|
132
|
+
echo "Build passed"
|
133
|
+
return 0
|
134
|
+
else
|
135
|
+
echo "Build failed"
|
136
|
+
return 1
|
137
|
+
fi
|
138
|
+
fi;
|
139
|
+
}
|
140
|
+
|
88
141
|
function run_cukes {
|
89
142
|
if [ -d features ]; then
|
90
143
|
# force jRuby to use client mode JVM or a compilation mode thats as close as possible,
|
@@ -109,26 +162,6 @@ function run_cukes {
|
|
109
162
|
fi
|
110
163
|
}
|
111
164
|
|
112
|
-
function run_specs_one_by_one {
|
113
|
-
for file in `find spec -iname '*_spec.rb'`; do
|
114
|
-
bin/rspec $file -b --format progress
|
115
|
-
done
|
116
|
-
}
|
117
|
-
|
118
|
-
function run_spec_suite_for {
|
119
|
-
if [ ! -f ../$1/$SPECS_HAVE_RUN_FILE ]; then # don't rerun specs that have already run
|
120
|
-
pushd ../$1
|
121
|
-
echo
|
122
|
-
echo "Running specs for $1"
|
123
|
-
echo
|
124
|
-
unset BUNDLE_GEMFILE
|
125
|
-
bundle_install_flags=`cat .travis.yml | grep bundler_args | tr -d '"' | grep -o " .*"`
|
126
|
-
travis_retry bundle install $bundle_install_flags
|
127
|
-
run_specs_and_record_done
|
128
|
-
popd
|
129
|
-
fi;
|
130
|
-
}
|
131
|
-
|
132
165
|
function check_documentation_coverage {
|
133
166
|
bin/yard stats --list-undoc | ruby -e "
|
134
167
|
while line = gets
|
data/script/run_build
CHANGED
@@ -5,9 +5,14 @@
|
|
5
5
|
set -e -x
|
6
6
|
source script/functions.sh
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
# We can't run our normal specs with all versions of rspec
|
9
|
+
if rspec_version_defined; then
|
10
|
+
run_specs_as_version
|
11
|
+
else
|
12
|
+
run_specs_and_record_done
|
13
|
+
run_cukes
|
10
14
|
|
11
|
-
if documentation_enforced; then
|
12
|
-
|
15
|
+
if documentation_enforced; then
|
16
|
+
check_documentation_coverage
|
17
|
+
fi
|
13
18
|
fi
|
data/smoke_specs/Gemfile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
gem "rspec", :github => "rspec/rspec", :branch => ENV['RSPEC_VERSION']
|
4
|
+
%w[core mocks expectations support].each do |name|
|
5
|
+
gem "rspec-#{name}", :github => "rspec/rspec-#{name}", :branch => ENV['RSPEC_VERSION']
|
6
|
+
end
|
7
|
+
|
8
|
+
gem 'rspec-legacy_formatters', path: '../'
|
9
|
+
gem 'nyan-cat-formatter', '0.5.2'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
RSpec.configure { |c| c.failure_exit_code = 42 }
|
2
|
+
|
3
|
+
RSpec.describe 'Prove that legacy formatters runs on this version' do
|
4
|
+
specify "success for #{ENV['RSPEC_VERSION']}" do
|
5
|
+
expect(true).to be true
|
6
|
+
end
|
7
|
+
|
8
|
+
specify "failure for #{ENV['RSPEC_VERSION']}" do
|
9
|
+
expect(true).to be false
|
10
|
+
end
|
11
|
+
end
|
@@ -42,6 +42,7 @@ module FormatterSupport
|
|
42
42
|
def example
|
43
43
|
instance_double("RSpec::Core::Example",
|
44
44
|
:description => "Example",
|
45
|
+
:example_group => group,
|
45
46
|
:full_description => "Example",
|
46
47
|
:execution_result => instance_double(RSpec::Core::Example::ExecutionResult, :exception => Exception.new).as_null_object ,
|
47
48
|
:metadata => {}
|
@@ -49,7 +50,12 @@ module FormatterSupport
|
|
49
50
|
end
|
50
51
|
|
51
52
|
def group
|
52
|
-
class_double
|
53
|
+
class_double(
|
54
|
+
"RSpec::Core::ExampleGroup",
|
55
|
+
:description => "Group",
|
56
|
+
:parent_groups => [],
|
57
|
+
:top_level? => false
|
58
|
+
)
|
53
59
|
end
|
54
60
|
|
55
61
|
def start_notification(count)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-legacy_formatters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Rowe
|
@@ -43,7 +43,7 @@ cert_chain:
|
|
43
43
|
ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
|
44
44
|
F3MdtaDehhjC
|
45
45
|
-----END CERTIFICATE-----
|
46
|
-
date:
|
46
|
+
date: 2019-09-18 00:00:00.000000000 Z
|
47
47
|
dependencies:
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rspec
|
@@ -214,12 +214,15 @@ files:
|
|
214
214
|
- rspec-legacy_formatters.gemspec
|
215
215
|
- script/functions.sh
|
216
216
|
- script/run_build
|
217
|
+
- smoke_specs/Gemfile
|
218
|
+
- smoke_specs/spec/sample_spec.rb
|
219
|
+
- smoke_specs/spec/spec_helper.rb
|
217
220
|
- spec/rspec/legacy_formatters_spec.rb
|
218
221
|
- spec/spec_helper.rb
|
219
222
|
- spec/support/formatter_support.rb
|
220
223
|
- spec/support/legacy_formatter_using_sub_classing_example.rb
|
221
224
|
- spec/support/old_style_formatter_example.rb
|
222
|
-
homepage:
|
225
|
+
homepage: https://github.com/rspec/rspec-legacy_formatters
|
223
226
|
licenses:
|
224
227
|
- MIT
|
225
228
|
metadata: {}
|
@@ -239,9 +242,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
242
|
- !ruby/object:Gem::Version
|
240
243
|
version: '0'
|
241
244
|
requirements: []
|
242
|
-
|
243
|
-
rubygems_version: 2.2.2
|
245
|
+
rubygems_version: 3.0.3
|
244
246
|
signing_key:
|
245
247
|
specification_version: 4
|
246
|
-
summary: rspec-legacy_formatters-1.0.
|
248
|
+
summary: rspec-legacy_formatters-1.0.2
|
247
249
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|