pad_character 0.1.0
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 +7 -0
- data/.rspec +3 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +35 -0
- data/LICENSE.txt +21 -0
- data/README.md +46 -0
- data/Rakefile +8 -0
- data/lib/pad_character/format_pad_character.rb +6 -0
- data/lib/pad_character/version.rb +5 -0
- data/lib/pad_character.rb +9 -0
- data/pad_character.gemspec +39 -0
- data/sig/pad_character.rbs +4 -0
- data/vendor/bundle/ruby/2.6.0/bin/htmldiff +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/ldiff +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/rake +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/rspec +29 -0
- data/vendor/bundle/ruby/2.6.0/cache/diff-lcs-1.5.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rake-13.0.6.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-core-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-expectations-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/.rspec +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Code-of-Conduct.md +74 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Contributing.md +119 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/History.md +400 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/License.md +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Manifest.txt +59 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/README.rdoc +84 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Rakefile +121 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/htmldiff +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/ldiff +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/COPYING.txt +339 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/artistic.txt +127 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/aX +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/bXaX +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds1.csv +50 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds2.csv +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-c +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-e +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-f +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-u +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-c +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-e +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-f +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-u +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2 +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef2 +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef2 +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/History.rdoc +2403 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/README.rdoc +155 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/exe/rake +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake.rb +71 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/rake.gemspec +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/LICENSE.md +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/README.md +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.yardopts +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/Changelog.md +2360 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/LICENSE.md +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/README.md +384 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/exe/rspec +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/autorun.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/backtrace_formatter.rb +65 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/coordinator.rb +62 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/example_minimizer.rb +173 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/fork_runner.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/server.rb +61 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_command.rb +126 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_runner.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/utilities.rb +69 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb +2385 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration_options.rb +233 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/did_you_mean.rb +46 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/drb.rb +120 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/dsl.rb +98 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example.rb +666 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb +905 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_status_persister.rb +235 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/filter_manager.rb +231 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/flat_map.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/console_codes.rb +76 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/exception_presenter.rb +525 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/helpers.rb +118 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_printer.rb +412 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/json_formatter.rb +102 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/protocol.rb +182 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters.rb +279 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb +646 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/invocations.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/memoized_helpers.rb +580 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata.rb +498 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata_filter.rb +255 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/notifications.rb +521 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/option_parser.rb +323 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb +169 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/output_wrapper.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/pending.rb +157 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/profiler.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/.rspec +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/rake_task.rb +188 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb +265 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ruby_project.rb +53 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/sandbox.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/set.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_context.rb +55 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_example_group.rb +271 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shell_escape.rb +49 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/version.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/warnings.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/world.rb +287 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.yardopts +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/Changelog.md +1285 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/LICENSE.md +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/README.md +320 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/configuration.rb +230 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/expectation_target.rb +163 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/fail_with.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/failure_aggregator.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/handler.rb +182 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/minitest_integration.rb +58 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/syntax.rb +132 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/version.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/all.rb +86 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be.rb +191 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/change.rb +450 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/compound.rb +290 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eq.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/exist.rb +90 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/has.rb +167 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/include.rb +206 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/match.rb +106 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/operators.rb +128 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/output.rb +207 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/raise_error.rb +271 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/respond_to.rb +200 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/yield.rb +375 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in.rb +53 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/composable.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/dsl.rb +544 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/english_phrasing.rb +58 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/generated_descriptions.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_protocol.rb +105 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers.rb +1044 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.yardopts +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/Changelog.md +1212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/LICENSE.md +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/README.md +463 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/chain.rb +111 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/recorder.rb +295 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_list_matcher.rb +115 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_matchers.rb +322 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/configuration.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/error_generator.rb +380 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/example_methods.rb +434 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/have_received.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive.rb +133 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_chain.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_expectation.rb +820 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_double.rb +291 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_reference.rb +214 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/minitest_integration.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/mutate_const.rb +339 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/object_reference.rb +149 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/order_group.rb +81 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/proxy.rb +525 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/space.rb +238 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/standalone.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/syntax.rb +325 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/targets.rb +124 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/test_double.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_double.rb +121 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/version.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks.rb +133 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/Changelog.md +364 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/LICENSE.md +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/README.md +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/caller_filter.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/comparable_version.rb +46 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/differ.rb +215 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/directory_maker.rb +63 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/encoded_string.rb +161 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/hunk_generator.rb +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/matcher_definition.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/method_signature_verifier.rb +438 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/mutex.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/object_formatter.rb +275 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/reentrant_mutex.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/ruby_features.rb +198 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/location.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/node.rb +110 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/token.rb +94 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source.rb +85 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/diff_helpers.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/in_sub_process.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/shell_out.rb +105 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/stderr_splitter.rb +75 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/string_matcher.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/version.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/warnings.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/with_keywords_when_needed.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support.rb +154 -0
- data/vendor/bundle/ruby/2.6.0/specifications/diff-lcs-1.5.0.gemspec +50 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rake-13.0.6.gemspec +26 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-3.12.0.gemspec +39 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-core-3.12.0.gemspec +53 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-expectations-3.12.0.gemspec +44 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-mocks-3.12.0.gemspec +44 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-support-3.12.0.gemspec +36 -0
- metadata +419 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Core
|
|
3
|
+
# @private
|
|
4
|
+
class Profiler
|
|
5
|
+
NOTIFICATIONS = [:example_group_started, :example_group_finished, :example_started]
|
|
6
|
+
|
|
7
|
+
def initialize
|
|
8
|
+
@example_groups = Hash.new { |h, k| h[k] = { :count => 0 } }
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
attr_reader :example_groups
|
|
12
|
+
|
|
13
|
+
def example_group_started(notification)
|
|
14
|
+
return unless notification.group.top_level?
|
|
15
|
+
|
|
16
|
+
@example_groups[notification.group][:start] = Time.now
|
|
17
|
+
@example_groups[notification.group][:description] = notification.group.top_level_description
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def example_group_finished(notification)
|
|
21
|
+
return unless notification.group.top_level?
|
|
22
|
+
|
|
23
|
+
group = @example_groups[notification.group]
|
|
24
|
+
return unless group.key?(:start)
|
|
25
|
+
group[:total_time] = Time.now - group[:start]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def example_started(notification)
|
|
29
|
+
group = notification.example.example_group.parent_groups.last
|
|
30
|
+
@example_groups[group][:count] += 1
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--require spec_helper
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
|
2
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
|
3
|
+
# The generated `.rspec` file contains `--require spec_helper` which will cause
|
|
4
|
+
# this file to always be loaded, without a need to explicitly require it in any
|
|
5
|
+
# files.
|
|
6
|
+
#
|
|
7
|
+
# Given that it is always loaded, you are encouraged to keep this file as
|
|
8
|
+
# light-weight as possible. Requiring heavyweight dependencies from this file
|
|
9
|
+
# will add to the boot time of your test suite on EVERY test run, even for an
|
|
10
|
+
# individual file that may not need all of that loaded. Instead, consider making
|
|
11
|
+
# a separate helper file that requires the additional dependencies and performs
|
|
12
|
+
# the additional setup, and require it from the spec files that actually need
|
|
13
|
+
# it.
|
|
14
|
+
#
|
|
15
|
+
# See https://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
|
16
|
+
RSpec.configure do |config|
|
|
17
|
+
# rspec-expectations config goes here. You can use an alternate
|
|
18
|
+
# assertion/expectation library such as wrong or the stdlib/minitest
|
|
19
|
+
# assertions if you prefer.
|
|
20
|
+
config.expect_with :rspec do |expectations|
|
|
21
|
+
# This option will default to `true` in RSpec 4. It makes the `description`
|
|
22
|
+
# and `failure_message` of custom matchers include text for helper methods
|
|
23
|
+
# defined using `chain`, e.g.:
|
|
24
|
+
# be_bigger_than(2).and_smaller_than(4).description
|
|
25
|
+
# # => "be bigger than 2 and smaller than 4"
|
|
26
|
+
# ...rather than:
|
|
27
|
+
# # => "be bigger than 2"
|
|
28
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# rspec-mocks config goes here. You can use an alternate test double
|
|
32
|
+
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
|
33
|
+
config.mock_with :rspec do |mocks|
|
|
34
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
|
35
|
+
# a real object. This is generally recommended, and will default to
|
|
36
|
+
# `true` in RSpec 4.
|
|
37
|
+
mocks.verify_partial_doubles = true
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# This option will default to `:apply_to_host_groups` in RSpec 4 (and will
|
|
41
|
+
# have no way to turn it off -- the option exists only for backwards
|
|
42
|
+
# compatibility in RSpec 3). It causes shared context metadata to be
|
|
43
|
+
# inherited by the metadata hash of host groups and examples, rather than
|
|
44
|
+
# triggering implicit auto-inclusion in groups with matching metadata.
|
|
45
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
|
46
|
+
|
|
47
|
+
# The settings below are suggested to provide a good initial experience
|
|
48
|
+
# with RSpec, but feel free to customize to your heart's content.
|
|
49
|
+
=begin
|
|
50
|
+
# This allows you to limit a spec run to individual examples or groups
|
|
51
|
+
# you care about by tagging them with `:focus` metadata. When nothing
|
|
52
|
+
# is tagged with `:focus`, all examples get run. RSpec also provides
|
|
53
|
+
# aliases for `it`, `describe`, and `context` that include `:focus`
|
|
54
|
+
# metadata: `fit`, `fdescribe` and `fcontext`, respectively.
|
|
55
|
+
config.filter_run_when_matching :focus
|
|
56
|
+
|
|
57
|
+
# Allows RSpec to persist some state between runs in order to support
|
|
58
|
+
# the `--only-failures` and `--next-failure` CLI options. We recommend
|
|
59
|
+
# you configure your source control system to ignore this file.
|
|
60
|
+
config.example_status_persistence_file_path = "spec/examples.txt"
|
|
61
|
+
|
|
62
|
+
# Limits the available syntax to the non-monkey patched syntax that is
|
|
63
|
+
# recommended. For more details, see:
|
|
64
|
+
# https://relishapp.com/rspec/rspec-core/docs/configuration/zero-monkey-patching-mode
|
|
65
|
+
config.disable_monkey_patching!
|
|
66
|
+
|
|
67
|
+
# This setting enables warnings. It's recommended, but in some cases may
|
|
68
|
+
# be too noisy due to issues in dependencies.
|
|
69
|
+
config.warnings = true
|
|
70
|
+
|
|
71
|
+
# Many RSpec users commonly either run the entire suite or an individual
|
|
72
|
+
# file, and it's useful to allow more verbose output when running an
|
|
73
|
+
# individual spec file.
|
|
74
|
+
if config.files_to_run.one?
|
|
75
|
+
# Use the documentation formatter for detailed output,
|
|
76
|
+
# unless a formatter has already been configured
|
|
77
|
+
# (e.g. via a command-line flag).
|
|
78
|
+
config.default_formatter = "doc"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Print the 10 slowest examples and example groups at the
|
|
82
|
+
# end of the spec run, to help surface which specs are running
|
|
83
|
+
# particularly slow.
|
|
84
|
+
config.profile_examples = 10
|
|
85
|
+
|
|
86
|
+
# Run specs in random order to surface order dependencies. If you find an
|
|
87
|
+
# order dependency and want to debug it, you can fix the order by providing
|
|
88
|
+
# the seed, which is printed after each run.
|
|
89
|
+
# --seed 1234
|
|
90
|
+
config.order = :random
|
|
91
|
+
|
|
92
|
+
# Seed global randomization in this process using the `--seed` CLI option.
|
|
93
|
+
# Setting this allows you to use `--seed` to deterministically reproduce
|
|
94
|
+
# test failures related to randomization by passing the same `--seed` value
|
|
95
|
+
# as the one that triggered the failure.
|
|
96
|
+
Kernel.srand config.seed
|
|
97
|
+
=end
|
|
98
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
RSpec::Support.require_rspec_support "directory_maker"
|
|
2
|
+
|
|
3
|
+
module RSpec
|
|
4
|
+
module Core
|
|
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'
|
|
11
|
+
SPEC_HELPER_FILE = 'spec/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
|
+
RSpec::Support::DirectoryMaker.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,188 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rake/tasklib'
|
|
3
|
+
require 'rspec/support'
|
|
4
|
+
|
|
5
|
+
RSpec::Support.require_rspec_support "ruby_features"
|
|
6
|
+
|
|
7
|
+
# :nocov:
|
|
8
|
+
unless RSpec::Support.respond_to?(:require_rspec_core)
|
|
9
|
+
RSpec::Support.define_optimized_require_for_rspec(:core) { |f| require_relative "../#{f}" }
|
|
10
|
+
end
|
|
11
|
+
# :nocov:
|
|
12
|
+
|
|
13
|
+
RSpec::Support.require_rspec_core "shell_escape"
|
|
14
|
+
|
|
15
|
+
module RSpec
|
|
16
|
+
module Core
|
|
17
|
+
# RSpec rake task
|
|
18
|
+
#
|
|
19
|
+
# @see Rakefile
|
|
20
|
+
class RakeTask < ::Rake::TaskLib
|
|
21
|
+
include ::Rake::DSL if defined?(::Rake::DSL)
|
|
22
|
+
include RSpec::Core::ShellEscape
|
|
23
|
+
|
|
24
|
+
# Default path to the RSpec executable.
|
|
25
|
+
DEFAULT_RSPEC_PATH = File.expand_path('../../../../exe/rspec', __FILE__)
|
|
26
|
+
|
|
27
|
+
# Default pattern for spec files.
|
|
28
|
+
DEFAULT_PATTERN = 'spec/**{,/*/**}/*_spec.rb'
|
|
29
|
+
|
|
30
|
+
# Name of task. Defaults to `:spec`.
|
|
31
|
+
attr_accessor :name
|
|
32
|
+
|
|
33
|
+
# Files matching this pattern will be loaded.
|
|
34
|
+
# Defaults to `'spec/**{,/*/**}/*_spec.rb'`.
|
|
35
|
+
attr_accessor :pattern
|
|
36
|
+
|
|
37
|
+
# Files matching this pattern will be excluded.
|
|
38
|
+
# Defaults to `nil`.
|
|
39
|
+
attr_accessor :exclude_pattern
|
|
40
|
+
|
|
41
|
+
# Whether or not to fail Rake when an error occurs (typically when
|
|
42
|
+
# examples fail). Defaults to `true`.
|
|
43
|
+
attr_accessor :fail_on_error
|
|
44
|
+
|
|
45
|
+
# A message to print to stderr when there are failures.
|
|
46
|
+
attr_accessor :failure_message
|
|
47
|
+
|
|
48
|
+
if RUBY_VERSION < "1.9.0" || Support::Ruby.jruby?
|
|
49
|
+
# Run RSpec with a clean (empty) environment is not supported
|
|
50
|
+
def with_clean_environment=(_value)
|
|
51
|
+
raise ArgumentError, "Running in a clean environment is not supported on Ruby versions before 1.9.0"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Run RSpec with a clean (empty) environment is not supported
|
|
55
|
+
def with_clean_environment
|
|
56
|
+
false
|
|
57
|
+
end
|
|
58
|
+
else
|
|
59
|
+
# Run RSpec with a clean (empty) environment.
|
|
60
|
+
attr_accessor :with_clean_environment
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Use verbose output. If this is set to true, the task will print the
|
|
64
|
+
# executed spec command to stdout. Defaults to `true`.
|
|
65
|
+
attr_accessor :verbose
|
|
66
|
+
|
|
67
|
+
# Command line options to pass to ruby. Defaults to `nil`.
|
|
68
|
+
attr_accessor :ruby_opts
|
|
69
|
+
|
|
70
|
+
# Path to RSpec. Defaults to the absolute path to the
|
|
71
|
+
# rspec binary from the loaded rspec-core gem.
|
|
72
|
+
attr_accessor :rspec_path
|
|
73
|
+
|
|
74
|
+
# Command line options to pass to RSpec. Defaults to `nil`.
|
|
75
|
+
attr_accessor :rspec_opts
|
|
76
|
+
|
|
77
|
+
def initialize(*args, &task_block)
|
|
78
|
+
@name = args.shift || :spec
|
|
79
|
+
@ruby_opts = nil
|
|
80
|
+
@rspec_opts = nil
|
|
81
|
+
@verbose = true
|
|
82
|
+
@fail_on_error = true
|
|
83
|
+
@rspec_path = DEFAULT_RSPEC_PATH
|
|
84
|
+
@pattern = DEFAULT_PATTERN
|
|
85
|
+
|
|
86
|
+
define(args, &task_block)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# @private
|
|
90
|
+
def run_task(verbose)
|
|
91
|
+
command = spec_command
|
|
92
|
+
puts command if verbose
|
|
93
|
+
|
|
94
|
+
if with_clean_environment
|
|
95
|
+
return if system({}, command, :unsetenv_others => true)
|
|
96
|
+
else
|
|
97
|
+
return if system(command)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
puts failure_message if failure_message
|
|
101
|
+
|
|
102
|
+
return unless fail_on_error
|
|
103
|
+
$stderr.puts "#{command} failed" if verbose
|
|
104
|
+
exit $?.exitstatus || 1
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
private
|
|
108
|
+
|
|
109
|
+
# @private
|
|
110
|
+
def define(args, &task_block)
|
|
111
|
+
desc "Run RSpec code examples" unless ::Rake.application.last_description
|
|
112
|
+
|
|
113
|
+
task name, *args do |_, task_args|
|
|
114
|
+
RakeFileUtils.__send__(:verbose, verbose) do
|
|
115
|
+
task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
|
|
116
|
+
run_task verbose
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def file_inclusion_specification
|
|
122
|
+
if ENV['SPEC']
|
|
123
|
+
FileList[ENV['SPEC']].sort
|
|
124
|
+
elsif String === pattern && !File.exist?(pattern)
|
|
125
|
+
return if [*rspec_opts].any? { |opt| opt =~ /--pattern/ }
|
|
126
|
+
"--pattern #{escape pattern}"
|
|
127
|
+
else
|
|
128
|
+
# Before RSpec 3.1, we used `FileList` to get the list of matched
|
|
129
|
+
# files, and then pass that along to the `rspec` command. Starting
|
|
130
|
+
# with 3.1, we prefer to pass along the pattern as-is to the `rspec`
|
|
131
|
+
# command, for 3 reasons:
|
|
132
|
+
#
|
|
133
|
+
# * It's *much* less verbose to pass one `--pattern` option than a
|
|
134
|
+
# long list of files.
|
|
135
|
+
# * It ensures `task.pattern` and `--pattern` have the same
|
|
136
|
+
# behavior.
|
|
137
|
+
# * It fixes a bug, where
|
|
138
|
+
# `task.pattern = pattern_that_matches_no_files` would run *all*
|
|
139
|
+
# files because it would cause no pattern or file args to get
|
|
140
|
+
# passed to `rspec`, which causes all files to get run.
|
|
141
|
+
#
|
|
142
|
+
# However, `FileList` is *far* more flexible than the `--pattern`
|
|
143
|
+
# option. Specifically, it supports individual files and directories,
|
|
144
|
+
# as well as arrays of files, directories and globs, as well as other
|
|
145
|
+
# `FileList` objects.
|
|
146
|
+
#
|
|
147
|
+
# For backwards compatibility, we have to fall back to using FileList
|
|
148
|
+
# if the user has passed a `pattern` option that will not work with
|
|
149
|
+
# `--pattern`.
|
|
150
|
+
#
|
|
151
|
+
# TODO: consider deprecating support for this and removing it in
|
|
152
|
+
# RSpec 4.
|
|
153
|
+
FileList[pattern].sort.map { |file| escape file }
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def file_exclusion_specification
|
|
158
|
+
" --exclude-pattern #{escape exclude_pattern}" if exclude_pattern
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def spec_command
|
|
162
|
+
cmd_parts = []
|
|
163
|
+
cmd_parts << RUBY
|
|
164
|
+
cmd_parts << ruby_opts
|
|
165
|
+
cmd_parts << rspec_load_path
|
|
166
|
+
cmd_parts << escape(rspec_path)
|
|
167
|
+
cmd_parts << file_inclusion_specification
|
|
168
|
+
cmd_parts << file_exclusion_specification
|
|
169
|
+
cmd_parts << rspec_opts
|
|
170
|
+
cmd_parts.flatten.reject(&blank).join(" ")
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
def blank
|
|
174
|
+
lambda { |s| s.nil? || s == "" }
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
def rspec_load_path
|
|
178
|
+
@rspec_load_path ||= begin
|
|
179
|
+
core_and_support = $LOAD_PATH.grep(
|
|
180
|
+
/#{File::SEPARATOR}rspec-(core|support)[^#{File::SEPARATOR}]*#{File::SEPARATOR}lib/
|
|
181
|
+
).uniq
|
|
182
|
+
|
|
183
|
+
"-I#{core_and_support.map { |file| escape file }.join(File::PATH_SEPARATOR)}"
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
end
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
module RSpec::Core
|
|
2
|
+
# A reporter will send notifications to listeners, usually formatters for the
|
|
3
|
+
# spec suite run.
|
|
4
|
+
class Reporter
|
|
5
|
+
# @private
|
|
6
|
+
RSPEC_NOTIFICATIONS = Set.new(
|
|
7
|
+
[
|
|
8
|
+
:close, :deprecation, :deprecation_summary, :dump_failures, :dump_pending,
|
|
9
|
+
:dump_profile, :dump_summary, :example_failed, :example_group_finished,
|
|
10
|
+
:example_group_started, :example_passed, :example_pending, :example_started,
|
|
11
|
+
:message, :seed, :start, :start_dump, :stop, :example_finished
|
|
12
|
+
])
|
|
13
|
+
|
|
14
|
+
def initialize(configuration)
|
|
15
|
+
@configuration = configuration
|
|
16
|
+
@listeners = Hash.new { |h, k| h[k] = Set.new }
|
|
17
|
+
@examples = []
|
|
18
|
+
@failed_examples = []
|
|
19
|
+
@pending_examples = []
|
|
20
|
+
@duration = @start = @load_time = nil
|
|
21
|
+
@non_example_exception_count = 0
|
|
22
|
+
@setup_default = lambda {}
|
|
23
|
+
@setup = false
|
|
24
|
+
@profiler = nil
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# @private
|
|
28
|
+
attr_reader :examples, :failed_examples, :pending_examples
|
|
29
|
+
|
|
30
|
+
# Registers a listener to a list of notifications. The reporter will send
|
|
31
|
+
# notification of events to all registered listeners.
|
|
32
|
+
#
|
|
33
|
+
# @param listener [Object] An obect that wishes to be notified of reporter
|
|
34
|
+
# events
|
|
35
|
+
# @param notifications [Array] Array of symbols represents the events a
|
|
36
|
+
# listener wishes to subscribe too
|
|
37
|
+
def register_listener(listener, *notifications)
|
|
38
|
+
notifications.each do |notification|
|
|
39
|
+
@listeners[notification.to_sym] << listener
|
|
40
|
+
end
|
|
41
|
+
true
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# @private
|
|
45
|
+
def prepare_default(loader, output_stream, deprecation_stream)
|
|
46
|
+
@setup_default = lambda do
|
|
47
|
+
loader.setup_default output_stream, deprecation_stream
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# @private
|
|
52
|
+
def registered_listeners(notification)
|
|
53
|
+
@listeners[notification].to_a
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# @overload report(count, &block)
|
|
57
|
+
# @overload report(count, &block)
|
|
58
|
+
# @param expected_example_count [Integer] the number of examples being run
|
|
59
|
+
# @yield [Block] block yields itself for further reporting.
|
|
60
|
+
#
|
|
61
|
+
# Initializes the report run and yields itself for further reporting. The
|
|
62
|
+
# block is required, so that the reporter can manage cleaning up after the
|
|
63
|
+
# run.
|
|
64
|
+
#
|
|
65
|
+
# @example
|
|
66
|
+
#
|
|
67
|
+
# reporter.report(group.examples.size) do |r|
|
|
68
|
+
# example_groups.map {|g| g.run(r) }
|
|
69
|
+
# end
|
|
70
|
+
#
|
|
71
|
+
def report(expected_example_count)
|
|
72
|
+
start(expected_example_count)
|
|
73
|
+
begin
|
|
74
|
+
yield self
|
|
75
|
+
ensure
|
|
76
|
+
finish
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# @param exit_code [Integer] the exit_code to be return by the reporter
|
|
81
|
+
#
|
|
82
|
+
# Reports a run that exited early without having run any examples.
|
|
83
|
+
#
|
|
84
|
+
def exit_early(exit_code)
|
|
85
|
+
report(0) { exit_code }
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# @private
|
|
89
|
+
def start(expected_example_count, time=RSpec::Core::Time.now)
|
|
90
|
+
@start = time
|
|
91
|
+
@load_time = (@start - @configuration.start_time).to_f
|
|
92
|
+
notify :seed, Notifications::SeedNotification.new(@configuration.seed, seed_used?)
|
|
93
|
+
notify :start, Notifications::StartNotification.new(expected_example_count, @load_time)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# @param message [#to_s] A message object to send to formatters
|
|
97
|
+
#
|
|
98
|
+
# Send a custom message to supporting formatters.
|
|
99
|
+
def message(message)
|
|
100
|
+
notify :message, Notifications::MessageNotification.new(message)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @param event [Symbol] Name of the custom event to trigger on formatters
|
|
104
|
+
# @param options [Hash] Hash of arguments to provide via `CustomNotification`
|
|
105
|
+
#
|
|
106
|
+
# Publish a custom event to supporting registered formatters.
|
|
107
|
+
# @see RSpec::Core::Notifications::CustomNotification
|
|
108
|
+
def publish(event, options={})
|
|
109
|
+
if RSPEC_NOTIFICATIONS.include? event
|
|
110
|
+
raise "RSpec::Core::Reporter#publish is intended for sending custom " \
|
|
111
|
+
"events not internal RSpec ones, please rename your custom event."
|
|
112
|
+
end
|
|
113
|
+
notify event, Notifications::CustomNotification.for(options)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
# @private
|
|
117
|
+
def example_group_started(group)
|
|
118
|
+
notify :example_group_started, Notifications::GroupNotification.new(group) unless group.descendant_filtered_examples.empty?
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# @private
|
|
122
|
+
def example_group_finished(group)
|
|
123
|
+
notify :example_group_finished, Notifications::GroupNotification.new(group) unless group.descendant_filtered_examples.empty?
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# @private
|
|
127
|
+
def example_started(example)
|
|
128
|
+
@examples << example
|
|
129
|
+
notify :example_started, Notifications::ExampleNotification.for(example)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# @private
|
|
133
|
+
def example_finished(example)
|
|
134
|
+
notify :example_finished, Notifications::ExampleNotification.for(example)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# @private
|
|
138
|
+
def example_passed(example)
|
|
139
|
+
notify :example_passed, Notifications::ExampleNotification.for(example)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# @private
|
|
143
|
+
def example_failed(example)
|
|
144
|
+
@failed_examples << example
|
|
145
|
+
notify :example_failed, Notifications::ExampleNotification.for(example)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# @private
|
|
149
|
+
def example_pending(example)
|
|
150
|
+
@pending_examples << example
|
|
151
|
+
notify :example_pending, Notifications::ExampleNotification.for(example)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# @private
|
|
155
|
+
def deprecation(hash)
|
|
156
|
+
notify :deprecation, Notifications::DeprecationNotification.from_hash(hash)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# @private
|
|
160
|
+
# Provides a way to notify of an exception that is not tied to any
|
|
161
|
+
# particular example (such as an exception encountered in a :suite hook).
|
|
162
|
+
# Exceptions will be formatted the same way they normally are.
|
|
163
|
+
def notify_non_example_exception(exception, context_description)
|
|
164
|
+
@configuration.world.non_example_failure = true
|
|
165
|
+
@non_example_exception_count += 1
|
|
166
|
+
|
|
167
|
+
example = Example.new(AnonymousExampleGroup, context_description, {})
|
|
168
|
+
presenter = Formatters::ExceptionPresenter.new(exception, example, :indentation => 0)
|
|
169
|
+
message presenter.fully_formatted(nil)
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# @private
|
|
173
|
+
def finish
|
|
174
|
+
close_after do
|
|
175
|
+
stop
|
|
176
|
+
notify :start_dump, Notifications::NullNotification
|
|
177
|
+
notify :dump_pending, Notifications::ExamplesNotification.new(self)
|
|
178
|
+
notify :dump_failures, Notifications::ExamplesNotification.new(self)
|
|
179
|
+
notify :deprecation_summary, Notifications::NullNotification
|
|
180
|
+
unless mute_profile_output?
|
|
181
|
+
notify :dump_profile, Notifications::ProfileNotification.new(@duration, @examples,
|
|
182
|
+
@configuration.profile_examples,
|
|
183
|
+
@profiler.example_groups)
|
|
184
|
+
end
|
|
185
|
+
notify :dump_summary, Notifications::SummaryNotification.new(@duration, @examples, @failed_examples,
|
|
186
|
+
@pending_examples, @load_time,
|
|
187
|
+
@non_example_exception_count)
|
|
188
|
+
notify :seed, Notifications::SeedNotification.new(@configuration.seed, seed_used?)
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
# @private
|
|
193
|
+
def close_after
|
|
194
|
+
yield
|
|
195
|
+
ensure
|
|
196
|
+
close
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
# @private
|
|
200
|
+
def stop
|
|
201
|
+
@duration = (RSpec::Core::Time.now - @start).to_f if @start
|
|
202
|
+
notify :stop, Notifications::ExamplesNotification.new(self)
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
# @private
|
|
206
|
+
def notify(event, notification)
|
|
207
|
+
ensure_listeners_ready
|
|
208
|
+
registered_listeners(event).each do |formatter|
|
|
209
|
+
formatter.__send__(event, notification)
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
# @private
|
|
214
|
+
def abort_with(msg, exit_status)
|
|
215
|
+
message(msg)
|
|
216
|
+
close
|
|
217
|
+
exit!(exit_status)
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
# @private
|
|
221
|
+
def fail_fast_limit_met?
|
|
222
|
+
return false unless (fail_fast = @configuration.fail_fast)
|
|
223
|
+
|
|
224
|
+
if fail_fast == true
|
|
225
|
+
@failed_examples.any?
|
|
226
|
+
else
|
|
227
|
+
fail_fast <= @failed_examples.size
|
|
228
|
+
end
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
private
|
|
232
|
+
|
|
233
|
+
def ensure_listeners_ready
|
|
234
|
+
return if @setup
|
|
235
|
+
|
|
236
|
+
@setup_default.call
|
|
237
|
+
@profiler = Profiler.new
|
|
238
|
+
register_listener @profiler, *Profiler::NOTIFICATIONS
|
|
239
|
+
@setup = true
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
def close
|
|
243
|
+
notify :close, Notifications::NullNotification
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
def mute_profile_output?
|
|
247
|
+
# Don't print out profiled info if there are failures and `--fail-fast` is
|
|
248
|
+
# used, it just clutters the output.
|
|
249
|
+
!@configuration.profile_examples? || fail_fast_limit_met?
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
def seed_used?
|
|
253
|
+
@configuration.seed && @configuration.seed_used?
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
# @private
|
|
258
|
+
# # Used in place of a {Reporter} for situations where we don't want reporting output.
|
|
259
|
+
class NullReporter
|
|
260
|
+
def self.method_missing(*)
|
|
261
|
+
# ignore
|
|
262
|
+
end
|
|
263
|
+
private_class_method :method_missing
|
|
264
|
+
end
|
|
265
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# This is borrowed (slightly modified) from Scott Taylor's
|
|
2
|
+
# project_path project:
|
|
3
|
+
# http://github.com/smtlaissezfaire/project_path
|
|
4
|
+
module RSpec
|
|
5
|
+
module Core
|
|
6
|
+
# @private
|
|
7
|
+
module RubyProject
|
|
8
|
+
def add_to_load_path(*dirs)
|
|
9
|
+
dirs.each { |dir| add_dir_to_load_path(File.join(root, dir)) }
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def add_dir_to_load_path(dir)
|
|
13
|
+
$LOAD_PATH.unshift(dir) unless $LOAD_PATH.include?(dir)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def root
|
|
17
|
+
@project_root ||= determine_root
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def determine_root
|
|
21
|
+
find_first_parent_containing('spec') || '.'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def find_first_parent_containing(dir)
|
|
25
|
+
ascend_until { |path| File.exist?(File.join(path, dir)) }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def ascend_until
|
|
29
|
+
fs = File::SEPARATOR
|
|
30
|
+
escaped_slash = "\\#{fs}"
|
|
31
|
+
special = "_RSPEC_ESCAPED_SLASH_"
|
|
32
|
+
project_path = File.expand_path(".")
|
|
33
|
+
parts = project_path.gsub(escaped_slash, special).squeeze(fs).split(fs).map do |x|
|
|
34
|
+
x.gsub(special, escaped_slash)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
until parts.empty?
|
|
38
|
+
path = parts.join(fs)
|
|
39
|
+
path = fs if path == ""
|
|
40
|
+
return path if yield(path)
|
|
41
|
+
parts.pop
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
module_function :add_to_load_path
|
|
46
|
+
module_function :add_dir_to_load_path
|
|
47
|
+
module_function :root
|
|
48
|
+
module_function :determine_root
|
|
49
|
+
module_function :find_first_parent_containing
|
|
50
|
+
module_function :ascend_until
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|