opal-rspec 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|