ceedling 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +18 -14
- data/README.md +6 -4
- data/assets/project_as_gem.yml +1 -1
- data/assets/rakefile_as_gem.rb +2 -0
- data/assets/rakefile_with_guts.rb +3 -1
- data/ceedling.gemspec +1 -0
- data/examples/blinky/rakefile.rb +2 -2
- data/examples/temp_sensor/rakefile.rb +1 -1
- data/examples/temp_sensor/src/TemperatureFilter.c +1 -2
- data/examples/temp_sensor/test/TestTemperatureCalculator.c +1 -1
- data/examples/temp_sensor/test/TestTemperatureFilter.c +12 -2
- data/lib/ceedling.rb +94 -22
- data/lib/{build_invoker_utils.rb → ceedling/build_invoker_utils.rb} +27 -27
- data/lib/{cacheinator.rb → ceedling/cacheinator.rb} +42 -42
- data/lib/{cacheinator_helper.rb → ceedling/cacheinator_helper.rb} +12 -12
- data/lib/{cmock_builder.rb → ceedling/cmock_builder.rb} +15 -15
- data/lib/{configurator.rb → ceedling/configurator.rb} +333 -329
- data/lib/{configurator_builder.rb → ceedling/configurator_builder.rb} +437 -437
- data/lib/{configurator_plugins.rb → ceedling/configurator_plugins.rb} +124 -124
- data/lib/{configurator_setup.rb → ceedling/configurator_setup.rb} +124 -124
- data/lib/{configurator_validator.rb → ceedling/configurator_validator.rb} +184 -184
- data/lib/{constants.rb → ceedling/constants.rb} +20 -17
- data/lib/{defaults.rb → ceedling/defaults.rb} +19 -18
- data/lib/{dependinator.rb → ceedling/dependinator.rb} +92 -92
- data/lib/{erb_wrapper.rb → ceedling/erb_wrapper.rb} +8 -8
- data/lib/{file_finder.rb → ceedling/file_finder.rb} +132 -132
- data/lib/{file_finder_helper.rb → ceedling/file_finder_helper.rb} +54 -54
- data/lib/{file_path_utils.rb → ceedling/file_path_utils.rb} +189 -189
- data/lib/{file_system_utils.rb → ceedling/file_system_utils.rb} +69 -69
- data/lib/{file_system_wrapper.rb → ceedling/file_system_wrapper.rb} +9 -9
- data/lib/{file_wrapper.rb → ceedling/file_wrapper.rb} +79 -79
- data/lib/{flaginator.rb → ceedling/flaginator.rb} +54 -54
- data/lib/{generator.rb → ceedling/generator.rb} +164 -164
- data/lib/{generator_helper.rb → ceedling/generator_helper.rb} +40 -40
- data/lib/{generator_test_results.rb → ceedling/generator_test_results.rb} +86 -89
- data/lib/{generator_test_results_sanity_checker.rb → ceedling/generator_test_results_sanity_checker.rb} +64 -62
- data/lib/{generator_test_runner.rb → ceedling/generator_test_runner.rb} +63 -63
- data/lib/{loginator.rb → ceedling/loginator.rb} +31 -31
- data/lib/{makefile.rb → ceedling/makefile.rb} +0 -0
- data/lib/{objects.yml → ceedling/objects.yml} +0 -0
- data/lib/{par_map.rb → ceedling/par_map.rb} +0 -0
- data/lib/{plugin.rb → ceedling/plugin.rb} +80 -80
- data/lib/{plugin_builder.rb → ceedling/plugin_builder.rb} +52 -52
- data/lib/{plugin_manager.rb → ceedling/plugin_manager.rb} +107 -107
- data/lib/{plugin_manager_helper.rb → ceedling/plugin_manager_helper.rb} +19 -19
- data/lib/{plugin_reportinator.rb → ceedling/plugin_reportinator.rb} +2 -2
- data/lib/{plugin_reportinator_helper.rb → ceedling/plugin_reportinator_helper.rb} +1 -1
- data/lib/{preprocessinator.rb → ceedling/preprocessinator.rb} +43 -43
- data/lib/{preprocessinator_extractor.rb → ceedling/preprocessinator_extractor.rb} +30 -30
- data/lib/{preprocessinator_file_handler.rb → ceedling/preprocessinator_file_handler.rb} +21 -21
- data/lib/{preprocessinator_helper.rb → ceedling/preprocessinator_helper.rb} +46 -46
- data/lib/ceedling/preprocessinator_includes_handler.rb +82 -0
- data/lib/{project_config_manager.rb → ceedling/project_config_manager.rb} +38 -38
- data/lib/{project_file_loader.rb → ceedling/project_file_loader.rb} +64 -64
- data/lib/{rake_utils.rb → ceedling/rake_utils.rb} +17 -17
- data/lib/{rake_wrapper.rb → ceedling/rake_wrapper.rb} +33 -33
- data/lib/{rakefile.rb → ceedling/rakefile.rb} +78 -74
- data/lib/{release_invoker.rb → ceedling/release_invoker.rb} +58 -58
- data/lib/{release_invoker_helper.rb → ceedling/release_invoker_helper.rb} +16 -16
- data/lib/{reportinator.rb → ceedling/reportinator.rb} +9 -9
- data/lib/{rules_cmock.rake → ceedling/rules_cmock.rake} +9 -9
- data/lib/{rules_preprocess.rake → ceedling/rules_preprocess.rake} +26 -26
- data/lib/{rules_release.rake → ceedling/rules_release.rake} +79 -79
- data/lib/{rules_release_deep_dependencies.rake → ceedling/rules_release_deep_dependencies.rake} +15 -15
- data/lib/{rules_tests.rake → ceedling/rules_tests.rake} +59 -59
- data/lib/{rules_tests_deep_dependencies.rake → ceedling/rules_tests_deep_dependencies.rake} +15 -15
- data/lib/{setupinator.rb → ceedling/setupinator.rb} +51 -51
- data/lib/{stream_wrapper.rb → ceedling/stream_wrapper.rb} +20 -20
- data/lib/{streaminator.rb → ceedling/streaminator.rb} +40 -41
- data/lib/{streaminator_helper.rb → ceedling/streaminator_helper.rb} +15 -15
- data/lib/{system_utils.rb → ceedling/system_utils.rb} +0 -0
- data/lib/{system_wrapper.rb → ceedling/system_wrapper.rb} +76 -76
- data/lib/{target_loader.rb → ceedling/target_loader.rb} +0 -0
- data/lib/{task_invoker.rb → ceedling/task_invoker.rb} +89 -89
- data/lib/{tasks_base.rake → ceedling/tasks_base.rake} +104 -104
- data/lib/{tasks_filesystem.rake → ceedling/tasks_filesystem.rake} +91 -91
- data/lib/{tasks_release.rake → ceedling/tasks_release.rake} +28 -28
- data/lib/{tasks_release_deep_dependencies.rake → ceedling/tasks_release_deep_dependencies.rake} +9 -9
- data/lib/{tasks_tests.rake → ceedling/tasks_tests.rake} +52 -52
- data/lib/{tasks_tests_deep_dependencies.rake → ceedling/tasks_tests_deep_dependencies.rake} +9 -9
- data/lib/{tasks_vendor.rake → ceedling/tasks_vendor.rake} +36 -36
- data/lib/{test_includes_extractor.rb → ceedling/test_includes_extractor.rb} +81 -81
- data/lib/{test_invoker.rb → ceedling/test_invoker.rb} +97 -97
- data/lib/{test_invoker_helper.rb → ceedling/test_invoker_helper.rb} +28 -28
- data/lib/{tool_executor.rb → ceedling/tool_executor.rb} +215 -212
- data/lib/{tool_executor_helper.rb → ceedling/tool_executor_helper.rb} +115 -115
- data/lib/{verbosinator.rb → ceedling/verbosinator.rb} +10 -10
- data/lib/ceedling/version.rb +1 -1
- data/lib/{yaml_wrapper.rb → ceedling/yaml_wrapper.rb} +17 -16
- data/license.txt +31 -0
- data/plugins/bullseye/lib/bullseye.rb +2 -2
- data/plugins/gcov/gcov.rb +2 -2
- data/plugins/module_generator/lib/module_generator.rb +4 -3
- data/plugins/stdout_ide_tests_report/lib/stdout_ide_tests_report.rb +8 -8
- data/plugins/stdout_pretty_tests_report/lib/stdout_pretty_tests_report.rb +3 -3
- data/plugins/teamcity_tests_report/config/teamcity_tests_report.yml +4 -0
- data/plugins/teamcity_tests_report/lib/teamcity_tests_report.rb +57 -0
- data/plugins/xml_tests_report/xml_tests_report.rb +4 -4
- data/release/version.info +1 -1
- data/spec/ceedling_spec.rb +154 -0
- data/spec/par_map_spec.rb +1 -1
- data/spec/preprocessinator_extractor_spec.rb +26 -27
- data/spec/preprocessinator_includes_handler_spec.rb +175 -0
- data/spec/spec_helper.rb +8 -27
- data/test_graveyard/integration/paths_test.rb +2 -2
- data/test_graveyard/unit/busted/configurator_builder_test.rb +2 -2
- data/test_graveyard/unit/busted/configurator_test.rb +1 -1
- data/test_graveyard/unit/busted/configurator_validator_test.rb +1 -1
- data/test_graveyard/unit/busted/dependinator_test.rb +1 -1
- data/test_graveyard/unit/busted/file_finder_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/file_finder_test.rb +1 -1
- data/test_graveyard/unit/busted/file_path_utils_test.rb +1 -1
- data/test_graveyard/unit/busted/file_system_utils_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test_results_test.rb +1 -1
- data/test_graveyard/unit/busted/generator_test_runner_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_file_handler_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_includes_handler_test.rb +1 -1
- data/test_graveyard/unit/busted/preprocessinator_test.rb +1 -1
- data/test_graveyard/unit/busted/project_file_loader_test.rb +1 -1
- data/test_graveyard/unit/busted/setupinator_test.rb +1 -1
- data/test_graveyard/unit/busted/streaminator_test.rb +2 -2
- data/test_graveyard/unit/busted/task_invoker_test.rb +1 -1
- data/test_graveyard/unit/busted/test_includes_extractor_test.rb +1 -1
- data/test_graveyard/unit/busted/test_invoker_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/test_invoker_test.rb +1 -1
- data/test_graveyard/unit/busted/tool_executor_helper_test.rb +1 -1
- data/test_graveyard/unit/busted/tool_executor_test.rb +1 -1
- data/test_graveyard/unit/busted/verbosinator_test.rb +1 -1
- data/test_graveyard/unit/preprocessinator_extractor_test.rb +1 -1
- data/vendor/c_exception/Gemfile +4 -0
- data/vendor/c_exception/lib/CException.h +1 -1
- data/vendor/c_exception/test/TestException.c +25 -14
- data/vendor/c_exception/test/TestException_Runner.c +74 -57
- data/vendor/cmock/Gemfile +11 -0
- data/vendor/cmock/lib/cmock_generator.rb +13 -12
- data/vendor/cmock/lib/cmock_generator_plugin_ignore_arg.rb +44 -0
- data/vendor/cmock/lib/cmock_generator_plugin_return_thru_ptr.rb +74 -0
- data/vendor/cmock/lib/cmock_generator_utils.rb +67 -42
- data/vendor/cmock/src/cmock.c +20 -30
- data/vendor/cmock/src/cmock.h +1 -0
- data/vendor/cmock/src/cmock_internals.h +43 -0
- data/vendor/cmock/test/c/TestCMockC.c +79 -36
- data/vendor/cmock/test/c/TestCMockC_Runner.c +2 -0
- data/vendor/cmock/test/spec/cmock_file_writer_spec.rb +21 -1
- data/vendor/cmock/test/spec/cmock_generator_plugin_array_spec.rb +52 -0
- data/vendor/cmock/test/system/test_interactions/all_plugins_coexist.yml +2 -0
- data/vendor/cmock/test/system/test_interactions/return_thru_ptr_ignore_arg.yml +235 -0
- data/vendor/cmock/test/test_helper.rb +10 -5
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +38 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_ignore_arg_test.rb +116 -0
- data/vendor/cmock/test/unit/cmock_generator_plugin_return_thru_ptr_test.rb +134 -0
- data/vendor/cmock/test/unit/cmock_generator_utils_test.rb +58 -33
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.odt +0 -0
- data/vendor/cmock/vendor/c_exception/docs/CExceptionSummary.pdf +0 -0
- data/vendor/cmock/vendor/c_exception/docs/license.txt +30 -0
- data/vendor/cmock/vendor/c_exception/docs/readme.txt +236 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.c +39 -0
- data/vendor/cmock/vendor/c_exception/lib/CException.h +70 -0
- data/vendor/cmock/vendor/c_exception/makefile +24 -0
- data/vendor/cmock/vendor/c_exception/rakefile.rb +41 -0
- data/vendor/cmock/vendor/c_exception/release/build.info +2 -0
- data/vendor/cmock/vendor/c_exception/release/version.info +2 -0
- data/vendor/cmock/vendor/c_exception/test/CExceptionConfig.h +27 -0
- data/vendor/cmock/vendor/c_exception/test/TestException.c +291 -0
- data/vendor/cmock/vendor/c_exception/test/TestException_Runner.c +62 -0
- data/vendor/cmock/vendor/unity/auto/colour_prompt.rb +94 -0
- data/vendor/cmock/vendor/unity/auto/colour_reporter.rb +39 -0
- data/vendor/cmock/vendor/unity/auto/generate_config.yml +36 -0
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +202 -0
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +313 -0
- data/vendor/cmock/vendor/unity/auto/test_file_filter.rb +23 -0
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +139 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.odt +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.pdf +0 -0
- data/vendor/cmock/vendor/unity/docs/Unity Summary.txt +217 -0
- data/vendor/cmock/vendor/unity/docs/license.txt +31 -0
- data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.c +10 -0
- data/vendor/cmock/vendor/unity/examples/helper/UnityHelper.h +12 -0
- data/vendor/cmock/vendor/unity/examples/makefile +40 -0
- data/vendor/cmock/vendor/unity/examples/rakefile.rb +32 -0
- data/vendor/cmock/vendor/unity/examples/rakefile_helper.rb +256 -0
- data/vendor/cmock/vendor/unity/examples/readme.txt +18 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode.c +24 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode.h +3 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.c +9 -0
- data/vendor/cmock/vendor/unity/examples/src/ProductionCode2.h +2 -0
- data/vendor/cmock/vendor/unity/examples/test/TestProductionCode.c +62 -0
- data/vendor/cmock/vendor/unity/examples/test/TestProductionCode2.c +31 -0
- data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode2_Runner.c +46 -0
- data/vendor/cmock/vendor/unity/examples/test/no_ruby/TestProductionCode_Runner.c +50 -0
- data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/MakefileWorker.mk +0 -0
- data/vendor/{unity → cmock/vendor/unity}/extras/fixture/build/filterGcov.sh +0 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile.rb +37 -0
- data/vendor/cmock/vendor/unity/extras/fixture/rakefile_helper.rb +178 -0
- data/vendor/cmock/vendor/unity/extras/fixture/readme.txt +9 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.c +381 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture.h +81 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_internals.h +44 -0
- data/vendor/cmock/vendor/unity/extras/fixture/src/unity_fixture_malloc_overrides.h +16 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/main/AllTests.c +21 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/testunity_fixture.c +39 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_Test.c +321 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_fixture_TestRunner.c +40 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.c +56 -0
- data/vendor/cmock/vendor/unity/extras/fixture/test/unity_output_Spy.h +17 -0
- data/vendor/cmock/vendor/unity/makefile +35 -0
- data/vendor/cmock/vendor/unity/rakefile.rb +48 -0
- data/vendor/cmock/vendor/unity/rakefile_helper.rb +240 -0
- data/vendor/cmock/vendor/unity/release/build.info +2 -0
- data/vendor/cmock/vendor/unity/release/version.info +2 -0
- data/vendor/cmock/vendor/unity/src/unity.c +979 -0
- data/vendor/cmock/vendor/unity/src/unity.h +232 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +424 -0
- data/vendor/cmock/vendor/unity/targets/gcc.yml +43 -0
- data/vendor/cmock/vendor/unity/targets/gcc_64.yml +44 -0
- data/vendor/cmock/vendor/unity/targets/hitech_picc18.yml +101 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v4.yml +89 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v5.yml +79 -0
- data/vendor/cmock/vendor/unity/targets/iar_arm_v5_3.yml +79 -0
- data/vendor/cmock/vendor/unity/targets/iar_armcortex_LM3S9B92_v5_4.yml +93 -0
- data/vendor/cmock/vendor/unity/targets/iar_cortexm3_v5.yml +83 -0
- data/vendor/cmock/vendor/unity/targets/iar_msp430.yml +94 -0
- data/vendor/cmock/vendor/unity/targets/iar_sh2a_v6.yml +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_cmd.c +54 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_def.c +50 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_cmd.c +76 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_def.c +72 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new1.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_new2.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_param.c +73 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run1.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_run2.c +85 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_mock_yaml.c +86 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new1.c +60 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_new2.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_param.c +51 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run1.c +60 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_run2.c +63 -0
- data/vendor/cmock/vendor/unity/test/expectdata/testsample_yaml.c +64 -0
- data/vendor/cmock/vendor/unity/test/test_generate_test_runner.rb +94 -0
- data/vendor/cmock/vendor/unity/test/testdata/mocksample.c +51 -0
- data/vendor/cmock/vendor/unity/test/testdata/sample.yml +9 -0
- data/vendor/cmock/vendor/unity/test/testdata/testsample.c +51 -0
- data/vendor/cmock/vendor/unity/test/testparameterized.c +101 -0
- data/vendor/cmock/vendor/unity/test/testunity.c +2024 -0
- data/vendor/unity/Gemfile +4 -0
- data/vendor/unity/auto/generate_test_runner.rb +6 -3
- data/vendor/unity/examples/makefile +2 -2
- data/vendor/unity/examples/rakefile.rb +13 -2
- data/vendor/unity/extras/fixture/rakefile.rb +1 -1
- data/vendor/unity/extras/fixture/rakefile_helper.rb +4 -3
- data/vendor/unity/extras/fixture/src/unity_fixture.c +15 -12
- data/vendor/unity/extras/fixture/src/unity_fixture.h +5 -5
- data/vendor/unity/extras/fixture/src/unity_fixture_internals.h +1 -1
- data/vendor/unity/extras/fixture/test/unity_fixture_Test.c +6 -3
- data/vendor/unity/makefile +2 -2
- data/vendor/unity/src/unity.c +183 -16
- data/vendor/unity/src/unity.h +18 -5
- data/vendor/unity/src/unity_internals.h +57 -23
- data/vendor/unity/targets/gcc_64.yml +45 -0
- data/vendor/unity/test/testunity.c +436 -28
- metadata +200 -137
- data/ceedling-0.13.0.rc4.gem +0 -0
- data/ceedling.sublime-project +0 -8
- data/ceedling.sublime-workspace +0 -365
- data/lib/preprocessinator_includes_handler.rb +0 -55
- data/tags +0 -977
- data/vendor/cmock/vendor/hardmock/CHANGES +0 -78
- data/vendor/cmock/vendor/hardmock/LICENSE +0 -7
- data/vendor/cmock/vendor/hardmock/README +0 -70
- data/vendor/cmock/vendor/hardmock/Rakefile +0 -8
- data/vendor/cmock/vendor/hardmock/config/environment.rb +0 -12
- data/vendor/cmock/vendor/hardmock/lib/assert_error.rb +0 -23
- data/vendor/cmock/vendor/hardmock/lib/extend_test_unit.rb +0 -14
- data/vendor/cmock/vendor/hardmock/lib/hardmock.rb +0 -86
- data/vendor/cmock/vendor/hardmock/lib/hardmock/errors.rb +0 -22
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation.rb +0 -229
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expectation_builder.rb +0 -9
- data/vendor/cmock/vendor/hardmock/lib/hardmock/expector.rb +0 -26
- data/vendor/cmock/vendor/hardmock/lib/hardmock/method_cleanout.rb +0 -33
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock.rb +0 -180
- data/vendor/cmock/vendor/hardmock/lib/hardmock/mock_control.rb +0 -53
- data/vendor/cmock/vendor/hardmock/lib/hardmock/stubbing.rb +0 -210
- data/vendor/cmock/vendor/hardmock/lib/hardmock/trapper.rb +0 -31
- data/vendor/cmock/vendor/hardmock/lib/hardmock/utils.rb +0 -9
- data/vendor/cmock/vendor/hardmock/lib/test_unit_before_after.rb +0 -169
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc.rake +0 -19
- data/vendor/cmock/vendor/hardmock/rake_tasks/rdoc_options.rb +0 -4
- data/vendor/cmock/vendor/hardmock/rake_tasks/test.rake +0 -22
- data/vendor/cmock/vendor/hardmock/test/functional/assert_error_test.rb +0 -52
- data/vendor/cmock/vendor/hardmock/test/functional/auto_verify_test.rb +0 -178
- data/vendor/cmock/vendor/hardmock/test/functional/direct_mock_usage_test.rb +0 -396
- data/vendor/cmock/vendor/hardmock/test/functional/hardmock_test.rb +0 -434
- data/vendor/cmock/vendor/hardmock/test/functional/stubbing_test.rb +0 -479
- data/vendor/cmock/vendor/hardmock/test/test_helper.rb +0 -43
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_builder_test.rb +0 -19
- data/vendor/cmock/vendor/hardmock/test/unit/expectation_test.rb +0 -372
- data/vendor/cmock/vendor/hardmock/test/unit/expector_test.rb +0 -57
- data/vendor/cmock/vendor/hardmock/test/unit/method_cleanout_test.rb +0 -36
- data/vendor/cmock/vendor/hardmock/test/unit/mock_control_test.rb +0 -175
- data/vendor/cmock/vendor/hardmock/test/unit/mock_test.rb +0 -279
- data/vendor/cmock/vendor/hardmock/test/unit/test_unit_before_after_test.rb +0 -452
- data/vendor/cmock/vendor/hardmock/test/unit/trapper_test.rb +0 -62
- data/vendor/cmock/vendor/hardmock/test/unit/verify_error_test.rb +0 -40
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
here = File.expand_path(File.dirname(__FILE__))
|
|
2
|
-
$: << here
|
|
3
|
-
|
|
4
|
-
require "#{here}/../config/environment"
|
|
5
|
-
require 'test/unit'
|
|
6
|
-
require 'fileutils'
|
|
7
|
-
require 'logger'
|
|
8
|
-
require 'find'
|
|
9
|
-
require 'yaml'
|
|
10
|
-
require 'set'
|
|
11
|
-
require 'ostruct'
|
|
12
|
-
|
|
13
|
-
class Test::Unit::TestCase
|
|
14
|
-
include FileUtils
|
|
15
|
-
|
|
16
|
-
def poll(time_limit)
|
|
17
|
-
(time_limit * 10).to_i.times do
|
|
18
|
-
return true if yield
|
|
19
|
-
sleep 0.1
|
|
20
|
-
end
|
|
21
|
-
return false
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def self.it(str, &block)
|
|
25
|
-
make_test_case "it", str, &block
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def self.should(str, &block)
|
|
29
|
-
make_test_case "should", str, &block
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def self.make_test_case(prefix, str, &block)
|
|
33
|
-
tname = self.name.sub(/Test$/,'')
|
|
34
|
-
if block
|
|
35
|
-
define_method "test #{prefix} #{str}" do
|
|
36
|
-
instance_eval &block
|
|
37
|
-
end
|
|
38
|
-
else
|
|
39
|
-
puts ">>> UNIMPLEMENTED CASE: #{tname}: #{str}"
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
|
|
2
|
-
require 'hardmock/expectation_builder'
|
|
3
|
-
|
|
4
|
-
class ExpectationBuilderTest < Test::Unit::TestCase
|
|
5
|
-
include Hardmock
|
|
6
|
-
|
|
7
|
-
def test_build_expectation
|
|
8
|
-
builder = ExpectationBuilder.new
|
|
9
|
-
|
|
10
|
-
ex = builder.build_expectation( :stuff => 'inside' )
|
|
11
|
-
assert_not_nil ex, "Didn't build an expectation"
|
|
12
|
-
assert_kind_of Expectation, ex, "Wrong type!"
|
|
13
|
-
|
|
14
|
-
# Shhhh... fragile, yes, whatever. The functional tests do the
|
|
15
|
-
# real testing of this anyway
|
|
16
|
-
assert_equal({:stuff => 'inside'}, ex.instance_variable_get('@options'), "Hash not sent to SimpleExpectation constructor")
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
|
|
2
|
-
require 'hardmock/expectation'
|
|
3
|
-
require 'hardmock/errors'
|
|
4
|
-
require 'assert_error'
|
|
5
|
-
|
|
6
|
-
class ExpectationTest < Test::Unit::TestCase
|
|
7
|
-
include Hardmock
|
|
8
|
-
|
|
9
|
-
def setup
|
|
10
|
-
@mock = TheMock.new
|
|
11
|
-
end
|
|
12
|
-
#
|
|
13
|
-
# HELPERS
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
class TheMock
|
|
17
|
-
def _name; 'the_mock'; end
|
|
18
|
-
end
|
|
19
|
-
class OtherMock
|
|
20
|
-
def _name; 'other_mock'; end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
#
|
|
24
|
-
# TESTS
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
def test_to_s
|
|
28
|
-
ex = Expectation.new( :mock => @mock, :method => 'a_func', :arguments => [1, "two", :three, { :four => 4 }] )
|
|
29
|
-
assert_equal %|the_mock.a_func(1, "two", :three, {:four=>4})|, ex.to_s
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def test_apply_method_call
|
|
33
|
-
se = Expectation.new(:mock => @mock, :method => 'some_func',
|
|
34
|
-
:arguments => [1,'two',:three] )
|
|
35
|
-
|
|
36
|
-
# Try it good:
|
|
37
|
-
assert_nothing_raised ExpectationError do
|
|
38
|
-
se.apply_method_call( @mock, 'some_func', [1,'two',:three], nil )
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# Bad func name:
|
|
42
|
-
err = assert_raise ExpectationError do
|
|
43
|
-
se.apply_method_call( @mock, 'wrong_func', [1,'two',:three], nil )
|
|
44
|
-
end
|
|
45
|
-
assert_match(/wrong method/i, err.message)
|
|
46
|
-
assert_match(/wrong_func/i, err.message)
|
|
47
|
-
assert_match(/[1, "two", :three]/i, err.message)
|
|
48
|
-
assert_match(/some_func/i, err.message)
|
|
49
|
-
assert_match(/the_mock/i, err.message)
|
|
50
|
-
|
|
51
|
-
# Wrong mock
|
|
52
|
-
err = assert_raise ExpectationError do
|
|
53
|
-
se.apply_method_call( OtherMock.new, 'some_func', [1,'two',:three], nil )
|
|
54
|
-
end
|
|
55
|
-
assert_match(/[1, "two", :three]/i, err.message)
|
|
56
|
-
assert_match(/some_func/i, err.message)
|
|
57
|
-
assert_match(/the_mock/i, err.message)
|
|
58
|
-
assert_match(/other_mock/i, err.message)
|
|
59
|
-
|
|
60
|
-
# Wrong args
|
|
61
|
-
err = assert_raise ExpectationError do
|
|
62
|
-
se.apply_method_call( @mock, 'some_func', [1,'two',:four], nil)
|
|
63
|
-
end
|
|
64
|
-
assert_match(/[1, "two", :three]/i, err.message)
|
|
65
|
-
assert_match(/[1, "two", :four]/i, err.message)
|
|
66
|
-
assert_match(/wrong arguments/i, err.message)
|
|
67
|
-
assert_match(/some_func/i, err.message)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def test_apply_method_call_should_call_proc_when_given
|
|
71
|
-
# now with a proc
|
|
72
|
-
thinger = nil
|
|
73
|
-
the_proc = Proc.new { thinger = :shaq }
|
|
74
|
-
se = Expectation.new(:mock => @mock, :method => 'some_func',
|
|
75
|
-
:block => the_proc)
|
|
76
|
-
|
|
77
|
-
# Try it good:
|
|
78
|
-
assert_nil thinger
|
|
79
|
-
assert_nothing_raised ExpectationError do
|
|
80
|
-
se.apply_method_call(@mock, 'some_func', [], nil)
|
|
81
|
-
end
|
|
82
|
-
assert_equal :shaq, thinger, 'wheres shaq??'
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def test_apply_method_call_passes_runtime_block_as_last_argument_to_expectation_block
|
|
86
|
-
|
|
87
|
-
passed_block = nil
|
|
88
|
-
exp_block_called = false
|
|
89
|
-
exp_block = Proc.new { |blk|
|
|
90
|
-
exp_block_called = true
|
|
91
|
-
passed_block = blk
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
se = Expectation.new(:mock => @mock, :method => 'some_func', :block => exp_block,
|
|
95
|
-
:arguments => [])
|
|
96
|
-
|
|
97
|
-
set_flag = false
|
|
98
|
-
runtime_block = Proc.new { set_flag = true }
|
|
99
|
-
|
|
100
|
-
assert_nil passed_block, "Passed block should be nil"
|
|
101
|
-
assert !set_flag, "set_flag should be off"
|
|
102
|
-
|
|
103
|
-
# Go
|
|
104
|
-
se.apply_method_call( @mock, 'some_func', [], runtime_block)
|
|
105
|
-
|
|
106
|
-
# Examine the passed block
|
|
107
|
-
assert exp_block_called, "Expectation block not called"
|
|
108
|
-
assert_not_nil passed_block, "Should have been passed a block"
|
|
109
|
-
assert !set_flag, "set_flag should still be off"
|
|
110
|
-
passed_block.call
|
|
111
|
-
assert set_flag, "set_flag should be on"
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
def test_apply_method_call_fails_when_theres_no_expectation_block_to_handle_the_runtime_block
|
|
115
|
-
se = Expectation.new(:mock => @mock, :method => 'some_func', :arguments => [])
|
|
116
|
-
runtime_block = Proc.new { set_flag = true }
|
|
117
|
-
err = assert_raise ExpectationError do
|
|
118
|
-
se.apply_method_call( @mock, 'some_func', [], runtime_block)
|
|
119
|
-
end
|
|
120
|
-
assert_match(/unexpected block/i, err.message)
|
|
121
|
-
assert_match(/the_mock.some_func()/i, err.message)
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
def test_returns
|
|
125
|
-
se = Expectation.new(:mock => @mock, :method => 'some_func',
|
|
126
|
-
:arguments => [1,'two',:three])
|
|
127
|
-
|
|
128
|
-
se.returns "A value"
|
|
129
|
-
|
|
130
|
-
assert_equal "A value", se.apply_method_call(@mock, 'some_func', [1,'two',:three], nil)
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def test_apply_method_call_captures_block_value
|
|
134
|
-
the_proc = lambda { "in the block" }
|
|
135
|
-
se = Expectation.new(:mock => @mock, :method => 'do_it', :arguments => [], :block => the_proc)
|
|
136
|
-
|
|
137
|
-
assert_nil se.block_value, "Block value starts out nil"
|
|
138
|
-
|
|
139
|
-
se.apply_method_call(@mock, 'do_it', [], nil)
|
|
140
|
-
|
|
141
|
-
assert_equal "in the block", se.block_value, "Block value not captured"
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
def test_trigger
|
|
145
|
-
# convenience method for block_value.call
|
|
146
|
-
target = false
|
|
147
|
-
inner_proc = lambda { target = true }
|
|
148
|
-
the_proc = lambda { inner_proc }
|
|
149
|
-
se = Expectation.new(:mock => @mock, :method => 'do_it', :arguments => [], :block => the_proc)
|
|
150
|
-
|
|
151
|
-
assert_nil se.block_value, "Block value starts out nil"
|
|
152
|
-
se.apply_method_call(@mock, 'do_it', [], nil)
|
|
153
|
-
assert_not_nil se.block_value, "Block value not set"
|
|
154
|
-
|
|
155
|
-
assert !target, "Target should still be false"
|
|
156
|
-
se.trigger
|
|
157
|
-
assert target, "Target not true!"
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
def test_trigger_with_arguments
|
|
161
|
-
# convenience method for block_value.call
|
|
162
|
-
target = nil
|
|
163
|
-
inner_proc = lambda { |one,two| target = [one,two] }
|
|
164
|
-
the_proc = lambda { inner_proc }
|
|
165
|
-
se = Expectation.new(:mock => @mock, :method => 'do_it', :arguments => [], :block => the_proc)
|
|
166
|
-
|
|
167
|
-
assert_nil se.block_value, "Block value starts out nil"
|
|
168
|
-
se.apply_method_call(@mock, 'do_it', [], nil)
|
|
169
|
-
assert_not_nil se.block_value, "Block value not set"
|
|
170
|
-
|
|
171
|
-
assert_nil target, "target should still be nil"
|
|
172
|
-
se.trigger 'cat','dog'
|
|
173
|
-
assert_equal ['cat','dog'], target
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
def test_trigger_nil_block_value
|
|
177
|
-
se = Expectation.new(:mock => @mock, :method => 'do_it', :arguments => [])
|
|
178
|
-
|
|
179
|
-
assert_nil se.block_value, "Block value starts out nil"
|
|
180
|
-
se.apply_method_call(@mock, 'do_it', [], nil)
|
|
181
|
-
assert_nil se.block_value, "Block value should still be nil"
|
|
182
|
-
|
|
183
|
-
err = assert_raise ExpectationError do
|
|
184
|
-
se.trigger
|
|
185
|
-
end
|
|
186
|
-
assert_match(/do_it/i, err.message)
|
|
187
|
-
assert_match(/block value/i, err.message)
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
def test_trigger_non_proc_block_value
|
|
191
|
-
the_block = lambda { "woops" }
|
|
192
|
-
se = Expectation.new(:mock => @mock, :method => 'do_it', :arguments => [], :block => the_block)
|
|
193
|
-
|
|
194
|
-
se.apply_method_call(@mock, 'do_it', [], nil)
|
|
195
|
-
assert_equal "woops", se.block_value
|
|
196
|
-
|
|
197
|
-
err = assert_raise ExpectationError do
|
|
198
|
-
se.trigger
|
|
199
|
-
end
|
|
200
|
-
assert_match(/do_it/i, err.message)
|
|
201
|
-
assert_match(/trigger/i, err.message)
|
|
202
|
-
assert_match(/woops/i, err.message)
|
|
203
|
-
end
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
def test_proc_used_for_return
|
|
208
|
-
the_proc = lambda { "in the block" }
|
|
209
|
-
se = Expectation.new(:mock => @mock, :method => 'do_it', :arguments => [], :block => the_proc)
|
|
210
|
-
|
|
211
|
-
assert_equal "in the block", se.apply_method_call(@mock, 'do_it', [], nil)
|
|
212
|
-
assert_equal "in the block", se.block_value, "Captured block value affected wrongly"
|
|
213
|
-
end
|
|
214
|
-
|
|
215
|
-
def test_explicit_return_overrides_proc_return
|
|
216
|
-
the_proc = lambda { "in the block" }
|
|
217
|
-
se = Expectation.new(:mock => @mock, :method => 'do_it', :arguments => [], :block => the_proc)
|
|
218
|
-
se.returns "the override"
|
|
219
|
-
assert_equal "the override", se.apply_method_call(@mock, 'do_it', [], nil)
|
|
220
|
-
assert_equal "in the block", se.block_value, "Captured block value affected wrongly"
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
def test_yields
|
|
224
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot] )
|
|
225
|
-
se.yields :bean1, :bean2
|
|
226
|
-
|
|
227
|
-
things = []
|
|
228
|
-
a_block = lambda { |thinger| things << thinger }
|
|
229
|
-
|
|
230
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
231
|
-
assert_equal [:bean1,:bean2], things, "Wrong things"
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
def test_yields_block_takes_no_arguments
|
|
235
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot] )
|
|
236
|
-
se.yields
|
|
237
|
-
|
|
238
|
-
things = []
|
|
239
|
-
a_block = lambda { things << 'OOF' }
|
|
240
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
241
|
-
assert_equal ['OOF'], things
|
|
242
|
-
end
|
|
243
|
-
|
|
244
|
-
def test_yields_params_to_block_takes_no_arguments
|
|
245
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot] )
|
|
246
|
-
se.yields :wont_fit
|
|
247
|
-
|
|
248
|
-
things = []
|
|
249
|
-
a_block = lambda { things << 'WUP' }
|
|
250
|
-
|
|
251
|
-
err = assert_raise ExpectationError do
|
|
252
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
253
|
-
end
|
|
254
|
-
assert_match(/wont_fit/i, err.message)
|
|
255
|
-
assert_match(/arity -1/i, err.message)
|
|
256
|
-
assert_equal [], things, "Wrong things"
|
|
257
|
-
end
|
|
258
|
-
|
|
259
|
-
def test_yields_with_returns
|
|
260
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot] ,
|
|
261
|
-
:returns => 'the results')
|
|
262
|
-
|
|
263
|
-
exp = se.yields :bean1, :bean2
|
|
264
|
-
assert_same se, exp, "'yields' needs to return a reference to the expectation"
|
|
265
|
-
things = []
|
|
266
|
-
a_block = lambda { |thinger| things << thinger }
|
|
267
|
-
returned = se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
268
|
-
assert_equal [:bean1,:bean2], things, "Wrong things"
|
|
269
|
-
assert_equal 'the results', returned, "Wrong return value"
|
|
270
|
-
end
|
|
271
|
-
|
|
272
|
-
def test_yields_with_raises
|
|
273
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot],
|
|
274
|
-
:raises => RuntimeError.new("kerboom"))
|
|
275
|
-
|
|
276
|
-
exp = se.yields :bean1, :bean2
|
|
277
|
-
assert_same se, exp, "'yields' needs to return a reference to the expectation"
|
|
278
|
-
things = []
|
|
279
|
-
a_block = lambda { |thinger| things << thinger }
|
|
280
|
-
err = assert_raise RuntimeError do
|
|
281
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
282
|
-
end
|
|
283
|
-
assert_match(/kerboom/i, err.message)
|
|
284
|
-
assert_equal [:bean1,:bean2], things, "Wrong things"
|
|
285
|
-
end
|
|
286
|
-
|
|
287
|
-
def test_yields_and_inner_block_explodes
|
|
288
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot])
|
|
289
|
-
|
|
290
|
-
exp = se.yields :bean1, :bean2
|
|
291
|
-
assert_same se, exp, "'yields' needs to return a reference to the expectation"
|
|
292
|
-
things = []
|
|
293
|
-
a_block = lambda { |thinger|
|
|
294
|
-
things << thinger
|
|
295
|
-
raise "nasty"
|
|
296
|
-
}
|
|
297
|
-
err = assert_raise RuntimeError do
|
|
298
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
299
|
-
end
|
|
300
|
-
assert_match(/nasty/i, err.message)
|
|
301
|
-
assert_equal [:bean1], things, "Wrong things"
|
|
302
|
-
end
|
|
303
|
-
|
|
304
|
-
def test_yields_with_several_arrays
|
|
305
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot] )
|
|
306
|
-
se.yields ['a','b'], ['c','d']
|
|
307
|
-
|
|
308
|
-
things = []
|
|
309
|
-
a_block = lambda { |thinger| things << thinger }
|
|
310
|
-
|
|
311
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
312
|
-
assert_equal [ ['a','b'], ['c','d'] ], things, "Wrong things"
|
|
313
|
-
end
|
|
314
|
-
|
|
315
|
-
def test_yields_tuples
|
|
316
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot] )
|
|
317
|
-
se.yields ['a','b','c'], ['d','e','f']
|
|
318
|
-
|
|
319
|
-
things = []
|
|
320
|
-
a_block = lambda { |left,mid,right|
|
|
321
|
-
things << { :left => left, :mid => mid, :right => right }
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
325
|
-
assert_equal [
|
|
326
|
-
{:left => 'a', :mid => 'b', :right => 'c' },
|
|
327
|
-
{:left => 'd', :mid => 'e', :right => 'f' },
|
|
328
|
-
], things, "Wrong things"
|
|
329
|
-
end
|
|
330
|
-
|
|
331
|
-
def test_yields_tuples_size_mismatch
|
|
332
|
-
se = Expectation.new(:mock => @mock, :method => 'each_bean', :arguments => [:side_slot] )
|
|
333
|
-
se.yields ['a','b','c'], ['d','e','f']
|
|
334
|
-
|
|
335
|
-
things = []
|
|
336
|
-
a_block = lambda { |left,mid|
|
|
337
|
-
things << { :left => left, :mid => mid }
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
err = assert_raise ExpectationError do
|
|
341
|
-
se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
|
|
342
|
-
end
|
|
343
|
-
assert_match(/arity/i, err.message)
|
|
344
|
-
assert_match(/the_mock.each_bean/i, err.message)
|
|
345
|
-
assert_match(/"a", "b", "c"/i, err.message)
|
|
346
|
-
assert_equal [], things, "Wrong things"
|
|
347
|
-
end
|
|
348
|
-
|
|
349
|
-
def test_yields_bad_block_arity
|
|
350
|
-
se = Expectation.new(:mock => @mock, :method => 'do_later', :arguments => [] )
|
|
351
|
-
se.yields
|
|
352
|
-
|
|
353
|
-
assert_error Hardmock::ExpectationError, /block/i, /expected/i, /no param/i, /got 2/i do
|
|
354
|
-
se.apply_method_call(@mock,'do_later',[],lambda { |doesnt,match| raise "Surprise!" } )
|
|
355
|
-
end
|
|
356
|
-
end
|
|
357
|
-
|
|
358
|
-
def test_that_arguments_can_be_added_to_expectation
|
|
359
|
-
expectation = Expectation.new(:mock => @mock, :method => "each_bean")
|
|
360
|
-
assert_same expectation, expectation.with("jello", "for", "cosby"), "should have returned the same expectation"
|
|
361
|
-
|
|
362
|
-
err = assert_raise ExpectationError do
|
|
363
|
-
expectation.apply_method_call(@mock, 'each_bean', [], nil)
|
|
364
|
-
end
|
|
365
|
-
assert_match(/wrong arguments/i, err.message)
|
|
366
|
-
|
|
367
|
-
assert_nothing_raised(ExpectationError) do
|
|
368
|
-
expectation.apply_method_call(@mock, 'each_bean', ["jello", "for", "cosby"], nil)
|
|
369
|
-
end
|
|
370
|
-
end
|
|
371
|
-
|
|
372
|
-
end
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
|
|
2
|
-
require 'hardmock/expector'
|
|
3
|
-
|
|
4
|
-
class ExpectorTest < Test::Unit::TestCase
|
|
5
|
-
include Hardmock
|
|
6
|
-
|
|
7
|
-
class MyControl
|
|
8
|
-
attr_reader :added
|
|
9
|
-
def add_expectation(expectation)
|
|
10
|
-
@added ||= []
|
|
11
|
-
@added << expectation
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
class ExpBuilder
|
|
16
|
-
attr_reader :options
|
|
17
|
-
def build_expectation(options)
|
|
18
|
-
@options = options
|
|
19
|
-
"dummy expectation"
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def try_it_with(method_name)
|
|
24
|
-
mock = Object.new
|
|
25
|
-
mock_control = MyControl.new
|
|
26
|
-
builder = ExpBuilder.new
|
|
27
|
-
|
|
28
|
-
exp = Expector.new(mock, mock_control, builder)
|
|
29
|
-
output = exp.send(method_name,:with, 1, 'sauce')
|
|
30
|
-
|
|
31
|
-
assert_same mock, builder.options[:mock]
|
|
32
|
-
assert_equal method_name, builder.options[:method].to_s
|
|
33
|
-
assert_equal [:with,1,'sauce'], builder.options[:arguments]
|
|
34
|
-
assert_nil builder.options[:block]
|
|
35
|
-
assert_equal [ "dummy expectation" ], mock_control.added,
|
|
36
|
-
"Wrong expectation added to control"
|
|
37
|
-
|
|
38
|
-
assert_equal "dummy expectation", output, "Expectation should have been returned"
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
# TESTS
|
|
43
|
-
#
|
|
44
|
-
def test_method_missing
|
|
45
|
-
try_it_with 'wonder_bread'
|
|
46
|
-
try_it_with 'whatever'
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def test_methods_that_wont_trigger_method_missing
|
|
50
|
-
mock = Object.new
|
|
51
|
-
mock_control = MyControl.new
|
|
52
|
-
builder = ExpBuilder.new
|
|
53
|
-
|
|
54
|
-
exp = Expector.new(mock, mock_control, builder)
|
|
55
|
-
assert_equal mock, exp.instance_eval("@mock")
|
|
56
|
-
end
|
|
57
|
-
end
|