opal-rspec 0.7.0 → 0.7.1
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 +4 -4
- data/.travis.yml +0 -3
- data/CHANGELOG.md +7 -0
- data/README.md +20 -2
- data/exe/opal-rspec +11 -5
- data/lib/opal/rspec.rb +2 -0
- data/lib/opal/rspec/locator.rb +2 -1
- data/lib/opal/rspec/project_initializer.rb +48 -0
- data/lib/opal/rspec/project_initializer/.rspec-opal +2 -0
- data/lib/opal/rspec/project_initializer/spec-opal/spec_helper.rb +13 -0
- data/lib/opal/rspec/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7ed32b2aee48df3d8cdb71faef3fb81644cd7a4d8ae96ffd9708f4eccab7c6a
|
4
|
+
data.tar.gz: 9e4e7ff4030e66438fc2e67864c79d73c80eeaa19c6d20398140067c4cbc1399
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33923120410d49a01f3b3c04be70e670310e0b15a926820bb70ef62a5cc907bdbe9a494dffec5e9564a27e522b8ea2bd3313e58e9ee57f484157c8535126eb7b
|
7
|
+
data.tar.gz: 690896cb3985e989592e02ed1855710fc0973051f8f6089e13db99f2764be9ac493a7010ed6010cd24e468d8c36e291e2cfe267f8ce8579e3f0bb1b2512c0502
|
data/.travis.yml
CHANGED
@@ -38,9 +38,6 @@ gemfile:
|
|
38
38
|
- gemfiles/opal_master.gemfile
|
39
39
|
|
40
40
|
before_install:
|
41
|
-
# Attempt to work around Travis issues and Ruby 2.3 - https://github.com/vcr/vcr/issues/582
|
42
|
-
- gem update --system
|
43
|
-
- gem install bundler
|
44
41
|
- "mkdir -p phantom20"
|
45
42
|
- "export PATH=`pwd`/phantom20:$PATH"
|
46
43
|
- "echo $PATH"
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -6,8 +6,6 @@
|
|
6
6
|
|
7
7
|
An attempt at a compatibility layer of RSpec for Opal.
|
8
8
|
|
9
|
-
#### For the README for the latest release, click [here](https://github.com/opal/opal-rspec/blob/releases/0-6-stable/README.md).
|
10
|
-
|
11
9
|
## Usage
|
12
10
|
|
13
11
|
Add `opal-rspec` to your Gemfile:
|
@@ -16,6 +14,26 @@ Add `opal-rspec` to your Gemfile:
|
|
16
14
|
gem 'opal-rspec'
|
17
15
|
```
|
18
16
|
|
17
|
+
*(since v0.7.1)*
|
18
|
+
|
19
|
+
Then type `opal-rspec --init`, this command will create a `spec-opal/` folder for you with a minimal `spec_helper.rb` file. At this point you can write your first opal-spec!
|
20
|
+
|
21
|
+
_spec-opal/simple_sum_spec.rb_
|
22
|
+
|
23
|
+
```rb
|
24
|
+
RSpec.describe 'a simple sum' do
|
25
|
+
it 'equals two!' do
|
26
|
+
expect(1 + 1).to eq(2)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
```
|
30
|
+
|
31
|
+
To run your specs, simply type:
|
32
|
+
|
33
|
+
```bash
|
34
|
+
bundle exec opal-rspec --color spec-opal/
|
35
|
+
```
|
36
|
+
|
19
37
|
## Requirements
|
20
38
|
|
21
39
|
Besides what's already reflected in the GEM dependencies:
|
data/exe/opal-rspec
CHANGED
@@ -10,6 +10,11 @@ require 'optparse'
|
|
10
10
|
|
11
11
|
options = {}
|
12
12
|
OptionParser.new do |parser|
|
13
|
+
parser.on('--init', 'Initialize your project with Opal-RSpec.') do |_cmd|
|
14
|
+
Opal::RSpec::ProjectInitializer.new.run
|
15
|
+
exit
|
16
|
+
end
|
17
|
+
|
13
18
|
parser.on('-c', '--[no-]color', '--[no-]colour', 'Enable color in the output.') do |o|
|
14
19
|
options[:color] = o
|
15
20
|
end
|
@@ -23,17 +28,21 @@ OptionParser.new do |parser|
|
|
23
28
|
options[:formatters] ||= []
|
24
29
|
options[:formatters] << [o]
|
25
30
|
end
|
31
|
+
|
26
32
|
parser.on('-r', '--require PATH', 'Require a file.') do |path|
|
27
33
|
options[:requires] ||= []
|
28
34
|
options[:requires] << path
|
29
35
|
end
|
36
|
+
|
30
37
|
parser.on('-I PATH', 'Specify PATH to add to $LOAD_PATH (may be used more than once).') do |dir|
|
31
38
|
options[:includes] ||= []
|
32
39
|
options[:includes] << dir
|
33
40
|
end
|
41
|
+
|
34
42
|
parser.on('-P', '--pattern PATTERN', 'Load files matching pattern (default: "spec-opal/**/*_spec.rb").') do |o|
|
35
43
|
options[:pattern] = o
|
36
44
|
end
|
45
|
+
|
37
46
|
parser.on('--default-path PATH', 'Set the default path where RSpec looks for examples (can',
|
38
47
|
' be a path to a file or a directory).') do |path|
|
39
48
|
options[:default_path] = path
|
@@ -44,9 +53,7 @@ OptionParser.new do |parser|
|
|
44
53
|
parser.on('-R', '--runner NAME', 'Use a different JS runner (default is nodejs)') do |name|
|
45
54
|
options[:runner] = name
|
46
55
|
end
|
47
|
-
|
48
56
|
end.parse!
|
49
|
-
# p options: options
|
50
57
|
|
51
58
|
runner = Opal::RSpec::Runner.new do |server, config|
|
52
59
|
spec_opts = []
|
@@ -55,7 +62,8 @@ runner = Opal::RSpec::Runner.new do |server, config|
|
|
55
62
|
raise "can accept only one formatter at this time" if options[:formatters] && options[:formatters].size != 1
|
56
63
|
spec_opts += ['--format', options[:formatters].flatten.first] if options[:formatters]
|
57
64
|
raw_files = ARGV
|
58
|
-
|
65
|
+
raw_files = ['spec-opal'] if raw_files.empty?
|
66
|
+
|
59
67
|
files = raw_files.flat_map do |file|
|
60
68
|
if File.directory? file
|
61
69
|
Dir[File.join(file, '**{,/*/**}/*_spec{.js,}.rb')]
|
@@ -65,7 +73,6 @@ runner = Opal::RSpec::Runner.new do |server, config|
|
|
65
73
|
raise "Can't stat path: #{file}"
|
66
74
|
end
|
67
75
|
end
|
68
|
-
# p files: files
|
69
76
|
|
70
77
|
options[:includes].each {|dir| server.append_path dir} if options[:includes]
|
71
78
|
config.default_path = options[:default_path] if options[:default_path]
|
@@ -73,6 +80,5 @@ runner = Opal::RSpec::Runner.new do |server, config|
|
|
73
80
|
config.files = files
|
74
81
|
end
|
75
82
|
|
76
|
-
# puts runner.command
|
77
83
|
runner.run
|
78
84
|
|
data/lib/opal/rspec.rb
CHANGED
data/lib/opal/rspec/locator.rb
CHANGED
@@ -9,7 +9,8 @@ module Opal
|
|
9
9
|
class Locator
|
10
10
|
include ::RSpec::Core::RubyProject
|
11
11
|
|
12
|
-
|
12
|
+
DEFAULT_GLOB = '**{,/*/**}/*_spec{.js,}.{rb,opal}'
|
13
|
+
DEFAULT_PATTERN = "spec-opal/#{DEFAULT_GLOB}"
|
13
14
|
DEFAULT_DEFAULT_PATH = 'spec-opal'
|
14
15
|
|
15
16
|
attr_accessor :spec_pattern, :spec_exclude_pattern, :spec_files, :default_path
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
module Opal
|
4
|
+
module RSpec
|
5
|
+
# @private
|
6
|
+
# Generates conventional files for an rspec project
|
7
|
+
class ProjectInitializer
|
8
|
+
attr_reader :destination, :stream, :template_path
|
9
|
+
|
10
|
+
DOT_RSPEC_FILE = '.rspec-opal'
|
11
|
+
SPEC_HELPER_FILE = 'spec-opal/spec_helper.rb'
|
12
|
+
|
13
|
+
def initialize(opts={})
|
14
|
+
@destination = opts.fetch(:destination, Dir.getwd)
|
15
|
+
@stream = opts.fetch(:report_stream, $stdout)
|
16
|
+
@template_path = opts.fetch(:template_path) do
|
17
|
+
File.expand_path("../project_initializer", __FILE__)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def run
|
22
|
+
copy_template DOT_RSPEC_FILE
|
23
|
+
copy_template SPEC_HELPER_FILE
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def copy_template(file)
|
29
|
+
destination_file = File.join(destination, file)
|
30
|
+
return report_exists(file) if File.exist?(destination_file)
|
31
|
+
|
32
|
+
report_creating(file)
|
33
|
+
FileUtils.mkdir_p(File.dirname(destination_file))
|
34
|
+
File.open(destination_file, 'w') do |f|
|
35
|
+
f.write File.read(File.join(template_path, file))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def report_exists(file)
|
40
|
+
stream.puts " exist #{file}"
|
41
|
+
end
|
42
|
+
|
43
|
+
def report_creating(file)
|
44
|
+
stream.puts " create #{file}"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
RSpec.configure do |config|
|
2
|
+
# Run specs in random order to surface order dependencies. If you find an
|
3
|
+
# order dependency and want to debug it, you can fix the order by providing
|
4
|
+
# the seed, which is printed after each run.
|
5
|
+
# --seed 1234
|
6
|
+
config.order = :random
|
7
|
+
|
8
|
+
# Seed global randomization in this process using the `--seed` CLI option.
|
9
|
+
# Setting this allows you to use `--seed` to deterministically reproduce
|
10
|
+
# test failures related to randomization by passing the same `--seed` value
|
11
|
+
# as the one that triggered the failure.
|
12
|
+
Kernel.srand config.seed
|
13
|
+
end
|
data/lib/opal/rspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Beynon
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-02-
|
13
|
+
date: 2019-02-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: opal
|
@@ -262,6 +262,9 @@ files:
|
|
262
262
|
- lib/opal/rspec.rb
|
263
263
|
- lib/opal/rspec/cached_environment.rb
|
264
264
|
- lib/opal/rspec/locator.rb
|
265
|
+
- lib/opal/rspec/project_initializer.rb
|
266
|
+
- lib/opal/rspec/project_initializer/.rspec-opal
|
267
|
+
- lib/opal/rspec/project_initializer/spec-opal/spec_helper.rb
|
265
268
|
- lib/opal/rspec/rake_task.rb
|
266
269
|
- lib/opal/rspec/runner.rb
|
267
270
|
- lib/opal/rspec/sprockets_environment.rb
|
@@ -771,8 +774,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
771
774
|
- !ruby/object:Gem::Version
|
772
775
|
version: '0'
|
773
776
|
requirements: []
|
774
|
-
|
775
|
-
rubygems_version: 2.7.7
|
777
|
+
rubygems_version: 3.0.2
|
776
778
|
signing_key:
|
777
779
|
specification_version: 4
|
778
780
|
summary: RSpec for Opal
|