win32-api 1.5.3-universal-mingw32 → 1.6.0-universal-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES +174 -169
- data/Gemfile +4 -0
- data/Gemfile.lock +24 -0
- data/README +129 -131
- data/Rakefile +185 -182
- data/appveyor.yml +42 -0
- data/ext/win32/api.c +1092 -1092
- data/lib/win32/api.rb +14 -8
- data/lib/win32/ruby21_32/win32/api.so +0 -0
- data/lib/win32/ruby21_64/win32/api.so +0 -0
- data/lib/win32/ruby22_32/win32/api.so +0 -0
- data/lib/win32/ruby22_64/win32/api.so +0 -0
- data/lib/win32/ruby23_32/win32/api.so +0 -0
- data/lib/win32/ruby23_64/win32/api.so +0 -0
- data/lib/win32/ruby2_32/win32/api.so +0 -0
- data/lib/win32/ruby2_64/win32/api.so +0 -0
- data/test/test_win32_api.rb +145 -145
- data/vendor/bundle/ruby/2.2.0/bin/devkit +23 -0
- data/vendor/bundle/ruby/2.2.0/bin/devkit.bat +6 -0
- data/vendor/bundle/ruby/2.2.0/bin/rake +23 -0
- data/vendor/bundle/ruby/2.2.0/bin/rake.bat +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/CHANGELOG +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/LICENSE +339 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/README.md +73 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/Rakefile +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/colorize.gemspec +35 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/class_methods.rb +116 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb +135 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/test/test_colorize.rb +161 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Gemfile +4 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/README.md +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rakefile +1 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rspec-example-matchers.txt +184 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/bin/devkit +87 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/devkit.gemspec +27 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/core.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/identity.rb +78 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/ssh_identity.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/version.rb +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/core_spec.rb +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/identity_spec.rb +1 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/ssh_identity_spec.rb +1 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit_spec.rb +5 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/spec_helper.rb +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/AUTHORS +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/COPYING +339 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Changelog.md +415 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Gemfile +9 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/INSTALL +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/LICENSE +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/README.rdoc +74 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Rakefile +30 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/TODO +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/ansi_colors.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/asking_for_arrays.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/basic_usage.rb +75 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/color_scheme.rb +32 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/get_character.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/limit.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/menus.rb +65 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/overwrite.rb +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/page_and_wrap.rb +322 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/password.rb +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/repeat_entry.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/trapping_eof.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/using_readline.rb +17 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/highline.gemspec +37 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline.rb +1048 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/color_scheme.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/compatibility.rb +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/import.rb +41 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/menu.rb +381 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/question.rb +480 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/simulate.rb +48 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/style.rb +192 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/version.rb +4 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/setup.rb +1360 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/highline.css +65 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/images/logo.png +0 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/index.html +58 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/string_methods.rb +32 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_color_scheme.rb +96 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_highline.rb +1402 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_import.rb +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_menu.rb +439 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_simulator.rb +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_string_highline.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_style.rb +578 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/BSDL +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/COPYING +57 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Gemfile +9 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/LEGAL +4 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/README.rdoc +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Rakefile +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/bm_yhpg.rb +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/helper.rb +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert.rb +338 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/enable_tracepoint_events.rb +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/version.rb +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/power_assert.gemspec +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/helper.rb +10 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/test_power_assert.rb +512 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/CONTRIBUTING.rdoc +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/History.rdoc +719 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Manifest.txt +154 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/README.rdoc +157 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Rakefile +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/bin/rake +33 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/jamis.rb +591 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rake.1 +141 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rakefile.rdoc +624 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.6.rdoc +37 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.3.rdoc +102 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.4.rdoc +60 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.5.rdoc +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.6.rdoc +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.0.rdoc +178 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.1.rdoc +58 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.2.rdoc +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.3.rdoc +191 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.1.0.rdoc +61 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake.rb +73 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb +787 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/clean.rb +76 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/ftptools.rb +137 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/sshpublisher.rb +60 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cpu_counter.rb +120 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/dsl_definition.rb +194 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_list.rb +436 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_utils.rb +123 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/late_time.rb +17 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/linked_list.rb +111 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/loaders/makefile.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/packagetask.rb +199 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task.rb +391 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_arguments.rb +102 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_manager.rb +316 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/tasklib.rb +11 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/testtask.rb +204 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/version.rb +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/win32.rb +50 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/rakelib/test_times.rake +25 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/file_creation.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/helper.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/rakefile_definitions.rb +476 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/ruby_runner.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_private_reader.rb +42 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake.rb +40 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application.rb +659 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application_options.rb +468 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_backtrace.rb +119 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_clean.rb +61 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_cpu_counter.rb +68 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_definitions.rb +84 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_directory_task.rb +76 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list.rb +687 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list_path_map.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_task.rb +197 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_utils.rb +318 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_functional.rb +484 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_late_time.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_multi_task.rb +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_name_space.rb +57 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_require.rb +40 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rules.rb +388 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task.rb +430 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_argument_parsing.rb +119 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_arguments.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager.rb +178 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_with_arguments.rb +172 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_test_task.rb +130 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_thread_pool.rb +145 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_trace_output.rb +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/COPYING +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/GPL +339 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/LGPL +502 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/PSFL +271 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/README.md +101 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/Rakefile +71 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test-unit.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit.rb +505 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertion-failed-error.rb +25 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertions.rb +2218 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute-matcher.rb +26 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute.rb +158 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/auto-runner-loader.rb +17 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/autorunner.rb +536 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/code-snippet-fetcher.rb +58 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector.rb +73 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/descendant.rb +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/dir.rb +108 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/load.rb +202 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/objectspace.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/xml.rb +249 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color-scheme.rb +198 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/data.rb +262 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/diff.rb +746 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/error.rb +158 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/exception-handler.rb +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/failure.rb +169 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fault-location-detector.rb +100 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fixture.rb +295 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/notification.rb +136 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/omission.rb +195 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/pending.rb +154 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/priority.rb +192 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/console.rb +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/emacs.rb +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/xml.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/test-suite-creator.rb +89 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testcase.rb +811 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testresult.rb +132 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testsuite.rb +175 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/outputlevel.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/testrunner.rb +693 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/emacs/testrunner.rb +49 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunner.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnermediator.rb +114 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/xml/testrunner.rb +224 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/backtracefilter.rb +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/observable.rb +90 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/output.rb +31 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/procwrapper.rb +48 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/version.rb +5 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/adder.rb +13 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/subtracter.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_adder.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_subtracter.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_user.rb +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-descendant.rb +178 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-load.rb +442 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_dir.rb +406 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_objectspace.rb +100 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.csv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.tsv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.csv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.tsv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.csv +2 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.tsv +2 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/plus.csv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/run-test.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-assertions.rb +2160 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute-matcher.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute.rb +123 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-code-snippet.rb +37 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color-scheme.rb +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color.rb +47 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-data.rb +303 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-diff.rb +518 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-emacs-runner.rb +60 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-error.rb +26 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-failure.rb +33 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fault-location-detector.rb +163 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fixture.rb +713 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-notification.rb +33 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-omission.rb +81 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-pending.rb +70 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-priority.rb +173 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-case.rb +1171 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-result.rb +113 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite-creator.rb +97 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite.rb +150 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/testunit-test-util.rb +31 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/ui/test_testrunmediator.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-method-owner-finder.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-output.rb +11 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_backtracefilter.rb +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_observable.rb +102 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_procwrapper.rb +36 -0
- data/vendor/bundle/ruby/2.2.0/specifications/colorize-0.7.7.gemspec +38 -0
- data/vendor/bundle/ruby/2.2.0/specifications/devkit-0.1.0.gemspec +46 -0
- data/vendor/bundle/ruby/2.2.0/specifications/highline-1.7.8.gemspec +37 -0
- data/vendor/bundle/ruby/2.2.0/specifications/power_assert-0.3.0.gemspec +41 -0
- data/vendor/bundle/ruby/2.2.0/specifications/rake-11.1.2.gemspec +43 -0
- data/vendor/bundle/ruby/2.2.0/specifications/test-unit-3.1.9.gemspec +47 -0
- data/win32-api.gemspec +27 -27
- metadata +345 -5
- data/lib/win32/ruby18/win32/api.so +0 -0
- data/lib/win32/ruby19/win32/api.so +0 -0
| @@ -0,0 +1,58 @@ | |
| 1 | 
            +
            module Test
         | 
