win32-api 1.4.8 → 1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGES +212 -144
- data/Dockerfile +99 -0
- data/Dockerfile.trunk +17 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +24 -0
- data/MANIFEST +9 -9
- data/{README → README.md} +136 -106
- data/RELEASE.md +32 -0
- data/Rakefile +261 -128
- data/appveyor.yml +46 -0
- data/build-gem.bat +3 -0
- data/ext/Makefile +267 -0
- data/ext/api-x64-mingw32.def +2 -0
- data/ext/api.o +0 -0
- data/ext/api.so +0 -0
- data/ext/extconf.rb +15 -11
- data/ext/mkmf.log +38 -0
- data/ext/win32/api.c +1102 -949
- data/ext/win32/api.so +0 -0
- data/test.rb +10 -0
- data/test/test_win32_api.rb +145 -148
- data/test/test_win32_api_callback.rb +74 -74
- data/test/test_win32_api_function.rb +66 -66
- data/vendor/bundle/ruby/2.5.0/bin/rake +27 -0
- data/vendor/bundle/ruby/2.5.0/bin/rake-compiler-dock +27 -0
- data/vendor/bundle/ruby/2.5.0/bin/rake-compiler-dock.bat +6 -0
- data/vendor/bundle/ruby/2.5.0/bin/rake.bat +6 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/BSDL +22 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/COPYING +57 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/Gemfile +9 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/LEGAL +4 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/README.rdoc +81 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/Rakefile +59 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/bin/console +12 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/bin/setup +6 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert.rb +98 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/colorize.rb +9 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/configuration.rb +46 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/context.rb +235 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/enable_tracepoint_events.rb +91 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/inspector.rb +61 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/parser.rb +251 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/version.rb +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/power_assert.gemspec +31 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/BSDL +22 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/COPYING +57 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/Gemfile +9 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/LEGAL +4 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/README.rdoc +81 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/Rakefile +59 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/bin/console +12 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/bin/setup +6 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert.rb +98 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/colorize.rb +9 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/configuration.rb +46 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/context.rb +238 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/enable_tracepoint_events.rb +91 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/inspector.rb +61 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/parser.rb +251 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/version.rb +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/power_assert.gemspec +31 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/Gemfile +10 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/History.rdoc +2368 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/README.rdoc +155 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/Rakefile +41 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/bundle +105 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/console +7 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/rake +29 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/rdoc +29 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/rubocop +29 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/setup +6 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/exe/rake +27 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake.rb +71 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/application.rb +824 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task.rb +434 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/rake.gemspec +43 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Dockerfile.jruby +61 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Dockerfile.mri +122 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Gemfile +8 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/History.md +130 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/README.md +162 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Rakefile +36 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/bin/rake-compiler-dock +18 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/mk_i686.rb +16 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/patches/rake-compiler-1.0.7/enable-static.diff +13 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/patches/ruby-2.5.3/no_sendfile.patch +24 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/runas +12 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/sigfw.c +45 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/strip_wrapper +30 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/sudoers +1 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock.rb +66 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/colors.rb +43 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/docker_check.rb +350 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/gem_helper.rb +73 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/predefined_user_group.rb +5 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/starter.rb +155 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/version.rb +4 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/rake-compiler-dock.gemspec +28 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/test/test_environment_variables.rb +54 -0
- data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/test/test_starter.rb +33 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/COPYING +67 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/GPL +339 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/LGPL +502 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/PSFL +271 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/README.md +101 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/Rakefile +80 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/doc/text/getting-started.md +246 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/doc/text/how-to.md +90 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/doc/text/news.md +1453 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test-unit.rb +34 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit.rb +514 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/assertion-failed-error.rb +25 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/assertions.rb +2256 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/attribute-matcher.rb +26 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/attribute.rb +227 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/auto-runner-loader.rb +17 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/autorunner.rb +537 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/code-snippet-fetcher.rb +56 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector.rb +73 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/descendant.rb +19 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/dir.rb +108 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/load.rb +197 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/objectspace.rb +34 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/xml.rb +249 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/color-scheme.rb +198 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/color.rb +134 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/data-sets.rb +116 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/data.rb +371 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/diff.rb +746 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/error.rb +158 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/exception-handler.rb +82 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/failure.rb +169 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/fault-location-detector.rb +100 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/fixture.rb +298 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/notification.rb +138 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/omission.rb +198 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/pending.rb +155 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/priority.rb +196 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/runner/console.rb +84 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/runner/emacs.rb +8 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/runner/xml.rb +15 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/test-suite-creator.rb +103 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/testcase.rb +899 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/testresult.rb +132 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/testsuite.rb +175 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/console/outputlevel.rb +15 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/console/testrunner.rb +750 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/emacs/testrunner.rb +49 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/testrunner.rb +53 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/testrunnermediator.rb +114 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/xml/testrunner.rb +224 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/backtracefilter.rb +59 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/observable.rb +90 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/output.rb +32 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/procwrapper.rb +48 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/version.rb +5 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/adder.rb +13 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/subtracter.rb +12 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/test_adder.rb +20 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/test_subtracter.rb +20 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/test_user.rb +23 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test-descendant.rb +182 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test-load.rb +475 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test_dir.rb +407 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test_objectspace.rb +102 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header-label.csv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header-label.tsv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header.csv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header.tsv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/no-header.csv +2 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/no-header.tsv +2 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/plus.csv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/run-test.rb +22 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-assertions.rb +2187 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-attribute-matcher.rb +38 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-attribute.rb +123 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-code-snippet.rb +79 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-color-scheme.rb +82 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-color.rb +47 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-data.rb +419 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-diff.rb +518 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-emacs-runner.rb +60 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-error.rb +26 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-failure.rb +33 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-fault-location-detector.rb +163 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-fixture.rb +713 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-notification.rb +33 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-omission.rb +81 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-pending.rb +70 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-priority.rb +184 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-case.rb +1279 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-result.rb +113 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-suite-creator.rb +97 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-suite.rb +151 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/testunit-test-util.rb +33 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/ui/test_testrunmediator.rb +20 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test-method-owner-finder.rb +38 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test-output.rb +11 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test_backtracefilter.rb +52 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test_observable.rb +102 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test_procwrapper.rb +36 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/COPYING +67 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/GPL +339 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/LGPL +502 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/PSFL +271 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/README.md +101 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/Rakefile +80 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/doc/text/getting-started.md +246 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/doc/text/how-to.md +90 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/doc/text/news.md +1464 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test-unit.rb +34 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit.rb +514 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/assertion-failed-error.rb +25 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/assertions.rb +2256 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/attribute-matcher.rb +26 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/attribute.rb +227 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/auto-runner-loader.rb +17 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb +537 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb +58 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector.rb +73 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/descendant.rb +19 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/dir.rb +108 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/load.rb +197 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/objectspace.rb +34 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/xml.rb +249 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/color-scheme.rb +198 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/color.rb +134 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/data-sets.rb +116 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/data.rb +371 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/diff.rb +746 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/error.rb +158 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/exception-handler.rb +82 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/failure.rb +169 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/fault-location-detector.rb +100 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb +298 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/notification.rb +138 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/omission.rb +198 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/pending.rb +155 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/priority.rb +196 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/runner/console.rb +84 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/runner/emacs.rb +8 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/runner/xml.rb +15 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/test-suite-creator.rb +103 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb +899 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/testresult.rb +132 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb +175 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/outputlevel.rb +15 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb +750 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/emacs/testrunner.rb +49 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb +53 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb +114 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/xml/testrunner.rb +224 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/backtracefilter.rb +59 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb +90 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/output.rb +32 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/procwrapper.rb +48 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/version.rb +5 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/adder.rb +13 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/subtracter.rb +12 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/test_adder.rb +20 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/test_subtracter.rb +20 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/test_user.rb +23 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test-descendant.rb +182 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test-load.rb +475 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test_dir.rb +407 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test_objectspace.rb +102 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header-label.csv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header-label.tsv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header.csv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header.tsv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/no-header.csv +2 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/no-header.tsv +2 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/plus.csv +3 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/run-test.rb +22 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-assertions.rb +2187 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-attribute-matcher.rb +38 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-attribute.rb +123 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-code-snippet.rb +79 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-color-scheme.rb +82 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-color.rb +47 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-data.rb +419 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-diff.rb +518 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-emacs-runner.rb +60 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-error.rb +26 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-failure.rb +33 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-fault-location-detector.rb +163 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-fixture.rb +713 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-notification.rb +33 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-omission.rb +81 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-pending.rb +70 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-priority.rb +184 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-case.rb +1279 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-result.rb +113 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-suite-creator.rb +97 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-suite.rb +151 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/testunit-test-util.rb +33 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/ui/test_testrunmediator.rb +20 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test-method-owner-finder.rb +38 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test-output.rb +11 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test_backtracefilter.rb +52 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test_observable.rb +102 -0
- data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test_procwrapper.rb +36 -0
- data/vendor/bundle/ruby/2.5.0/specifications/power_assert-1.1.5.gemspec +54 -0
- data/vendor/bundle/ruby/2.5.0/specifications/power_assert-1.1.7.gemspec +54 -0
- data/vendor/bundle/ruby/2.5.0/specifications/rake-13.0.1.gemspec +26 -0
- data/vendor/bundle/ruby/2.5.0/specifications/rake-compiler-dock-0.7.2.gemspec +40 -0
- data/vendor/bundle/ruby/2.5.0/specifications/test-unit-3.3.4.gemspec +48 -0
- data/vendor/bundle/ruby/2.5.0/specifications/test-unit-3.3.5.gemspec +48 -0
- data/vendor/bundle/ruby/2.7.0/bin/rake +27 -0
- data/vendor/bundle/ruby/2.7.0/bin/rake.bat +2 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/BSDL +22 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/COPYING +57 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/Gemfile +9 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/LEGAL +4 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/README.rdoc +81 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/Rakefile +59 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/bin/console +12 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/bin/setup +6 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert.rb +98 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/colorize.rb +9 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/configuration.rb +46 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/context.rb +238 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/enable_tracepoint_events.rb +91 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/inspector.rb +61 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/parser.rb +251 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/version.rb +3 -0
- data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/power_assert.gemspec +31 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Gemfile +10 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/History.rdoc +2368 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/README.rdoc +155 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Rakefile +41 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/bundle +105 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/console +7 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rake +29 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rdoc +29 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rubocop +29 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/setup +6 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/exe/rake +27 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake.rb +71 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/application.rb +824 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task.rb +434 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
- data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/rake.gemspec +43 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/COPYING +67 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/GPL +339 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/LGPL +502 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/PSFL +271 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/README.md +101 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/Rakefile +80 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/doc/text/getting-started.md +246 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/doc/text/how-to.md +90 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/doc/text/news.md +1464 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test-unit.rb +34 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit.rb +514 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/assertion-failed-error.rb +25 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/assertions.rb +2256 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/attribute-matcher.rb +26 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/attribute.rb +227 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/auto-runner-loader.rb +17 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb +537 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb +58 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector.rb +73 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/descendant.rb +19 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/dir.rb +108 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/load.rb +197 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/objectspace.rb +34 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/xml.rb +249 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/color-scheme.rb +198 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/color.rb +134 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/data-sets.rb +116 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/data.rb +371 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/diff.rb +746 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb +158 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/exception-handler.rb +82 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/failure.rb +169 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fault-location-detector.rb +100 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb +298 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/notification.rb +138 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/omission.rb +198 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/pending.rb +155 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/priority.rb +196 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/runner/console.rb +84 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/runner/emacs.rb +8 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/runner/xml.rb +15 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/test-suite-creator.rb +103 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb +899 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testresult.rb +132 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb +175 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/outputlevel.rb +15 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb +750 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/emacs/testrunner.rb +49 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb +53 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb +114 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/xml/testrunner.rb +224 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/backtracefilter.rb +59 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb +90 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/output.rb +32 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/procwrapper.rb +48 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/version.rb +5 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/adder.rb +13 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/subtracter.rb +12 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/test_adder.rb +20 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/test_subtracter.rb +20 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/test_user.rb +23 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test-descendant.rb +182 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test-load.rb +475 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test_dir.rb +407 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test_objectspace.rb +102 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header-label.csv +3 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header-label.tsv +3 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header.csv +3 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header.tsv +3 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/no-header.csv +2 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/no-header.tsv +2 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/plus.csv +3 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/run-test.rb +22 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-assertions.rb +2187 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-attribute-matcher.rb +38 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-attribute.rb +123 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-code-snippet.rb +79 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-color-scheme.rb +82 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-color.rb +47 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-data.rb +419 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-diff.rb +518 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-emacs-runner.rb +60 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-error.rb +26 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-failure.rb +33 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-fault-location-detector.rb +163 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-fixture.rb +713 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-notification.rb +33 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-omission.rb +81 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-pending.rb +70 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-priority.rb +184 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-case.rb +1279 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-result.rb +113 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-suite-creator.rb +97 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-suite.rb +151 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/testunit-test-util.rb +33 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/ui/test_testrunmediator.rb +20 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test-method-owner-finder.rb +38 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test-output.rb +11 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test_backtracefilter.rb +52 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test_observable.rb +102 -0
- data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test_procwrapper.rb +36 -0
- data/vendor/bundle/ruby/2.7.0/specifications/power_assert-1.1.7.gemspec +46 -0
- data/vendor/bundle/ruby/2.7.0/specifications/rake-13.0.1.gemspec +26 -0
- data/vendor/bundle/ruby/2.7.0/specifications/test-unit-3.3.5.gemspec +41 -0
- data/win32-api.gemspec +27 -29
- metadata +610 -63
@@ -0,0 +1,238 @@
|
|
1
|
+
require 'power_assert/configuration'
|
2
|
+
require 'power_assert/enable_tracepoint_events'
|
3
|
+
require 'power_assert/inspector'
|
4
|
+
require 'power_assert/parser'
|
5
|
+
|
6
|
+
module PowerAssert
|
7
|
+
class Context
|
8
|
+
Value = Struct.new(:name, :value, :lineno, :column, :display_offset)
|
9
|
+
|
10
|
+
def initialize(base_caller_length)
|
11
|
+
@fired = false
|
12
|
+
@target_thread = Thread.current
|
13
|
+
method_id_set = nil
|
14
|
+
@return_values = []
|
15
|
+
trace_alias_method = PowerAssert.configuration._trace_alias_method
|
16
|
+
@trace_return = TracePoint.new(:return, :c_return) do |tp|
|
17
|
+
begin
|
18
|
+
unless method_id_set
|
19
|
+
next unless Thread.current == @target_thread
|
20
|
+
method_id_set = @parser.method_id_set
|
21
|
+
end
|
22
|
+
method_id = SUPPORT_ALIAS_METHOD ? tp.callee_id :
|
23
|
+
trace_alias_method && tp.event == :return ? tp.binding.eval('::Kernel.__callee__') :
|
24
|
+
tp.method_id
|
25
|
+
next if ! method_id_set[method_id]
|
26
|
+
next if tp.event == :c_return and
|
27
|
+
not (@parser.lineno == tp.lineno and @parser.path == tp.path)
|
28
|
+
locs = PowerAssert.app_caller_locations
|
29
|
+
diff = locs.length - base_caller_length
|
30
|
+
if (tp.event == :c_return && diff == 1 || tp.event == :return && diff <= 2) and Thread.current == @target_thread
|
31
|
+
idx = -(base_caller_length + 1)
|
32
|
+
if @parser.path == locs[idx].path and @parser.lineno == locs[idx].lineno
|
33
|
+
val = PowerAssert.configuration.lazy_inspection ?
|
34
|
+
tp.return_value :
|
35
|
+
InspectedValue.new(SafeInspectable.new(tp.return_value).inspect)
|
36
|
+
@return_values << Value[method_id.to_s, val, locs[idx].lineno, nil]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
rescue Exception => e
|
40
|
+
warn "power_assert: [BUG] Failed to trace: #{e.class}: #{e.message}"
|
41
|
+
if e.respond_to?(:full_message)
|
42
|
+
warn e.full_message.gsub(/^/, 'power_assert: ')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def message
|
49
|
+
raise 'call #yield or #enable at first' unless fired?
|
50
|
+
@message ||= build_assertion_message(@parser, @return_values).freeze
|
51
|
+
end
|
52
|
+
|
53
|
+
def message_proc
|
54
|
+
-> { message }
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def fired?
|
60
|
+
@fired
|
61
|
+
end
|
62
|
+
|
63
|
+
def build_assertion_message(parser, return_values)
|
64
|
+
if PowerAssert.configuration._colorize_message
|
65
|
+
line = Pry::Code.new(parser.line).highlighted
|
66
|
+
else
|
67
|
+
line = parser.line
|
68
|
+
end
|
69
|
+
|
70
|
+
path = detect_path(parser, return_values)
|
71
|
+
return line unless path
|
72
|
+
|
73
|
+
c2d = column2display_offset(parser.line)
|
74
|
+
return_values, methods_in_path = find_all_identified_calls(return_values, path)
|
75
|
+
return_values.zip(methods_in_path) do |i, j|
|
76
|
+
unless i.name == j.name
|
77
|
+
warn "power_assert: [BUG] Failed to get column: #{i.name}"
|
78
|
+
return line
|
79
|
+
end
|
80
|
+
i.display_offset = c2d[j.column]
|
81
|
+
end
|
82
|
+
refs_in_path = path.find_all {|i| i.type == :ref }
|
83
|
+
ref_values = refs_in_path.map {|i| Value[i.name, parser.binding.eval(i.name), parser.lineno, i.column, c2d[i.column]] }
|
84
|
+
vals = (return_values + ref_values).find_all(&:display_offset).sort_by(&:display_offset).reverse
|
85
|
+
return line if vals.empty?
|
86
|
+
|
87
|
+
fmt = (0..vals[0].display_offset).map do |i|
|
88
|
+
if vals.find {|v| v.display_offset == i }
|
89
|
+
"%<#{i}>s"
|
90
|
+
else
|
91
|
+
line[i] == "\t" ? "\t" : ' '
|
92
|
+
end
|
93
|
+
end.join
|
94
|
+
lines = []
|
95
|
+
lines << line.chomp
|
96
|
+
lines << sprintf(fmt, vals.each_with_object({}) {|v, h| h[v.display_offset.to_s.to_sym] = '|' }).chomp
|
97
|
+
vals.each do |i|
|
98
|
+
inspected_val = SafeInspectable.new(Formatter.new(i.value, i.display_offset)).inspect
|
99
|
+
inspected_val.each_line do |l|
|
100
|
+
map_to = vals.each_with_object({}) do |j, h|
|
101
|
+
h[j.display_offset.to_s.to_sym] = [l, '|', ' '][i.display_offset <=> j.display_offset]
|
102
|
+
end
|
103
|
+
lines << encoding_safe_rstrip(sprintf(fmt, map_to))
|
104
|
+
end
|
105
|
+
end
|
106
|
+
lines.join("\n")
|
107
|
+
end
|
108
|
+
|
109
|
+
def detect_path(parser, return_values)
|
110
|
+
return parser.call_paths.flatten.uniq if parser.method_id_set.empty?
|
111
|
+
all_paths = parser.call_paths
|
112
|
+
return_value_names = return_values.map(&:name)
|
113
|
+
uniq_calls = uniq_calls(all_paths)
|
114
|
+
uniq_call = return_value_names.find {|i| uniq_calls.include?(i) }
|
115
|
+
detected_paths = all_paths.find_all do |path|
|
116
|
+
method_names = path.find_all {|ident| ident.type == :method }.map(&:name)
|
117
|
+
break [path] if uniq_call and method_names.include?(uniq_call)
|
118
|
+
return_value_names == method_names
|
119
|
+
end
|
120
|
+
return nil unless detected_paths.length == 1
|
121
|
+
detected_paths[0]
|
122
|
+
end
|
123
|
+
|
124
|
+
def uniq_calls(paths)
|
125
|
+
all_calls = enum_count_by(paths.map {|path| path.find_all {|ident| ident.type == :method }.map(&:name).uniq }.flatten) {|i| i }
|
126
|
+
all_calls.find_all {|_, call_count| call_count == 1 }.map {|name, _| name }
|
127
|
+
end
|
128
|
+
|
129
|
+
def find_all_identified_calls(return_values, path)
|
130
|
+
return_value_num_of_calls = enum_count_by(return_values, &:name)
|
131
|
+
path_num_of_calls = enum_count_by(path.find_all {|ident| ident.type == :method }, &:name)
|
132
|
+
identified_calls = return_value_num_of_calls.find_all {|name, num| path_num_of_calls[name] == num }.map(&:first)
|
133
|
+
[
|
134
|
+
return_values.find_all {|val| identified_calls.include?(val.name) },
|
135
|
+
path.find_all {|ident| ident.type == :method and identified_calls.include?(ident.name) }
|
136
|
+
]
|
137
|
+
end
|
138
|
+
|
139
|
+
def enum_count_by(enum, &blk)
|
140
|
+
Hash[enum.group_by(&blk).map{|k, v| [k, v.length] }]
|
141
|
+
end
|
142
|
+
|
143
|
+
def encoding_safe_rstrip(str)
|
144
|
+
str.rstrip
|
145
|
+
rescue ArgumentError, Encoding::CompatibilityError
|
146
|
+
enc = str.encoding
|
147
|
+
if enc.ascii_compatible?
|
148
|
+
str.b.rstrip.force_encoding(enc)
|
149
|
+
else
|
150
|
+
str
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
def column2display_offset(str)
|
155
|
+
display_offset = 0
|
156
|
+
str.each_char.with_object([]) do |c, r|
|
157
|
+
c.bytesize.times do
|
158
|
+
r << display_offset
|
159
|
+
end
|
160
|
+
display_offset += c.ascii_only? ? 1 : 2 # FIXME
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
private_constant :Context
|
165
|
+
|
166
|
+
class BlockContext < Context
|
167
|
+
def initialize(assertion_proc_or_source, assertion_method, source_binding)
|
168
|
+
super(0)
|
169
|
+
if assertion_proc_or_source.respond_to?(:to_proc)
|
170
|
+
@assertion_proc = assertion_proc_or_source.to_proc
|
171
|
+
line = nil
|
172
|
+
else
|
173
|
+
@assertion_proc = source_binding.eval "Proc.new {#{assertion_proc_or_source}}"
|
174
|
+
line = assertion_proc_or_source
|
175
|
+
end
|
176
|
+
@parser = Parser::DUMMY
|
177
|
+
@trace_call = TracePoint.new(:call, :c_call) do
|
178
|
+
if PowerAssert.app_context? and Thread.current == @target_thread
|
179
|
+
@trace_call.disable
|
180
|
+
locs = PowerAssert.app_caller_locations
|
181
|
+
path = locs.last.path
|
182
|
+
lineno = locs.last.lineno
|
183
|
+
if File.exist?(path)
|
184
|
+
line ||= File.open(path) {|fp| fp.each_line.drop(lineno - 1).first }
|
185
|
+
end
|
186
|
+
if line
|
187
|
+
@parser = Parser.new(line, path, lineno, @assertion_proc.binding, assertion_method.to_s, @assertion_proc)
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
def yield
|
194
|
+
@fired = true
|
195
|
+
invoke_yield(&@assertion_proc)
|
196
|
+
end
|
197
|
+
|
198
|
+
private
|
199
|
+
|
200
|
+
def invoke_yield
|
201
|
+
@trace_return.enable do
|
202
|
+
@trace_call.enable do
|
203
|
+
yield
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
end
|
208
|
+
private_constant :BlockContext
|
209
|
+
|
210
|
+
class TraceContext < Context
|
211
|
+
def initialize(binding)
|
212
|
+
target_frame, *base = PowerAssert.app_caller_locations
|
213
|
+
super(base.length)
|
214
|
+
path = target_frame.path
|
215
|
+
lineno = target_frame.lineno
|
216
|
+
if File.exist?(path)
|
217
|
+
line = File.open(path) {|fp| fp.each_line.drop(lineno - 1).first }
|
218
|
+
@parser = Parser.new(line, path, lineno, binding)
|
219
|
+
else
|
220
|
+
@parser = Parser::DUMMY
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
def enable
|
225
|
+
@fired = true
|
226
|
+
@trace_return.enable
|
227
|
+
end
|
228
|
+
|
229
|
+
def disable
|
230
|
+
@trace_return.disable
|
231
|
+
end
|
232
|
+
|
233
|
+
def enabled?
|
234
|
+
@trace_return.enabled?
|
235
|
+
end
|
236
|
+
end
|
237
|
+
private_constant :TraceContext
|
238
|
+
end
|
data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/enable_tracepoint_events.rb
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
require 'power_assert/configuration'
|
2
|
+
|
3
|
+
if defined?(RubyVM)
|
4
|
+
if PowerAssert.configuration._redefinition
|
5
|
+
if RUBY_VERSION == '2.3.2'
|
6
|
+
warn 'power_assert: It is strongly recommended that you use Ruby 2.3.3 or later which fixes regression on 2.3.2.'
|
7
|
+
warn 'power_assert: See https://www.ruby-lang.org/en/news/2016/11/21/ruby-2-3-3-released/ for more details.'
|
8
|
+
end
|
9
|
+
|
10
|
+
verbose = $VERBOSE
|
11
|
+
begin
|
12
|
+
$VERBOSE = nil
|
13
|
+
module PowerAssert
|
14
|
+
# set redefined flag
|
15
|
+
basic_classes = [
|
16
|
+
Fixnum, Float, String, Array, Hash, Bignum, Symbol, Time, Regexp, NilClass, TrueClass, FalseClass
|
17
|
+
]
|
18
|
+
|
19
|
+
basic_operators = [
|
20
|
+
:+, :-, :*, :/, :%, :==, :===, :<, :<=, :<<, :[], :[]=,
|
21
|
+
:length, :size, :empty?, :succ, :>, :>=, :!, :!=, :=~, :freeze, :-@, :max, :min, :nil?
|
22
|
+
]
|
23
|
+
|
24
|
+
bug11182 = Class.new do
|
25
|
+
def fixed?
|
26
|
+
true
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
refine bug11182 do
|
31
|
+
def fixed?
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
_ = Class.new(bug11182) do
|
36
|
+
alias _fixed? fixed?
|
37
|
+
protected :_fixed?
|
38
|
+
end
|
39
|
+
|
40
|
+
if (bug11182.new.fixed? rescue false)
|
41
|
+
basic_classes.each do |klass|
|
42
|
+
basic_operators.each do |bop|
|
43
|
+
if klass.public_method_defined?(bop)
|
44
|
+
refine(klass) do
|
45
|
+
define_method(bop) {}
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
else
|
51
|
+
# workaround for https://bugs.ruby-lang.org/issues/11182
|
52
|
+
basic_classes.each do |klass|
|
53
|
+
basic_operators.each do |bop|
|
54
|
+
if klass.public_method_defined?(bop)
|
55
|
+
klass.ancestors.find {|i| i.instance_methods(false).index(bop) }.module_eval do
|
56
|
+
public bop
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
refine Symbol do
|
63
|
+
def ==
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# bypass check_cfunc
|
69
|
+
refine BasicObject do
|
70
|
+
def !
|
71
|
+
end
|
72
|
+
|
73
|
+
def ==
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
refine Module do
|
78
|
+
def ==
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
ensure
|
83
|
+
$VERBOSE = verbose
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# disable optimization
|
88
|
+
RubyVM::InstructionSequence.compile_option = {
|
89
|
+
specialized_instruction: false
|
90
|
+
}
|
91
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'power_assert/configuration'
|
2
|
+
|
3
|
+
module PowerAssert
|
4
|
+
class InspectedValue
|
5
|
+
def initialize(value)
|
6
|
+
@value = value
|
7
|
+
end
|
8
|
+
|
9
|
+
def inspect
|
10
|
+
@value
|
11
|
+
end
|
12
|
+
end
|
13
|
+
private_constant :InspectedValue
|
14
|
+
|
15
|
+
class SafeInspectable
|
16
|
+
def initialize(value)
|
17
|
+
@value = value
|
18
|
+
end
|
19
|
+
|
20
|
+
def inspect
|
21
|
+
inspected = @value.inspect
|
22
|
+
if Encoding.compatible?(Encoding.default_external, inspected)
|
23
|
+
inspected
|
24
|
+
else
|
25
|
+
begin
|
26
|
+
"#{inspected.encode(Encoding.default_external)}(#{inspected.encoding})"
|
27
|
+
rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
|
28
|
+
inspected.force_encoding(Encoding.default_external)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
rescue => e
|
32
|
+
"InspectionFailure: #{e.class}: #{e.message.each_line.first}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
private_constant :SafeInspectable
|
36
|
+
|
37
|
+
class Formatter
|
38
|
+
def initialize(value, indent)
|
39
|
+
@value = value
|
40
|
+
@indent = indent
|
41
|
+
end
|
42
|
+
|
43
|
+
def inspect
|
44
|
+
if PowerAssert.configuration._colorize_message
|
45
|
+
if PowerAssert.configuration._use_pp
|
46
|
+
width = [(defined?(Pry::Terminal) ? Pry::Terminal.width! : Pry.new(output: StringIO.new).output.width) - 1 - @indent, 10].max
|
47
|
+
Pry::ColorPrinter.pp(@value, '', width)
|
48
|
+
else
|
49
|
+
Pry::Code.new(@value.inspect).highlighted
|
50
|
+
end
|
51
|
+
else
|
52
|
+
if PowerAssert.configuration._use_pp
|
53
|
+
PP.pp(@value, '')
|
54
|
+
else
|
55
|
+
@value.inspect
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
private_constant :Formatter
|
61
|
+
end
|
@@ -0,0 +1,251 @@
|
|
1
|
+
require 'ripper'
|
2
|
+
|
3
|
+
module PowerAssert
|
4
|
+
class Parser
|
5
|
+
Ident = Struct.new(:type, :name, :column)
|
6
|
+
|
7
|
+
attr_reader :line, :path, :lineno, :binding
|
8
|
+
|
9
|
+
def initialize(line, path, lineno, binding, assertion_method_name = nil, assertion_proc = nil)
|
10
|
+
@line = line
|
11
|
+
@line_for_parsing = (valid_syntax?(line) ? line : slice_expression(line)).b
|
12
|
+
@path = path
|
13
|
+
@lineno = lineno
|
14
|
+
@binding = binding
|
15
|
+
@proc_local_variables = binding.eval('local_variables').map(&:to_s)
|
16
|
+
@assertion_method_name = assertion_method_name
|
17
|
+
@assertion_proc = assertion_proc
|
18
|
+
end
|
19
|
+
|
20
|
+
def idents
|
21
|
+
@idents ||= extract_idents(Ripper.sexp(@line_for_parsing))
|
22
|
+
end
|
23
|
+
|
24
|
+
def call_paths
|
25
|
+
collect_paths(idents).uniq
|
26
|
+
end
|
27
|
+
|
28
|
+
def method_id_set
|
29
|
+
methods = idents.flatten.find_all {|i| i.type == :method }
|
30
|
+
@method_id_set ||= methods.map(&:name).map(&:to_sym).each_with_object({}) {|i, h| h[i] = true }
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def valid_syntax?(str)
|
36
|
+
return true unless defined?(RubyVM)
|
37
|
+
begin
|
38
|
+
verbose, $VERBOSE = $VERBOSE, nil
|
39
|
+
RubyVM::InstructionSequence.compile(str)
|
40
|
+
true
|
41
|
+
rescue SyntaxError
|
42
|
+
false
|
43
|
+
ensure
|
44
|
+
$VERBOSE = verbose
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def slice_expression(str)
|
49
|
+
str = str.chomp
|
50
|
+
str.sub!(/\A\s*(?:if|unless|elsif|case|while|until) /) {|i| ' ' * i.length }
|
51
|
+
str.sub!(/\A\s*(?:\}|\]|end)?\./) {|i| ' ' * i.length }
|
52
|
+
str.sub!(/[\{\.\\]\z/, '')
|
53
|
+
str.sub!(/(?:&&|\|\|)\z/, '')
|
54
|
+
str.sub!(/ (?:do|and|or)\z/, '')
|
55
|
+
str
|
56
|
+
end
|
57
|
+
|
58
|
+
class Branch < Array
|
59
|
+
end
|
60
|
+
|
61
|
+
AND_OR_OPS = %i(and or && ||)
|
62
|
+
|
63
|
+
#
|
64
|
+
# Returns idents as graph structure.
|
65
|
+
#
|
66
|
+
# +--c--b--+
|
67
|
+
# extract_idents(Ripper.sexp('a&.b(c).d')) #=> a--+ +--d
|
68
|
+
# +--------+
|
69
|
+
#
|
70
|
+
def extract_idents(sexp)
|
71
|
+
tag, * = sexp
|
72
|
+
case tag
|
73
|
+
when :arg_paren, :assoc_splat, :fcall, :hash, :method_add_block, :string_literal, :return
|
74
|
+
extract_idents(sexp[1])
|
75
|
+
when :assign, :massign
|
76
|
+
extract_idents(sexp[2])
|
77
|
+
when :opassign
|
78
|
+
_, _, (_, op_name, (_, op_column)), s0 = sexp
|
79
|
+
extract_idents(s0) + [Ident[:method, op_name.sub(/=\z/, ''), op_column]]
|
80
|
+
when :dyna_symbol
|
81
|
+
if sexp[1][0].kind_of?(Symbol)
|
82
|
+
# sexp[1] can be [:string_content, [..]] while parsing { "a": 1 }
|
83
|
+
extract_idents(sexp[1])
|
84
|
+
else
|
85
|
+
sexp[1].flat_map {|s| extract_idents(s) }
|
86
|
+
end
|
87
|
+
when :assoclist_from_args, :bare_assoc_hash, :paren, :string_embexpr,
|
88
|
+
:regexp_literal, :xstring_literal
|
89
|
+
sexp[1].flat_map {|s| extract_idents(s) }
|
90
|
+
when :command
|
91
|
+
[sexp[2], sexp[1]].flat_map {|s| extract_idents(s) }
|
92
|
+
when :assoc_new, :dot2, :dot3, :string_content
|
93
|
+
sexp[1..-1].flat_map {|s| extract_idents(s) }
|
94
|
+
when :unary
|
95
|
+
handle_columnless_ident([], sexp[1], extract_idents(sexp[2]))
|
96
|
+
when :binary
|
97
|
+
op = sexp[2]
|
98
|
+
if AND_OR_OPS.include?(op)
|
99
|
+
extract_idents(sexp[1]) + [Branch[extract_idents(sexp[3]), []]]
|
100
|
+
else
|
101
|
+
handle_columnless_ident(extract_idents(sexp[1]), op, extract_idents(sexp[3]))
|
102
|
+
end
|
103
|
+
when :call
|
104
|
+
_, recv, (op_sym, op_name, _), method = sexp
|
105
|
+
with_safe_op = ((op_sym == :@op and op_name == '&.') or op_sym == :"&.")
|
106
|
+
if method == :call
|
107
|
+
handle_columnless_ident(extract_idents(recv), :call, [], with_safe_op)
|
108
|
+
else
|
109
|
+
extract_idents(recv) + (with_safe_op ? [Branch[extract_idents(method), []]] : extract_idents(method))
|
110
|
+
end
|
111
|
+
when :array
|
112
|
+
sexp[1] ? sexp[1].flat_map {|s| extract_idents(s) } : []
|
113
|
+
when :command_call
|
114
|
+
[sexp[1], sexp[4], sexp[3]].flat_map {|s| extract_idents(s) }
|
115
|
+
when :aref
|
116
|
+
handle_columnless_ident(extract_idents(sexp[1]), :[], extract_idents(sexp[2]))
|
117
|
+
when :method_add_arg
|
118
|
+
idents = extract_idents(sexp[1])
|
119
|
+
if idents.empty?
|
120
|
+
# idents may be empty(e.g. ->{}.())
|
121
|
+
extract_idents(sexp[2])
|
122
|
+
else
|
123
|
+
if idents[-1].kind_of?(Branch) and idents[-1][1].empty?
|
124
|
+
# Safe navigation operator is used. See :call clause also.
|
125
|
+
idents[0..-2] + [Branch[extract_idents(sexp[2]) + idents[-1][0], []]]
|
126
|
+
else
|
127
|
+
idents[0..-2] + extract_idents(sexp[2]) + [idents[-1]]
|
128
|
+
end
|
129
|
+
end
|
130
|
+
when :args_add_block
|
131
|
+
_, (tag, ss0, *ss1), _ = sexp
|
132
|
+
if tag == :args_add_star
|
133
|
+
(ss0 + ss1).flat_map {|s| extract_idents(s) }
|
134
|
+
else
|
135
|
+
sexp[1].flat_map {|s| extract_idents(s) }
|
136
|
+
end
|
137
|
+
when :vcall
|
138
|
+
_, (tag, name, (_, column)) = sexp
|
139
|
+
if tag == :@ident
|
140
|
+
[Ident[@proc_local_variables.include?(name) ? :ref : :method, name, column]]
|
141
|
+
else
|
142
|
+
[]
|
143
|
+
end
|
144
|
+
when :program
|
145
|
+
_, ((tag0, (tag1, (tag2, (tag3, mname, _)), _), (tag4, _, ss))) = sexp
|
146
|
+
if tag0 == :method_add_block and tag1 == :method_add_arg and tag2 == :fcall and
|
147
|
+
(tag3 == :@ident or tag3 == :@const) and mname == @assertion_method_name and (tag4 == :brace_block or tag4 == :do_block)
|
148
|
+
ss.flat_map {|s| extract_idents(s) }
|
149
|
+
else
|
150
|
+
_, (s0, *) = sexp
|
151
|
+
extract_idents(s0)
|
152
|
+
end
|
153
|
+
when :ifop
|
154
|
+
_, s0, s1, s2 = sexp
|
155
|
+
[*extract_idents(s0), Branch[extract_idents(s1), extract_idents(s2)]]
|
156
|
+
when :if, :unless
|
157
|
+
_, s0, ss0, (_, ss1) = sexp
|
158
|
+
[*extract_idents(s0), Branch[ss0.flat_map {|s| extract_idents(s) }, ss1 ? ss1.flat_map {|s| extract_idents(s) } : []]]
|
159
|
+
when :if_mod, :unless_mod
|
160
|
+
_, s0, s1 = sexp
|
161
|
+
[*extract_idents(s0), Branch[extract_idents(s1), []]]
|
162
|
+
when :var_ref, :var_field
|
163
|
+
_, (tag, ref_name, (_, column)) = sexp
|
164
|
+
case tag
|
165
|
+
when :@kw
|
166
|
+
if ref_name == 'self'
|
167
|
+
[Ident[:ref, 'self', column]]
|
168
|
+
else
|
169
|
+
[]
|
170
|
+
end
|
171
|
+
when :@ident, :@const, :@cvar, :@ivar, :@gvar
|
172
|
+
[Ident[:ref, ref_name, column]]
|
173
|
+
else
|
174
|
+
[]
|
175
|
+
end
|
176
|
+
when :@ident, :@const, :@op
|
177
|
+
_, method_name, (_, column) = sexp
|
178
|
+
[Ident[:method, method_name, column]]
|
179
|
+
else
|
180
|
+
[]
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
def str_indices(str, re, offset, limit)
|
185
|
+
idx = str.index(re, offset)
|
186
|
+
if idx and idx <= limit
|
187
|
+
[idx, *str_indices(str, re, idx + 1, limit)]
|
188
|
+
else
|
189
|
+
[]
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
MID2SRCTXT = {
|
194
|
+
:[] => '[',
|
195
|
+
:+@ => '+',
|
196
|
+
:-@ => '-',
|
197
|
+
:call => '('
|
198
|
+
}
|
199
|
+
|
200
|
+
def handle_columnless_ident(left_idents, mid, right_idents, with_safe_op = false)
|
201
|
+
left_max = left_idents.flatten.max_by(&:column)
|
202
|
+
right_min = right_idents.flatten.min_by(&:column)
|
203
|
+
bg = left_max ? left_max.column + left_max.name.length : 0
|
204
|
+
ed = right_min ? right_min.column - 1 : @line_for_parsing.length - 1
|
205
|
+
mname = mid.to_s
|
206
|
+
srctxt = MID2SRCTXT[mid] || mname
|
207
|
+
re = /
|
208
|
+
#{'\b' if /\A\w/ =~ srctxt}
|
209
|
+
#{Regexp.escape(srctxt)}
|
210
|
+
#{'\b' if /\w\z/ =~ srctxt}
|
211
|
+
/x
|
212
|
+
indices = str_indices(@line_for_parsing, re, bg, ed)
|
213
|
+
if indices.length == 1 or !(right_idents.empty? and left_idents.empty?)
|
214
|
+
ident = Ident[:method, mname, right_idents.empty? ? indices.first : indices.last]
|
215
|
+
left_idents + right_idents + (with_safe_op ? [Branch[[ident], []]] : [ident])
|
216
|
+
else
|
217
|
+
left_idents + right_idents
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
def collect_paths(idents, prefixes = [[]], index = 0)
|
222
|
+
if index < idents.length
|
223
|
+
node = idents[index]
|
224
|
+
if node.kind_of?(Branch)
|
225
|
+
prefixes = node.flat_map {|n| collect_paths(n, prefixes, 0) }
|
226
|
+
else
|
227
|
+
prefixes = prefixes.map {|prefix| prefix + [node] }
|
228
|
+
end
|
229
|
+
collect_paths(idents, prefixes, index + 1)
|
230
|
+
else
|
231
|
+
prefixes
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
class DummyParser < Parser
|
236
|
+
def initialize
|
237
|
+
super('', nil, nil, TOPLEVEL_BINDING)
|
238
|
+
end
|
239
|
+
|
240
|
+
def idents
|
241
|
+
[]
|
242
|
+
end
|
243
|
+
|
244
|
+
def call_paths
|
245
|
+
[]
|
246
|
+
end
|
247
|
+
end
|
248
|
+
DUMMY = DummyParser.new
|
249
|
+
end
|
250
|
+
private_constant :Parser
|
251
|
+
end
|