| 2 | 
            +
              module Unit
         | 
| 3 | 
            +
                class CodeSnippetFetcher
         | 
| 4 | 
            +
                  def initialize
         | 
| 5 | 
            +
                    @sources = {}
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  def fetch(path, line, options={})
         | 
| 9 | 
            +
                    n_context_line = options[:n_context_line] || 3
         | 
| 10 | 
            +
                    lines = source(path)
         | 
| 11 | 
            +
                    return [] if lines.nil?
         | 
| 12 | 
            +
                    min_line = [line - n_context_line, 1].max
         | 
| 13 | 
            +
                    max_line = [line + n_context_line, lines.length].min
         | 
| 14 | 
            +
                    window = min_line..max_line
         | 
| 15 | 
            +
                    window.collect do |n|
         | 
| 16 | 
            +
                      attributes = {:target_line? => (n == line)}
         | 
| 17 | 
            +
                      [n, lines[n - 1].chomp, attributes]
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  def source(path)
         | 
| 22 | 
            +
                    @sources[path] ||= read_source(path)
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  private
         | 
| 26 | 
            +
                  def read_source(path)
         | 
| 27 | 
            +
                    return nil unless File.exist?(path)
         | 
| 28 | 
            +
                    lines = []
         | 
| 29 | 
            +
                    File.open(path) do |file|
         | 
| 30 | 
            +
                      first_line = file.gets
         | 
| 31 | 
            +
                      break if first_line.nil?
         | 
| 32 | 
            +
                      encoding = detect_encoding(first_line)
         | 
| 33 | 
            +
                      if encoding
         | 
| 34 | 
            +
                        first_line.force_encoding(encoding)
         | 
| 35 | 
            +
                        file.set_encoding(encoding, encoding)
         | 
| 36 | 
            +
                      end
         | 
| 37 | 
            +
                      lines << first_line
         | 
| 38 | 
            +
                      lines.concat(file.readlines)
         | 
| 39 | 
            +
                    end
         | 
| 40 | 
            +
                    lines
         | 
| 41 | 
            +
                  end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                  def detect_encoding(first_line)
         | 
| 44 | 
            +
                    return nil unless first_line.respond_to?(:ascii_only?)
         | 
| 45 | 
            +
                    return nil unless first_line.ascii_only?
         | 
| 46 | 
            +
                    if /\b(?:en)?coding[:=]\s*([a-z\d_-]+)/i =~ first_line
         | 
| 47 | 
            +
                      begin
         | 
| 48 | 
            +
                        Encoding.find($1)
         | 
| 49 | 
            +
                      rescue ArgumentError
         | 
| 50 | 
            +
                        nil
         | 
| 51 | 
            +
                      end
         | 
| 52 | 
            +
                    else
         | 
| 53 | 
            +
                      nil
         | 
| 54 | 
            +
                    end
         | 
| 55 | 
            +
                  end
         | 
| 56 | 
            +
                end
         | 
| 57 | 
            +
              end
         | 
| 58 | 
            +
            end
         | 
| @@ -0,0 +1,73 @@ | |
| 1 | 
            +
            module Test
         | 
| 2 | 
            +
              module Unit
         | 
| 3 | 
            +
                module Collector
         | 
| 4 | 
            +
                  def initialize
         | 
| 5 | 
            +
                    @filters = []
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  def filter=(filters)
         | 
| 9 | 
            +
                    @filters = case(filters)
         | 
| 10 | 
            +
                      when Proc
         | 
| 11 | 
            +
                        [filters]
         | 
| 12 | 
            +
                      when Array
         | 
| 13 | 
            +
                        filters
         | 
| 14 | 
            +
                    end
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  def add_suite(destination, suite)
         | 
| 18 | 
            +
                    to_delete = suite.tests.find_all do |test|
         | 
| 19 | 
            +
                      test.is_a?(TestCase) and !include?(test)
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                    suite.delete_tests(to_delete)
         | 
| 22 | 
            +
                    destination << suite unless suite.empty?
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  def add_test_cases(suite, test_cases)
         | 
| 26 | 
            +
                    children_map = {}
         | 
| 27 | 
            +
                    test_cases.each do |test_case|
         | 
| 28 | 
            +
                      ancestor_classes = test_case.ancestors.find_all do |ancestor|
         | 
| 29 | 
            +
                        ancestor.is_a?(Class)
         | 
| 30 | 
            +
                      end
         | 
| 31 | 
            +
                      parent = ancestor_classes[1]
         | 
| 32 | 
            +
                      children_map[parent] ||= []
         | 
| 33 | 
            +
                      children_map[parent] << test_case
         | 
| 34 | 
            +
                    end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                    root_test_cases = children_map.keys - test_cases
         | 
| 37 | 
            +
                    root_test_cases.each do |root_test_case|
         | 
| 38 | 
            +
                      add_test_case(suite, root_test_case, children_map)
         | 
| 39 | 
            +
                    end
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  def include?(test)
         | 
| 43 | 
            +
                    return true if(@filters.empty?)
         | 
| 44 | 
            +
                    @filters.each do |filter|
         | 
| 45 | 
            +
                      return false if filter[test] == false
         | 
| 46 | 
            +
                    end
         | 
| 47 | 
            +
                    true
         | 
| 48 | 
            +
                  end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  def sort(suites)
         | 
| 51 | 
            +
                    suites.sort_by do |suite|
         | 
| 52 | 
            +
                      [suite.priority, suite.name || suite.to_s]
         | 
| 53 | 
            +
                    end
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  private
         | 
| 57 | 
            +
                  def add_test_case(suite, test_case, children_map)
         | 
| 58 | 
            +
                    children = children_map[test_case]
         | 
| 59 | 
            +
                    return if children.nil?
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                    sub_suites = []
         | 
| 62 | 
            +
                    children.each do |child|
         | 
| 63 | 
            +
                      sub_suite = child.suite
         | 
| 64 | 
            +
                      add_test_case(sub_suite, child, children_map)
         | 
| 65 | 
            +
                      add_suite(sub_suites, sub_suite)
         | 
| 66 | 
            +
                    end
         | 
| 67 | 
            +
                    sort(sub_suites).each do |sub_suite|
         | 
| 68 | 
            +
                      suite << sub_suite
         | 
| 69 | 
            +
                    end
         | 
| 70 | 
            +
                  end
         | 
| 71 | 
            +
                end
         | 
| 72 | 
            +
              end
         | 
| 73 | 
            +
            end
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            require 'test/unit/collector'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Test
         | 
| 4 | 
            +
              module Unit
         | 
| 5 | 
            +
                module Collector
         | 
| 6 | 
            +
                  class Descendant
         | 
| 7 | 
            +
                    include Collector
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                    NAME = 'collected from the subclasses of TestCase'
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    def collect(name=NAME)
         | 
| 12 | 
            +
                      suite = TestSuite.new(name)
         | 
| 13 | 
            +
                      add_test_cases(suite, TestCase::DESCENDANTS)
         | 
| 14 | 
            +
                      suite
         | 
| 15 | 
            +
                    end
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
            end
         | 
| @@ -0,0 +1,108 @@ | |
| 1 | 
            +
            require 'test/unit/testsuite'
         | 
| 2 | 
            +
            require 'test/unit/collector'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module Test
         | 
| 5 | 
            +
              module Unit
         | 
| 6 | 
            +
                module Collector
         | 
| 7 | 
            +
                  class Dir
         | 
| 8 | 
            +
                    include Collector
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    attr_reader :pattern, :exclude
         | 
| 11 | 
            +
                    attr_accessor :base
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                    def initialize(dir=::Dir, file=::File, object_space=::ObjectSpace, req=nil)
         | 
| 14 | 
            +
                      super()
         | 
| 15 | 
            +
                      @dir = dir
         | 
| 16 | 
            +
                      @file = file
         | 
| 17 | 
            +
                      @object_space = object_space
         | 
| 18 | 
            +
                      @req = req
         | 
| 19 | 
            +
                      @pattern = [/\btest_.*\.rb\Z/m]
         | 
| 20 | 
            +
                      @exclude = []
         | 
| 21 | 
            +
                      @base = nil
         | 
| 22 | 
            +
                    end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                    def collect(*from)
         | 
| 25 | 
            +
                      basedir = @base
         | 
| 26 | 
            +
                      $:.push(basedir) if basedir
         | 
| 27 | 
            +
                      if(from.empty?)
         | 
| 28 | 
            +
                        recursive_collect('.', find_test_cases)
         | 
| 29 | 
            +
                      elsif(from.size == 1)
         | 
| 30 | 
            +
                        recursive_collect(from.first, find_test_cases)
         | 
| 31 | 
            +
                      else
         | 
| 32 | 
            +
                        suites = []
         | 
| 33 | 
            +
                        from.each do |f|
         | 
| 34 | 
            +
                          suite = recursive_collect(f, find_test_cases)
         | 
| 35 | 
            +
                          suites << suite unless(suite.tests.empty?)
         | 
| 36 | 
            +
                        end
         | 
| 37 | 
            +
                        suite = TestSuite.new("[#{from.join(', ')}]")
         | 
| 38 | 
            +
                        sort(suites).each{|s| suite << s}
         | 
| 39 | 
            +
                        suite
         | 
| 40 | 
            +
                      end
         | 
| 41 | 
            +
                    ensure
         | 
| 42 | 
            +
                      $:.delete_at($:.rindex(basedir)) if basedir
         | 
| 43 | 
            +
                    end
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                    def find_test_cases(ignore=[])
         | 
| 46 | 
            +
                      cases = []
         | 
| 47 | 
            +
                      @object_space.each_object(Class) do |c|
         | 
| 48 | 
            +
                        cases << c if(c < TestCase && !ignore.include?(c))
         | 
| 49 | 
            +
                      end
         | 
| 50 | 
            +
                      ignore.concat(cases)
         | 
| 51 | 
            +
                      cases
         | 
| 52 | 
            +
                    end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                    def recursive_collect(name, already_gathered)
         | 
| 55 | 
            +
                      sub_suites = []
         | 
| 56 | 
            +
                      path = realdir(name)
         | 
| 57 | 
            +
                      if @file.directory?(path)
         | 
| 58 | 
            +
                        dir_name = name unless name == '.'
         | 
| 59 | 
            +
                        @dir.entries(path).each do |e|
         | 
| 60 | 
            +
                          next if(e == '.' || e == '..')
         | 
| 61 | 
            +
                          e_name = dir_name ? @file.join(dir_name, e) : e
         | 
| 62 | 
            +
                          if @file.directory?(realdir(e_name))
         | 
| 63 | 
            +
                            next if /\A(?:CVS|\.svn|\.git)\z/ =~ e
         | 
| 64 | 
            +
                            sub_suite = recursive_collect(e_name, already_gathered)
         | 
| 65 | 
            +
                            sub_suites << sub_suite unless(sub_suite.empty?)
         | 
| 66 | 
            +
                          else
         | 
| 67 | 
            +
                            next if /~\z/ =~ e_name or /\A\.\#/ =~ e
         | 
| 68 | 
            +
                            if @pattern and !@pattern.empty?
         | 
| 69 | 
            +
                              next unless @pattern.any? {|pat| pat =~ e_name}
         | 
| 70 | 
            +
                            end
         | 
| 71 | 
            +
                            if @exclude and !@exclude.empty?
         | 
| 72 | 
            +
                              next if @exclude.any? {|pat| pat =~ e_name}
         | 
| 73 | 
            +
                            end
         | 
| 74 | 
            +
                            collect_file(e_name, sub_suites, already_gathered)
         | 
| 75 | 
            +
                          end
         | 
| 76 | 
            +
                        end
         | 
| 77 | 
            +
                      else
         | 
| 78 | 
            +
                        collect_file(name, sub_suites, already_gathered)
         | 
| 79 | 
            +
                      end
         | 
| 80 | 
            +
                      suite = TestSuite.new(@file.basename(name))
         | 
| 81 | 
            +
                      sort(sub_suites).each{|s| suite << s}
         | 
| 82 | 
            +
                      suite
         | 
| 83 | 
            +
                    end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
                    def collect_file(name, suites, already_gathered)
         | 
| 86 | 
            +
                      dir = @file.dirname(@file.expand_path(name, @base))
         | 
| 87 | 
            +
                      $:.unshift(dir)
         | 
| 88 | 
            +
                      if(@req)
         | 
| 89 | 
            +
                        @req.require(name)
         | 
| 90 | 
            +
                      else
         | 
| 91 | 
            +
                        require(name)
         | 
| 92 | 
            +
                      end
         | 
| 93 | 
            +
                      find_test_cases(already_gathered).each{|t| add_suite(suites, t.suite)}
         | 
| 94 | 
            +
                    ensure
         | 
| 95 | 
            +
                      $:.delete_at($:.rindex(dir)) if(dir)
         | 
| 96 | 
            +
                    end
         | 
| 97 | 
            +
             | 
| 98 | 
            +
                    def realdir(path)
         | 
| 99 | 
            +
                      if @base
         | 
| 100 | 
            +
                        @file.join(@base, path)
         | 
| 101 | 
            +
                      else
         | 
| 102 | 
            +
                        path
         | 
| 103 | 
            +
                      end
         | 
| 104 | 
            +
                    end
         | 
| 105 | 
            +
                  end
         | 
| 106 | 
            +
                end
         | 
| 107 | 
            +
              end
         | 
| 108 | 
            +
            end
         | 
| @@ -0,0 +1,202 @@ | |
| 1 | 
            +
            require 'pathname'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'test/unit/testsuite'
         | 
| 4 | 
            +
            require 'test/unit/collector'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            module Test
         | 
| 7 | 
            +
              module Unit
         | 
| 8 | 
            +
                module Collector
         | 
| 9 | 
            +
                  class Load
         | 
| 10 | 
            +
                    include Collector
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    attr_reader :patterns, :excludes, :base
         | 
| 13 | 
            +
                    attr_reader :default_test_paths
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                    def initialize
         | 
| 16 | 
            +
                      super
         | 
| 17 | 
            +
                      @system_excludes = [/~\z/, /\A\.\#/]
         | 
| 18 | 
            +
                      @system_directory_excludes = [/\A(?:CVS|\.svn|\.git)\z/]
         | 
| 19 | 
            +
                      @patterns = [/\Atest[_\-].+\.rb\z/m, /[_\-]test\.rb\z/]
         | 
| 20 | 
            +
                      @excludes = []
         | 
| 21 | 
            +
                      @base = nil
         | 
| 22 | 
            +
                      @default_test_paths = []
         | 
| 23 | 
            +
                      @require_failed_infos = []
         | 
| 24 | 
            +
                    end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                    def base=(base)
         | 
| 27 | 
            +
                      base = Pathname(base) unless base.nil?
         | 
| 28 | 
            +
                      @base = base
         | 
| 29 | 
            +
                    end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                    def default_test_paths=(paths)
         | 
| 32 | 
            +
                      @default_test_paths = paths.collect do |path|
         | 
| 33 | 
            +
                        Pathname(path)
         | 
| 34 | 
            +
                      end
         | 
| 35 | 
            +
                    end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                    def collect(*froms)
         | 
| 38 | 
            +
                      add_load_path(@base) do
         | 
| 39 | 
            +
                        froms = @default_test_paths if froms.empty?
         | 
| 40 | 
            +
                        froms = ["."] if froms.empty?
         | 
| 41 | 
            +
                        test_suites = []
         | 
| 42 | 
            +
                        already_gathered = find_test_cases
         | 
| 43 | 
            +
                        froms.each do |from|
         | 
| 44 | 
            +
                          from = resolve_path(from)
         | 
| 45 | 
            +
                          if from.directory?
         | 
| 46 | 
            +
                            test_suite = collect_recursive(from, already_gathered)
         | 
| 47 | 
            +
                            test_suites << test_suite unless test_suite.tests.empty?
         | 
| 48 | 
            +
                          else
         | 
| 49 | 
            +
                            collect_file(from, test_suites, already_gathered)
         | 
| 50 | 
            +
                          end
         | 
| 51 | 
            +
                        end
         | 
| 52 | 
            +
                        add_require_failed_test_suite(test_suites)
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                        if test_suites.size > 1
         | 
| 55 | 
            +
                          test_suite = TestSuite.new("[#{froms.join(', ')}]")
         | 
| 56 | 
            +
                          sort(test_suites).each do |sub_test_suite|
         | 
| 57 | 
            +
                            test_suite << sub_test_suite
         | 
| 58 | 
            +
                          end
         | 
| 59 | 
            +
                        else
         | 
| 60 | 
            +
                          test_suite = test_suites.first
         | 
| 61 | 
            +
                        end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                        test_suite
         | 
| 64 | 
            +
                      end
         | 
| 65 | 
            +
                    end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                    def find_test_cases(ignore=[])
         | 
| 68 | 
            +
                      test_cases = []
         | 
| 69 | 
            +
                      TestCase::DESCENDANTS.each do |test_case|
         | 
| 70 | 
            +
                        test_cases << test_case unless ignore.include?(test_case)
         | 
| 71 | 
            +
                      end
         | 
| 72 | 
            +
                      ignore.concat(test_cases)
         | 
| 73 | 
            +
                      test_cases
         | 
| 74 | 
            +
                    end
         | 
| 75 | 
            +
             | 
| 76 | 
            +
                    private
         | 
| 77 | 
            +
                    def collect_recursive(path, already_gathered)
         | 
| 78 | 
            +
                      sub_test_suites = []
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                      if path.directory?
         | 
| 81 | 
            +
                        directories, files = path.children.partition do |child|
         | 
| 82 | 
            +
                          child.directory?
         | 
| 83 | 
            +
                        end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
                        files.each do |child|
         | 
| 86 | 
            +
                          next if excluded_file?(child.basename.to_s)
         | 
| 87 | 
            +
                          collect_file(child, sub_test_suites, already_gathered)
         | 
| 88 | 
            +
                        end
         | 
| 89 | 
            +
             | 
| 90 | 
            +
                        directories.each do |child|
         | 
| 91 | 
            +
                          next if excluded_directory?(child.basename.to_s)
         | 
| 92 | 
            +
                          sub_test_suite = collect_recursive(child, already_gathered)
         | 
| 93 | 
            +
                          sub_test_suites << sub_test_suite unless sub_test_suite.empty?
         | 
| 94 | 
            +
                        end
         | 
| 95 | 
            +
                      else
         | 
| 96 | 
            +
                        unless excluded_file?(path.basename.to_s)
         | 
| 97 | 
            +
                          collect_file(path, sub_test_suites, already_gathered)
         | 
| 98 | 
            +
                        end
         | 
| 99 | 
            +
                      end
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                      test_suite = TestSuite.new(path.basename.to_s)
         | 
| 102 | 
            +
                      sort(sub_test_suites).each do |sub_test_suite|
         | 
| 103 | 
            +
                        test_suite << sub_test_suite
         | 
| 104 | 
            +
                      end
         | 
| 105 | 
            +
                      test_suite
         | 
| 106 | 
            +
                    end
         | 
| 107 | 
            +
             | 
| 108 | 
            +
                    def collect_file(path, test_suites, already_gathered)
         | 
| 109 | 
            +
                      @program_file ||= File.expand_path($0)
         | 
| 110 | 
            +
                      expanded_path = path.expand_path
         | 
| 111 | 
            +
                      return if @program_file == expanded_path.to_s
         | 
| 112 | 
            +
                      add_load_path(expanded_path.dirname) do
         | 
| 113 | 
            +
                        begin
         | 
| 114 | 
            +
                          require(path.basename.to_s)
         | 
| 115 | 
            +
                        rescue LoadError
         | 
| 116 | 
            +
                          @require_failed_infos << {:path => expanded_path, :exception => $!}
         | 
| 117 | 
            +
                        end
         | 
| 118 | 
            +
                        add_test_cases(test_suites, find_test_cases(already_gathered))
         | 
| 119 | 
            +
                      end
         | 
| 120 | 
            +
                    end
         | 
| 121 | 
            +
             | 
| 122 | 
            +
                    def resolve_path(path)
         | 
| 123 | 
            +
                      if @base
         | 
| 124 | 
            +
                        @base + path
         | 
| 125 | 
            +
                      else
         | 
| 126 | 
            +
                        Pathname(path)
         | 
| 127 | 
            +
                      end
         | 
| 128 | 
            +
                    end
         | 
| 129 | 
            +
             | 
| 130 | 
            +
                    def add_load_path(path)
         | 
| 131 | 
            +
                      return yield if path.nil?
         | 
| 132 | 
            +
             | 
| 133 | 
            +
                      path = path.to_s
         | 
| 134 | 
            +
                      return yield if $LOAD_PATH.index(path)
         | 
| 135 | 
            +
             | 
| 136 | 
            +
                      begin
         | 
| 137 | 
            +
                        $LOAD_PATH.unshift(path)
         | 
| 138 | 
            +
                        yield
         | 
| 139 | 
            +
                      ensure
         | 
| 140 | 
            +
                        index = $LOAD_PATH.index(path)
         | 
| 141 | 
            +
                        $LOAD_PATH.delete_at(index) if index
         | 
| 142 | 
            +
                      end
         | 
| 143 | 
            +
                    end
         | 
| 144 | 
            +
             | 
| 145 | 
            +
                    def excluded_directory?(base)
         | 
| 146 | 
            +
                      @system_directory_excludes.any? {|pattern| pattern =~ base}
         | 
| 147 | 
            +
                    end
         | 
| 148 | 
            +
             | 
| 149 | 
            +
                    def excluded_file?(base)
         | 
| 150 | 
            +
                      return true if @system_excludes.any? {|pattern| pattern =~ base}
         | 
| 151 | 
            +
             | 
| 152 | 
            +
                      patterns = @patterns || []
         | 
| 153 | 
            +
                      unless patterns.empty?
         | 
| 154 | 
            +
                        return true unless patterns.any? {|pattern| pattern =~ base}
         | 
| 155 | 
            +
                      end
         | 
| 156 | 
            +
             | 
| 157 | 
            +
                      excludes = @excludes || []
         | 
| 158 | 
            +
                      unless excludes.empty?
         | 
| 159 | 
            +
                        return true if excludes.any? {|pattern| pattern =~ base}
         | 
| 160 | 
            +
                      end
         | 
| 161 | 
            +
             | 
| 162 | 
            +
                      false
         | 
| 163 | 
            +
                    end
         | 
| 164 | 
            +
             | 
| 165 | 
            +
                    def add_require_failed_test_suite(test_suites)
         | 
| 166 | 
            +
                      return if @require_failed_infos.empty?
         | 
| 167 | 
            +
             | 
| 168 | 
            +
                      require_failed_infos = @require_failed_infos
         | 
| 169 | 
            +
                      require_failed_omissions = Class.new(Test::Unit::TestCase)
         | 
| 170 | 
            +
                      require_failed_omissions.class_eval do
         | 
| 171 | 
            +
                        class << self
         | 
| 172 | 
            +
                          def name
         | 
| 173 | 
            +
                            "RequireFailedOmissions"
         | 
| 174 | 
            +
                          end
         | 
| 175 | 
            +
                        end
         | 
| 176 | 
            +
             | 
| 177 | 
            +
                        require_failed_infos.each do |info|
         | 
| 178 | 
            +
                          path = info[:path]
         | 
| 179 | 
            +
                          normalized_path = path.to_s.gsub(/[^a-z0-9\_]+/i, '_')
         | 
| 180 | 
            +
                          normalized_path = normalized_path.gsub(/\A_+/, '')
         | 
| 181 | 
            +
                          exception = info[:exception]
         | 
| 182 | 
            +
                          define_method("test_require_#{normalized_path}") do
         | 
| 183 | 
            +
                            @require_failed_exception = exception
         | 
| 184 | 
            +
                            omit("failed to load: <#{path}>: <#{exception.message}>")
         | 
| 185 | 
            +
                          end
         | 
| 186 | 
            +
                        end
         | 
| 187 | 
            +
             | 
| 188 | 
            +
                        def priority
         | 
| 189 | 
            +
                          100
         | 
| 190 | 
            +
                        end
         | 
| 191 | 
            +
             | 
| 192 | 
            +
                        def filter_backtrace(location)
         | 
| 193 | 
            +
                          super(@require_failed_exception.backtrace)
         | 
| 194 | 
            +
                        end
         | 
| 195 | 
            +
                      end
         | 
| 196 | 
            +
             | 
| 197 | 
            +
                      add_suite(test_suites, require_failed_omissions.suite)
         | 
| 198 | 
            +
                    end
         | 
| 199 | 
            +
                  end
         | 
| 200 | 
            +
                end
         | 
| 201 | 
            +
              end
         | 
| 202 | 
            +
            end
         |