flexmock 0.8.0 → 0.8.1
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.
- data/CHANGES +6 -0
 - data/README +1 -1
 - data/Rakefile +1 -1
 - data/TAGS +282 -192
 - data/doc/releases/flexmock-0.8.0.rdoc +2 -2
 - data/lib/flexmock/expectation.rb +3 -3
 - data/lib/flexmock/mock_container.rb +3 -0
 - data/lib/flexmock/partial_mock.rb +14 -9
 - data/lib/flexmock/rails/view_mocking.rb +76 -5
 - data/test/test_deprecated_methods.rb +1 -1
 - data/test/test_flexmodel.rb +1 -0
 - data/test/test_new_instances.rb +9 -10
 - data/test/test_rails_view_stub.rb +46 -9
 - data/test/test_record_mode.rb +3 -0
 - metadata +59 -52
 
    
        data/CHANGES
    CHANGED
    
    | 
         @@ -1,5 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            = Changes for FlexMock
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            == Pre-Version 0.8.1
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            * Added Joe O'Brien's patch to allow view stubbing in Rails 2.0
         
     | 
| 
      
 6 
     | 
    
         
            +
            * Added Evan Phoenix's patch to remove allocate from default
         
     | 
| 
      
 7 
     | 
    
         
            +
              allocators in new_instances (for Rubinius compatibility).
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       3 
9 
     | 
    
         
             
            == Version 0.8.0
         
     | 
| 
       4 
10 
     | 
    
         | 
| 
       5 
11 
     | 
    
         
             
            * Added by_default
         
     | 
    
        data/README
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    
    
        data/TAGS
    CHANGED
    
    | 
         @@ -1,12 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         | 
| 
       2 
     | 
    
         
            -
            install.rb,29
         
     | 
| 
       3 
     | 
    
         
            -
            def indir(newdir)indir7,68
         
     | 
| 
       4 
     | 
    
         
            -
            
         
     | 
| 
       5 
2 
     | 
    
         
             
            doc/jamis.rb,43
         
     | 
| 
       6 
3 
     | 
    
         
             
            module RDocRDoc1,0
         
     | 
| 
       7 
4 
     | 
    
         
             
            module PagePage2,12
         
     | 
| 
       8 
5 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
      
 6 
     | 
    
         
            +
            install.rb,29
         
     | 
| 
      
 7 
     | 
    
         
            +
            def indir(newdir)indir7,68
         
     | 
| 
       10 
8 
     | 
    
         | 
| 
       11 
9 
     | 
    
         
             
            lib/flexmock/argument_matchers.rb,424
         
     | 
| 
       12 
10 
     | 
    
         
             
            class FlexMockFlexMock14,338
         
     | 
| 
         @@ -34,23 +32,24 @@ lib/flexmock/base.rb,0 
     | 
|
| 
       34 
32 
     | 
    
         
             
            lib/flexmock/composite.rb,30
         
     | 
| 
       35 
33 
     | 
    
         
             
            class FlexMockFlexMock8,133
         
     | 
| 
       36 
34 
     | 
    
         | 
| 
       37 
     | 
    
         
            -
            lib/flexmock/core.rb, 
     | 
| 
      
 35 
     | 
    
         
            +
            lib/flexmock/core.rb,900
         
     | 
| 
       38 
36 
     | 
    
         
             
            class FlexMockFlexMock46,1290
         
     | 
| 
       39 
37 
     | 
    
         
             
              def initialize(name="unknown", container=nil)initialize55,1560
         
     | 
| 
       40 
38 
     | 
    
         
             
              def inspectinspect65,1854
         
     | 
| 
       41 
39 
     | 
    
         
             
              def flexmock_verifyflexmock_verify71,2014
         
     | 
| 
       42 
40 
     | 
    
         
             
              def flexmock_teardownflexmock_teardown82,2255
         
     | 
| 
       43 
41 
     | 
    
         
             
              def should_ignore_missingshould_ignore_missing86,2335
         
     | 
| 
       44 
     | 
    
         
            -
              def  
     | 
| 
       45 
     | 
    
         
            -
              def  
     | 
| 
       46 
     | 
    
         
            -
              def  
     | 
| 
       47 
     | 
    
         
            -
              def  
     | 
| 
       48 
     | 
    
         
            -
              def  
     | 
| 
       49 
     | 
    
         
            -
              def  
     | 
| 
       50 
     | 
    
         
            -
              def  
     | 
| 
       51 
     | 
    
         
            -
              def  
     | 
| 
       52 
     | 
    
         
            -
              def  
     | 
| 
       53 
     | 
    
         
            -
              def  
     | 
| 
      
 42 
     | 
    
         
            +
              def by_defaultby_default91,2447
         
     | 
| 
      
 43 
     | 
    
         
            +
              def method_missing(sym, *args, &block)method_missing97,2576
         
     | 
| 
      
 44 
     | 
    
         
            +
              def respond_to?(sym, *args)respond_to?114,3048
         
     | 
| 
      
 45 
     | 
    
         
            +
              def flexmock_find_expectation(method_name, *args) # :nodoc:flexmock_find_expectation119,3204
         
     | 
| 
      
 46 
     | 
    
         
            +
              def flexmock_expectations_for(method_name) # :nodoc:flexmock_expectations_for125,3409
         
     | 
| 
      
 47 
     | 
    
         
            +
              def method(sym)method130,3568
         
     | 
| 
      
 48 
     | 
    
         
            +
              def should_receive(*args)should_receive159,4607
         
     | 
| 
      
 49 
     | 
    
         
            +
              def should_expectshould_expect182,5352
         
     | 
| 
      
 50 
     | 
    
         
            +
              def flexmock_wrap(&block)flexmock_wrap190,5542
         
     | 
| 
      
 51 
     | 
    
         
            +
              def override_existing_method(sym)override_existing_method204,6101
         
     | 
| 
      
 52 
     | 
    
         
            +
              def sclasssclass213,6321
         
     | 
| 
       54 
53 
     | 
    
         | 
| 
       55 
54 
     | 
    
         
             
            lib/flexmock/core_class_methods.rb,289
         
     | 
| 
       56 
55 
     | 
    
         
             
            class FlexMockFlexMock15,371
         
     | 
| 
         @@ -91,44 +90,44 @@ class FlexMockFlexMock14,337 
     | 
|
| 
       91 
90 
     | 
    
         
             
                def verify_call(*args)verify_call55,1562
         
     | 
| 
       92 
91 
     | 
    
         
             
                def _return_value(args) # :nodoc:_return_value64,1782
         
     | 
| 
       93 
92 
     | 
    
         
             
                def return_value(args)return_value69,1922
         
     | 
| 
       94 
     | 
    
         
            -
                def perform_yielding(args)perform_yielding83, 
     | 
| 
       95 
     | 
    
         
            -
                def eligible?eligible?99, 
     | 
| 
       96 
     | 
    
         
            -
                def call_count_constrained?call_count_constrained?104, 
     | 
| 
       97 
     | 
    
         
            -
                def validate_ordervalidate_order109, 
     | 
| 
       98 
     | 
    
         
            -
                def flexmock_verifyflexmock_verify121, 
     | 
| 
       99 
     | 
    
         
            -
                def match_args(args)match_args129, 
     | 
| 
       100 
     | 
    
         
            -
                def match_arg(expected, actual)match_arg138, 
     | 
| 
       101 
     | 
    
         
            -
                def with(*args)with145, 
     | 
| 
       102 
     | 
    
         
            -
                def with_no_argswith_no_args151, 
     | 
| 
       103 
     | 
    
         
            -
                def with_any_argswith_any_args157, 
     | 
| 
       104 
     | 
    
         
            -
                def and_return(*args, &block)and_return188, 
     | 
| 
       105 
     | 
    
         
            -
                def and_return_undefinedand_return_undefined212, 
     | 
| 
       106 
     | 
    
         
            -
                def and_yield(*yield_values)and_yield228, 
     | 
| 
       107 
     | 
    
         
            -
                def and_raise(exception, *args)and_raise252, 
     | 
| 
       108 
     | 
    
         
            -
                def and_throw(sym, value=nil)and_throw266, 
     | 
| 
       109 
     | 
    
         
            -
                def zero_or_more_timeszero_or_more_times272, 
     | 
| 
       110 
     | 
    
         
            -
                def times(limit)times279, 
     | 
| 
       111 
     | 
    
         
            -
                def nevernever288, 
     | 
| 
       112 
     | 
    
         
            -
                def onceonce295, 
     | 
| 
       113 
     | 
    
         
            -
                def twicetwice302, 
     | 
| 
       114 
     | 
    
         
            -
                def at_leastat_least314, 
     | 
| 
       115 
     | 
    
         
            -
                def at_mostat_most327, 
     | 
| 
       116 
     | 
    
         
            -
                def ordered(group_name=nil)ordered356, 
     | 
| 
       117 
     | 
    
         
            -
                def globallyglobally368, 
     | 
| 
       118 
     | 
    
         
            -
                def define_ordered(group_name, ordering)define_ordered374, 
     | 
| 
       119 
     | 
    
         
            -
                def by_defaultby_default388, 
     | 
| 
       120 
     | 
    
         
            -
              class CompositeExpectationCompositeExpectation399, 
     | 
| 
       121 
     | 
    
         
            -
                def initializeinitialize402, 
     | 
| 
       122 
     | 
    
         
            -
                def add(expectation)add407, 
     | 
| 
       123 
     | 
    
         
            -
                def method_missing(sym, *args, &block)method_missing412, 
     | 
| 
       124 
     | 
    
         
            -
                def order_numberorder_number423, 
     | 
| 
       125 
     | 
    
         
            -
                def mockmock428, 
     | 
| 
       126 
     | 
    
         
            -
                def should_receive(*args, &block)should_receive434, 
     | 
| 
       127 
     | 
    
         
            -
                def to_sto_s439, 
     | 
| 
       128 
     | 
    
         
            -
              class ExpectationRecorderExpectationRecorder453, 
     | 
| 
       129 
     | 
    
         
            -
                def initializeinitialize456, 
     | 
| 
       130 
     | 
    
         
            -
                def method_missing(sym, *args, &block)method_missing461, 
     | 
| 
       131 
     | 
    
         
            -
                def apply(mock)apply469, 
     | 
| 
      
 93 
     | 
    
         
            +
                def perform_yielding(args)perform_yielding83,2253
         
     | 
| 
      
 94 
     | 
    
         
            +
                def eligible?eligible?99,2839
         
     | 
| 
      
 95 
     | 
    
         
            +
                def call_count_constrained?call_count_constrained?104,2988
         
     | 
| 
      
 96 
     | 
    
         
            +
                def validate_ordervalidate_order109,3098
         
     | 
| 
      
 97 
     | 
    
         
            +
                def flexmock_verifyflexmock_verify121,3473
         
     | 
| 
      
 98 
     | 
    
         
            +
                def match_args(args)match_args129,3670
         
     | 
| 
      
 99 
     | 
    
         
            +
                def match_arg(expected, actual)match_arg138,4016
         
     | 
| 
      
 100 
     | 
    
         
            +
                def with(*args)with145,4245
         
     | 
| 
      
 101 
     | 
    
         
            +
                def with_no_argswith_no_args151,4379
         
     | 
| 
      
 102 
     | 
    
         
            +
                def with_any_argswith_any_args157,4512
         
     | 
| 
      
 103 
     | 
    
         
            +
                def and_return(*args, &block)and_return188,5521
         
     | 
| 
      
 104 
     | 
    
         
            +
                def and_return_undefinedand_return_undefined212,6239
         
     | 
| 
      
 105 
     | 
    
         
            +
                def and_yield(*yield_values)and_yield228,6808
         
     | 
| 
      
 106 
     | 
    
         
            +
                def and_raise(exception, *args)and_raise252,7571
         
     | 
| 
      
 107 
     | 
    
         
            +
                def and_throw(sym, value=nil)and_throw266,7936
         
     | 
| 
      
 108 
     | 
    
         
            +
                def zero_or_more_timeszero_or_more_times272,8111
         
     | 
| 
      
 109 
     | 
    
         
            +
                def times(limit)times279,8334
         
     | 
| 
      
 110 
     | 
    
         
            +
                def nevernever288,8681
         
     | 
| 
      
 111 
     | 
    
         
            +
                def onceonce295,8896
         
     | 
| 
      
 112 
     | 
    
         
            +
                def twicetwice302,9111
         
     | 
| 
      
 113 
     | 
    
         
            +
                def at_leastat_least314,9437
         
     | 
| 
      
 114 
     | 
    
         
            +
                def at_mostat_most327,9816
         
     | 
| 
      
 115 
     | 
    
         
            +
                def ordered(group_name=nil)ordered356,11085
         
     | 
| 
      
 116 
     | 
    
         
            +
                def globallyglobally368,11465
         
     | 
| 
      
 117 
     | 
    
         
            +
                def define_ordered(group_name, ordering)define_ordered374,11580
         
     | 
| 
      
 118 
     | 
    
         
            +
                def by_defaultby_default388,12078
         
     | 
| 
      
 119 
     | 
    
         
            +
              class CompositeExpectationCompositeExpectation399,12485
         
     | 
| 
      
 120 
     | 
    
         
            +
                def initializeinitialize402,12559
         
     | 
| 
      
 121 
     | 
    
         
            +
                def add(expectation)add407,12655
         
     | 
| 
      
 122 
     | 
    
         
            +
                def method_missing(sym, *args, &block)method_missing412,12796
         
     | 
| 
      
 123 
     | 
    
         
            +
                def order_numberorder_number423,13175
         
     | 
| 
      
 124 
     | 
    
         
            +
                def mockmock428,13285
         
     | 
| 
      
 125 
     | 
    
         
            +
                def should_receive(*args, &block)should_receive434,13453
         
     | 
| 
      
 126 
     | 
    
         
            +
                def to_sto_s439,13599
         
     | 
| 
      
 127 
     | 
    
         
            +
              class ExpectationRecorderExpectationRecorder453,14057
         
     | 
| 
      
 128 
     | 
    
         
            +
                def initializeinitialize456,14117
         
     | 
| 
      
 129 
     | 
    
         
            +
                def method_missing(sym, *args, &block)method_missing461,14228
         
     | 
| 
      
 130 
     | 
    
         
            +
                def apply(mock)apply469,14504
         
     | 
| 
       132 
131 
     | 
    
         | 
| 
       133 
132 
     | 
    
         
             
            lib/flexmock/expectation_director.rb,483
         
     | 
| 
       134 
133 
     | 
    
         
             
            class FlexMockFlexMock15,363
         
     | 
| 
         @@ -139,7 +138,7 @@ class FlexMockFlexMock15,363 
     | 
|
| 
       139 
138 
     | 
    
         
             
                def find_expectation(*args) # :nodoc:find_expectation51,1584
         
     | 
| 
       140 
139 
     | 
    
         
             
                def flexmock_verify         # :nodoc:flexmock_verify59,1909
         
     | 
| 
       141 
140 
     | 
    
         
             
                def defaultify_expectation(exp) # :nodoc:defaultify_expectation66,2120
         
     | 
| 
       142 
     | 
    
         
            -
                def find_expectation_in(expectations, *args)find_expectation_in78, 
     | 
| 
      
 141 
     | 
    
         
            +
                def find_expectation_in(expectations, *args)find_expectation_in78,2401
         
     | 
| 
       143 
142 
     | 
    
         | 
| 
       144 
143 
     | 
    
         
             
            lib/flexmock/mock_container.rb,882
         
     | 
| 
       145 
144 
     | 
    
         
             
            class FlexMockFlexMock15,371
         
     | 
| 
         @@ -153,10 +152,10 @@ class FlexMockFlexMock15,371 
     | 
|
| 
       153 
152 
     | 
    
         
             
                def next_idnext_id177,6719
         
     | 
| 
       154 
153 
     | 
    
         
             
                def parse_should_args(mock, args, &block)  # :nodoc:parse_should_args190,7192
         
     | 
| 
       155 
154 
     | 
    
         
             
                def add_model_methods(mock, model_class, id)add_model_methods208,7705
         
     | 
| 
       156 
     | 
    
         
            -
                def make_partial_proxy(container, obj, name, safe_mode)make_partial_proxy 
     | 
| 
       157 
     | 
    
         
            -
                def build_demeter_chain(mock, arg, &block)build_demeter_chain 
     | 
| 
       158 
     | 
    
         
            -
                def check_proper_mock(mock, method_name)check_proper_mock 
     | 
| 
       159 
     | 
    
         
            -
                def check_method_names(names)check_method_names 
     | 
| 
      
 155 
     | 
    
         
            +
                def make_partial_proxy(container, obj, name, safe_mode)make_partial_proxy232,8564
         
     | 
| 
      
 156 
     | 
    
         
            +
                def build_demeter_chain(mock, arg, &block)build_demeter_chain277,10417
         
     | 
| 
      
 157 
     | 
    
         
            +
                def check_proper_mock(mock, method_name)check_proper_mock302,11268
         
     | 
| 
      
 158 
     | 
    
         
            +
                def check_method_names(names)check_method_names312,11675
         
     | 
| 
       160 
159 
     | 
    
         | 
| 
       161 
160 
     | 
    
         
             
            lib/flexmock/noop.rb,0
         
     | 
| 
       162 
161 
     | 
    
         | 
| 
         @@ -173,26 +172,36 @@ lib/flexmock/partial_mock.rb,1380 
     | 
|
| 
       173 
172 
     | 
    
         
             
            class FlexMockFlexMock14,337
         
     | 
| 
       174 
173 
     | 
    
         
             
              class PartialMockProxyPartialMockProxy26,968
         
     | 
| 
       175 
174 
     | 
    
         
             
                def initialize(obj, mock, safe_mode)initialize40,1310
         
     | 
| 
       176 
     | 
    
         
            -
                def flexmock_getflexmock_get 
     | 
| 
       177 
     | 
    
         
            -
                def should_receive(*args)should_receive 
     | 
| 
       178 
     | 
    
         
            -
                def add_mock_method(obj, method_name)add_mock_method 
     | 
| 
       179 
     | 
    
         
            -
                def new_instances(*allocators, &block)new_instances 
     | 
| 
       180 
     | 
    
         
            -
                def invoke_original(method, args)invoke_original 
     | 
| 
       181 
     | 
    
         
            -
                def flexmock_verifyflexmock_verify 
     | 
| 
       182 
     | 
    
         
            -
                def flexmock_teardownflexmock_teardown 
     | 
| 
       183 
     | 
    
         
            -
                def flexmock_containerflexmock_container 
     | 
| 
       184 
     | 
    
         
            -
                def flexmock_container=(container)flexmock_container= 
     | 
| 
       185 
     | 
    
         
            -
                def flexmock_expectations_for(method_name)flexmock_expectations_for 
     | 
| 
       186 
     | 
    
         
            -
                def sclasssclass 
     | 
| 
       187 
     | 
    
         
            -
                def singleton?(method_name)singleton? 
     | 
| 
       188 
     | 
    
         
            -
                def hide_existing_method(method_name)hide_existing_method 
     | 
| 
       189 
     | 
    
         
            -
                def stow_existing_definition(method_name)stow_existing_definition 
     | 
| 
       190 
     | 
    
         
            -
                def create_alias_for_existing_method(method_name)create_alias_for_existing_method 
     | 
| 
       191 
     | 
    
         
            -
                def define_proxy_method(method_name)define_proxy_method 
     | 
| 
       192 
     | 
    
         
            -
                def restore_original_definition(method_name)restore_original_definition 
     | 
| 
       193 
     | 
    
         
            -
                def remove_current_method(method_name)remove_current_method 
     | 
| 
       194 
     | 
    
         
            -
                def detached?detached? 
     | 
| 
       195 
     | 
    
         
            -
                def new_name(old_name)new_name 
     | 
| 
      
 175 
     | 
    
         
            +
                def flexmock_getflexmock_get55,1675
         
     | 
| 
      
 176 
     | 
    
         
            +
                def should_receive(*args)should_receive79,2615
         
     | 
| 
      
 177 
     | 
    
         
            +
                def add_mock_method(obj, method_name)add_mock_method90,2893
         
     | 
| 
      
 178 
     | 
    
         
            +
                def new_instances(*allocators, &block)new_instances118,3947
         
     | 
| 
      
 179 
     | 
    
         
            +
                def invoke_original(method, args)invoke_original139,4749
         
     | 
| 
      
 180 
     | 
    
         
            +
                def flexmock_verifyflexmock_verify147,5043
         
     | 
| 
      
 181 
     | 
    
         
            +
                def flexmock_teardownflexmock_teardown152,5179
         
     | 
| 
      
 182 
     | 
    
         
            +
                def flexmock_containerflexmock_container164,5517
         
     | 
| 
      
 183 
     | 
    
         
            +
                def flexmock_container=(container)flexmock_container=170,5712
         
     | 
| 
      
 184 
     | 
    
         
            +
                def flexmock_expectations_for(method_name)flexmock_expectations_for174,5828
         
     | 
| 
      
 185 
     | 
    
         
            +
                def sclasssclass181,5989
         
     | 
| 
      
 186 
     | 
    
         
            +
                def singleton?(method_name)singleton?187,6130
         
     | 
| 
      
 187 
     | 
    
         
            +
                def hide_existing_method(method_name)hide_existing_method197,6592
         
     | 
| 
      
 188 
     | 
    
         
            +
                def stow_existing_definition(method_name)stow_existing_definition204,6809
         
     | 
| 
      
 189 
     | 
    
         
            +
                def create_alias_for_existing_method(method_name)create_alias_for_existing_method224,7526
         
     | 
| 
      
 190 
     | 
    
         
            +
                def define_proxy_method(method_name)define_proxy_method242,8045
         
     | 
| 
      
 191 
     | 
    
         
            +
                def restore_original_definition(method_name)restore_original_definition263,8745
         
     | 
| 
      
 192 
     | 
    
         
            +
                def remove_current_method(method_name)remove_current_method275,9109
         
     | 
| 
      
 193 
     | 
    
         
            +
                def detached?detached?280,9270
         
     | 
| 
      
 194 
     | 
    
         
            +
                def new_name(old_name)new_name285,9378
         
     | 
| 
      
 195 
     | 
    
         
            +
            
         
     | 
| 
      
 196 
     | 
    
         
            +
            lib/flexmock/rails/view_mocking.rb,404
         
     | 
| 
      
 197 
     | 
    
         
            +
            class FlexMockFlexMock3,20
         
     | 
| 
      
 198 
     | 
    
         
            +
              module MockContainerMockContainer4,35
         
     | 
| 
      
 199 
     | 
    
         
            +
                def rails_versionrails_version6,59
         
     | 
| 
      
 200 
     | 
    
         
            +
                def should_render_view(template_name=nil)should_render_view25,684
         
     | 
| 
      
 201 
     | 
    
         
            +
                def should_render_view_prior_version_124(template_name) # :nodoc:should_render_view_prior_version_12437,1045
         
     | 
| 
      
 202 
     | 
    
         
            +
                def should_render_view_after_version_124(template_name)should_render_view_after_version_12457,1795
         
     | 
| 
      
 203 
     | 
    
         
            +
            
         
     | 
| 
      
 204 
     | 
    
         
            +
            lib/flexmock/rails.rb,0
         
     | 
| 
       196 
205 
     | 
    
         | 
| 
       197 
206 
     | 
    
         
             
            lib/flexmock/recorder.rb,271
         
     | 
| 
       198 
207 
     | 
    
         
             
            class FlexMockFlexMock14,347
         
     | 
| 
         @@ -246,6 +255,8 @@ class FlexMockFlexMock14,337 
     | 
|
| 
       246 
255 
     | 
    
         
             
              class AtMostCountValidator < CountValidatorAtMostCountValidator69,2058
         
     | 
| 
       247 
256 
     | 
    
         
             
                def validate(n)validate71,2173
         
     | 
| 
       248 
257 
     | 
    
         | 
| 
      
 258 
     | 
    
         
            +
            lib/flexmock.rb,0
         
     | 
| 
      
 259 
     | 
    
         
            +
            
         
     | 
| 
       249 
260 
     | 
    
         
             
            test/asserts.rb,139
         
     | 
| 
       250 
261 
     | 
    
         
             
            class FlexMockFlexMock12,312
         
     | 
| 
       251 
262 
     | 
    
         
             
              module FailureAssertionFailureAssertion15,368
         
     | 
| 
         @@ -256,6 +267,8 @@ class FlexMockFlexMock3,20 
     | 
|
| 
       256 
267 
     | 
    
         
             
              module RedirectErrorRedirectError4,35
         
     | 
| 
       257 
268 
     | 
    
         
             
                def redirect_errorredirect_error5,58
         
     | 
| 
       258 
269 
     | 
    
         | 
| 
      
 270 
     | 
    
         
            +
            test/rspec_integration/integration_spec.rb,0
         
     | 
| 
      
 271 
     | 
    
         
            +
            
         
     | 
| 
       259 
272 
     | 
    
         
             
            test/test_aliasing.rb,522
         
     | 
| 
       260 
273 
     | 
    
         
             
            class FlexMockFlexMock6,61
         
     | 
| 
       261 
274 
     | 
    
         
             
              module StubsAndExpectsStubsAndExpects7,76
         
     | 
| 
         @@ -323,36 +336,52 @@ class TestFlexMock < Test::Unit::TestCaseTestFlexMock17,420 
     | 
|
| 
       323 
336 
     | 
    
         
             
              def test_called_with_blocktest_called_with_block42,898
         
     | 
| 
       324 
337 
     | 
    
         
             
              def test_return_valuetest_return_value49,1096
         
     | 
| 
       325 
338 
     | 
    
         
             
              def test_handle_missing_methodtest_handle_missing_method54,1201
         
     | 
| 
       326 
     | 
    
         
            -
              def test_ignore_missing_methodtest_ignore_missing_method62, 
     | 
| 
       327 
     | 
    
         
            -
              def test_good_countstest_good_counts68, 
     | 
| 
       328 
     | 
    
         
            -
              def test_bad_countstest_bad_counts76, 
     | 
| 
       329 
     | 
    
         
            -
              def test_undetermined_countstest_undetermined_counts87, 
     | 
| 
       330 
     | 
    
         
            -
              def test_zero_countstest_zero_counts96, 
     | 
| 
       331 
     | 
    
         
            -
              def test_file_io_with_usetest_file_io_with_use105, 
     | 
| 
       332 
     | 
    
         
            -
              def count_lines(stream)count_lines113, 
     | 
| 
       333 
     | 
    
         
            -
              def test_usetest_use121, 
     | 
| 
       334 
     | 
    
         
            -
              def test_failures_during_usetest_failures_during_use130, 
     | 
| 
       335 
     | 
    
         
            -
              def test_sequential_valuestest_sequential_values140, 
     | 
| 
       336 
     | 
    
         
            -
              def test_respond_to_returns_false_for_non_handled_methodstest_respond_to_returns_false_for_non_handled_methods149, 
     | 
| 
       337 
     | 
    
         
            -
              def test_respond_to_returns_true_for_explicit_methodstest_respond_to_returns_true_for_explicit_methods153, 
     | 
| 
       338 
     | 
    
         
            -
              def test_respond_to_returns_true_for_missing_methods_when_ignoring_missingtest_respond_to_returns_true_for_missing_methods_when_ignoring_missing158, 
     | 
| 
       339 
     | 
    
         
            -
              def test_respond_to_returns_true_for_missing_methods_when_ignoring_missing_using_shouldtest_respond_to_returns_true_for_missing_methods_when_ignoring_missing_using_should163, 
     | 
| 
       340 
     | 
    
         
            -
              def test_method_proc_raises_error_on_unknowntest_method_proc_raises_error_on_unknown168, 
     | 
| 
       341 
     | 
    
         
            -
              def test_method_returns_callable_proctest_method_returns_callable_proc174, 
     | 
| 
       342 
     | 
    
         
            -
              def test_method_returns_do_nothing_proc_for_missing_methodstest_method_returns_do_nothing_proc_for_missing_methods183, 
     | 
| 
       343 
     | 
    
         
            -
            class TestDeprecatedOrderingMethods < Test::Unit::TestCaseTestDeprecatedOrderingMethods191, 
     | 
| 
       344 
     | 
    
         
            -
              def test_deprecated_ordering_methodstest_deprecated_ordering_methods195, 
     | 
| 
       345 
     | 
    
         
            -
            class TestAnyInstance < Test::Unit::TestCaseTestAnyInstance207, 
     | 
| 
       346 
     | 
    
         
            -
              class DogDog211, 
     | 
| 
       347 
     | 
    
         
            -
                def barkbark212, 
     | 
| 
       348 
     | 
    
         
            -
              def test_any_instance_still_works_for_backwards_compatibilitytest_any_instance_still_works_for_backwards_compatibility217, 
     | 
| 
       349 
     | 
    
         
            -
            
         
     | 
| 
       350 
     | 
    
         
            -
            test/ 
     | 
| 
      
 339 
     | 
    
         
            +
              def test_ignore_missing_methodtest_ignore_missing_method62,1431
         
     | 
| 
      
 340 
     | 
    
         
            +
              def test_good_countstest_good_counts68,1562
         
     | 
| 
      
 341 
     | 
    
         
            +
              def test_bad_countstest_bad_counts76,1701
         
     | 
| 
      
 342 
     | 
    
         
            +
              def test_undetermined_countstest_undetermined_counts87,1918
         
     | 
| 
      
 343 
     | 
    
         
            +
              def test_zero_countstest_zero_counts96,2063
         
     | 
| 
      
 344 
     | 
    
         
            +
              def test_file_io_with_usetest_file_io_with_use105,2242
         
     | 
| 
      
 345 
     | 
    
         
            +
              def count_lines(stream)count_lines113,2446
         
     | 
| 
      
 346 
     | 
    
         
            +
              def test_usetest_use121,2564
         
     | 
| 
      
 347 
     | 
    
         
            +
              def test_failures_during_usetest_failures_during_use130,2721
         
     | 
| 
      
 348 
     | 
    
         
            +
              def test_sequential_valuestest_sequential_values140,2940
         
     | 
| 
      
 349 
     | 
    
         
            +
              def test_respond_to_returns_false_for_non_handled_methodstest_respond_to_returns_false_for_non_handled_methods149,3174
         
     | 
| 
      
 350 
     | 
    
         
            +
              def test_respond_to_returns_true_for_explicit_methodstest_respond_to_returns_true_for_explicit_methods153,3309
         
     | 
| 
      
 351 
     | 
    
         
            +
              def test_respond_to_returns_true_for_missing_methods_when_ignoring_missingtest_respond_to_returns_true_for_missing_methods_when_ignoring_missing158,3468
         
     | 
| 
      
 352 
     | 
    
         
            +
              def test_respond_to_returns_true_for_missing_methods_when_ignoring_missing_using_shouldtest_respond_to_returns_true_for_missing_methods_when_ignoring_missing_using_should163,3649
         
     | 
| 
      
 353 
     | 
    
         
            +
              def test_method_proc_raises_error_on_unknowntest_method_proc_raises_error_on_unknown168,3845
         
     | 
| 
      
 354 
     | 
    
         
            +
              def test_method_returns_callable_proctest_method_returns_callable_proc174,3963
         
     | 
| 
      
 355 
     | 
    
         
            +
              def test_method_returns_do_nothing_proc_for_missing_methodstest_method_returns_do_nothing_proc_for_missing_methods183,4219
         
     | 
| 
      
 356 
     | 
    
         
            +
            class TestDeprecatedOrderingMethods < Test::Unit::TestCaseTestDeprecatedOrderingMethods191,4446
         
     | 
| 
      
 357 
     | 
    
         
            +
              def test_deprecated_ordering_methodstest_deprecated_ordering_methods195,4569
         
     | 
| 
      
 358 
     | 
    
         
            +
            class TestAnyInstance < Test::Unit::TestCaseTestAnyInstance207,4965
         
     | 
| 
      
 359 
     | 
    
         
            +
              class DogDog211,5074
         
     | 
| 
      
 360 
     | 
    
         
            +
                def barkbark212,5086
         
     | 
| 
      
 361 
     | 
    
         
            +
              def test_any_instance_still_works_for_backwards_compatibilitytest_any_instance_still_works_for_backwards_compatibility217,5126
         
     | 
| 
      
 362 
     | 
    
         
            +
            
         
     | 
| 
      
 363 
     | 
    
         
            +
            test/test_examples_from_readme.rb,1207
         
     | 
| 
       351 
364 
     | 
    
         
             
            class TemperatureSamplerTemperatureSampler15,352
         
     | 
| 
       352 
365 
     | 
    
         
             
              def initialize(sensor)initialize16,377
         
     | 
| 
       353 
366 
     | 
    
         
             
              def average_tempaverage_temp20,430
         
     | 
| 
       354 
367 
     | 
    
         
             
            class TestTemperatureSampler < Test::Unit::TestCaseTestTemperatureSampler26,557
         
     | 
| 
       355 
368 
     | 
    
         
             
              def test_tempurature_samplertest_tempurature_sampler29,639
         
     | 
| 
      
 369 
     | 
    
         
            +
            class TestExamplesFromReadme < Test::Unit::TestCaseTestExamplesFromReadme38,918
         
     | 
| 
      
 370 
     | 
    
         
            +
              def test_simple_return_valuestest_simple_return_values41,1000
         
     | 
| 
      
 371 
     | 
    
         
            +
              def test_returning_an_undefined_valuetest_returning_an_undefined_value47,1140
         
     | 
| 
      
 372 
     | 
    
         
            +
              def test_dbtest_db53,1280
         
     | 
| 
      
 373 
     | 
    
         
            +
              def test_query_and_updatetest_query_and_update62,1510
         
     | 
| 
      
 374 
     | 
    
         
            +
              def test_ordered_queriestest_ordered_queries71,1763
         
     | 
| 
      
 375 
     | 
    
         
            +
              def test_ordered_queries_in_record_modetest_ordered_queries_in_record_mode89,2362
         
     | 
| 
      
 376 
     | 
    
         
            +
              def test_build_xmltest_build_xml106,2894
         
     | 
| 
      
 377 
     | 
    
         
            +
              def known_good_way_to_build_xml(rec)known_good_way_to_build_xml115,3149
         
     | 
| 
      
 378 
     | 
    
         
            +
              def new_way_to_build_xml(rec)new_way_to_build_xml120,3219
         
     | 
| 
      
 379 
     | 
    
         
            +
              def test_multiple_getstest_multiple_gets124,3307
         
     | 
| 
      
 380 
     | 
    
         
            +
              def test_an_important_messagetest_an_important_message133,3552
         
     | 
| 
      
 381 
     | 
    
         
            +
              class QuoteServiceQuoteService142,3782
         
     | 
| 
      
 382 
     | 
    
         
            +
              class PortfolioPortfolio144,3809
         
     | 
| 
      
 383 
     | 
    
         
            +
                def valuevalue145,3827
         
     | 
| 
      
 384 
     | 
    
         
            +
              def test_portfolio_valuetest_portfolio_value150,3887
         
     | 
| 
       356 
385 
     | 
    
         | 
| 
       357 
386 
     | 
    
         
             
            test/test_extended_should_receive.rb,809
         
     | 
| 
       358 
387 
     | 
    
         
             
            module ExtendedShouldReceiveTestsExtendedShouldReceiveTests15,352
         
     | 
| 
         @@ -367,14 +396,14 @@ class TestExtendedShouldReceiveOnPartialMockProxies < Test::Unit::TestCaseTestE 
     | 
|
| 
       367 
396 
     | 
    
         
             
              def setupsetup65,1770
         
     | 
| 
       368 
397 
     | 
    
         | 
| 
       369 
398 
     | 
    
         
             
            test/test_flexmodel.rb,528
         
     | 
| 
       370 
     | 
    
         
            -
            class DummyModelDummyModel 
     | 
| 
       371 
     | 
    
         
            -
            class ChildModel < DummyModelChildModel 
     | 
| 
       372 
     | 
    
         
            -
            class TestFlexModel < Test::Unit::TestCaseTestFlexModel 
     | 
| 
       373 
     | 
    
         
            -
              def test_initial_conditionstest_initial_conditions 
     | 
| 
       374 
     | 
    
         
            -
              def test_classifying_mock_modelstest_classifying_mock_models 
     | 
| 
       375 
     | 
    
         
            -
              def test_mock_models_have_different_idstest_mock_models_have_different_ids 
     | 
| 
       376 
     | 
    
         
            -
              def test_mock_models_can_have_quick_defstest_mock_models_can_have_quick_defs 
     | 
| 
       377 
     | 
    
         
            -
              def test_mock_models_can_have_blockstest_mock_models_can_have_blocks 
     | 
| 
      
 399 
     | 
    
         
            +
            class DummyModelDummyModel6,61
         
     | 
| 
      
 400 
     | 
    
         
            +
            class ChildModel < DummyModelChildModel9,83
         
     | 
| 
      
 401 
     | 
    
         
            +
            class TestFlexModel < Test::Unit::TestCaseTestFlexModel13,189
         
     | 
| 
      
 402 
     | 
    
         
            +
              def test_initial_conditionstest_initial_conditions16,262
         
     | 
| 
      
 403 
     | 
    
         
            +
              def test_classifying_mock_modelstest_classifying_mock_models28,663
         
     | 
| 
      
 404 
     | 
    
         
            +
              def test_mock_models_have_different_idstest_mock_models_have_different_ids38,910
         
     | 
| 
      
 405 
     | 
    
         
            +
              def test_mock_models_can_have_quick_defstest_mock_models_can_have_quick_defs44,1061
         
     | 
| 
      
 406 
     | 
    
         
            +
              def test_mock_models_can_have_blockstest_mock_models_can_have_blocks49,1201
         
     | 
| 
       378 
407 
     | 
    
         | 
| 
       379 
408 
     | 
    
         
             
            test/test_naming.rb,816
         
     | 
| 
       380 
409 
     | 
    
         
             
            class TestNaming < Test::Unit::TestCaseTestNaming15,352
         
     | 
| 
         @@ -390,7 +419,7 @@ class TestNaming < Test::Unit::TestCaseTestNaming15,352 
     | 
|
| 
       390 
419 
     | 
    
         
             
              def test_partial_mocks_use_original_inspecttest_partial_mocks_use_original_inspect74,1722
         
     | 
| 
       391 
420 
     | 
    
         
             
              def test_partial_mocks_can_override_inspecttest_partial_mocks_can_override_inspect80,1886
         
     | 
| 
       392 
421 
     | 
    
         | 
| 
       393 
     | 
    
         
            -
            test/test_new_instances.rb, 
     | 
| 
      
 422 
     | 
    
         
            +
            test/test_new_instances.rb,2271
         
     | 
| 
       394 
423 
     | 
    
         
             
            class TestNewInstances < Test::Unit::TestCaseTestNewInstances16,382
         
     | 
| 
       395 
424 
     | 
    
         
             
              class DogDog20,494
         
     | 
| 
       396 
425 
     | 
    
         
             
                def barkbark21,506
         
     | 
| 
         @@ -408,87 +437,147 @@ class TestNewInstances < Test::Unit::TestCaseTestNewInstances16,382 
     | 
|
| 
       408 
437 
     | 
    
         
             
              def test_new_gets_block_after_restubbingtest_new_gets_block_after_restubbing81,1782
         
     | 
| 
       409 
438 
     | 
    
         
             
              def test_new_instances_stub_verification_happens_on_teardowntest_new_instances_stub_verification_happens_on_teardown94,2107
         
     | 
| 
       410 
439 
     | 
    
         
             
              def test_new_instances_reports_error_on_non_classestest_new_instances_reports_error_on_non_classes104,2470
         
     | 
| 
       411 
     | 
    
         
            -
              def  
     | 
| 
       412 
     | 
    
         
            -
              def  
     | 
| 
       413 
     | 
    
         
            -
              def  
     | 
| 
       414 
     | 
    
         
            -
              def  
     | 
| 
       415 
     | 
    
         
            -
              def  
     | 
| 
       416 
     | 
    
         
            -
              def test_blocks_on_new_do_not_have_stubs_installedtest_blocks_on_new_do_not_have_stubs_installed 
     | 
| 
       417 
     | 
    
         
            -
              def test_new_instances_accept_chained_expectationstest_new_instances_accept_chained_expectations 
     | 
| 
       418 
     | 
    
         
            -
              def test_fancy_use_of_chained_should_receivedtest_fancy_use_of_chained_should_received 
     | 
| 
       419 
     | 
    
         
            -
              def test_writable_accessorstest_writable_accessors 
     | 
| 
       420 
     | 
    
         
            -
              def test_ordering_can_be_specifiedtest_ordering_can_be_specified 
     | 
| 
       421 
     | 
    
         
            -
              def test_ordering_can_be_specified_in_groupstest_ordering_can_be_specified_in_groups 
     | 
| 
       422 
     | 
    
         
            -
            
         
     | 
| 
       423 
     | 
    
         
            -
            test/test_partial_mock.rb, 
     | 
| 
      
 440 
     | 
    
         
            +
              def test_does_not_by_default_stub_objects_created_with_allocatetest_does_not_by_default_stub_objects_created_with_allocate114,2752
         
     | 
| 
      
 441 
     | 
    
         
            +
              def test_can_explicitly_stub_objects_created_with_allocatetest_can_explicitly_stub_objects_created_with_allocate122,2982
         
     | 
| 
      
 442 
     | 
    
         
            +
              def test_can_stub_objects_created_with_arbitrary_class_methodstest_can_stub_objects_created_with_arbitrary_class_methods130,3221
         
     | 
| 
      
 443 
     | 
    
         
            +
              def test_stubbing_arbitrary_class_methods_leaves_new_alonetest_stubbing_arbitrary_class_methods_leaves_new_alone137,3446
         
     | 
| 
      
 444 
     | 
    
         
            +
              def test_stubbing_new_and_allocate_doesnt_double_stub_objects_on_newtest_stubbing_new_and_allocate_doesnt_double_stub_objects_on_new144,3661
         
     | 
| 
      
 445 
     | 
    
         
            +
              def test_blocks_on_new_do_not_have_stubs_installedtest_blocks_on_new_do_not_have_stubs_installed157,4116
         
     | 
| 
      
 446 
     | 
    
         
            +
              def test_new_instances_accept_chained_expectationstest_new_instances_accept_chained_expectations171,4456
         
     | 
| 
      
 447 
     | 
    
         
            +
              def test_fancy_use_of_chained_should_receivedtest_fancy_use_of_chained_should_received179,4728
         
     | 
| 
      
 448 
     | 
    
         
            +
              def test_writable_accessorstest_writable_accessors184,4885
         
     | 
| 
      
 449 
     | 
    
         
            +
              def test_ordering_can_be_specifiedtest_ordering_can_be_specified190,5032
         
     | 
| 
      
 450 
     | 
    
         
            +
              def test_ordering_can_be_specified_in_groupstest_ordering_can_be_specified_in_groups198,5228
         
     | 
| 
      
 451 
     | 
    
         
            +
            
         
     | 
| 
      
 452 
     | 
    
         
            +
            test/test_partial_mock.rb,4817
         
     | 
| 
       424 
453 
     | 
    
         
             
            class TestStubbing < Test::Unit::TestCaseTestStubbing16,372
         
     | 
| 
       425 
454 
     | 
    
         
             
              class DogDog19,446
         
     | 
| 
       426 
455 
     | 
    
         
             
                def barkbark20,458
         
     | 
| 
       427 
456 
     | 
    
         
             
                def Dog.createcreate23,491
         
     | 
| 
       428 
     | 
    
         
            -
               
     | 
| 
       429 
     | 
    
         
            -
             
     | 
| 
       430 
     | 
    
         
            -
             
     | 
| 
       431 
     | 
    
         
            -
             
     | 
| 
       432 
     | 
    
         
            -
              def  
     | 
| 
       433 
     | 
    
         
            -
              def  
     | 
| 
       434 
     | 
    
         
            -
              def  
     | 
| 
       435 
     | 
    
         
            -
              def  
     | 
| 
       436 
     | 
    
         
            -
              def  
     | 
| 
       437 
     | 
    
         
            -
              def  
     | 
| 
       438 
     | 
    
         
            -
              def  
     | 
| 
       439 
     | 
    
         
            -
             
     | 
| 
       440 
     | 
    
         
            -
              def  
     | 
| 
       441 
     | 
    
         
            -
             
     | 
| 
       442 
     | 
    
         
            -
              def  
     | 
| 
       443 
     | 
    
         
            -
             
     | 
| 
       444 
     | 
    
         
            -
              def  
     | 
| 
       445 
     | 
    
         
            -
                def  
     | 
| 
       446 
     | 
    
         
            -
              def  
     | 
| 
       447 
     | 
    
         
            -
              def  
     | 
| 
       448 
     | 
    
         
            -
              def  
     | 
| 
       449 
     | 
    
         
            -
             
     | 
| 
       450 
     | 
    
         
            -
              def  
     | 
| 
       451 
     | 
    
         
            -
              def  
     | 
| 
       452 
     | 
    
         
            -
              def  
     | 
| 
       453 
     | 
    
         
            -
              def  
     | 
| 
       454 
     | 
    
         
            -
              def  
     | 
| 
       455 
     | 
    
         
            -
              def  
     | 
| 
       456 
     | 
    
         
            -
              def  
     | 
| 
       457 
     | 
    
         
            -
             
     | 
| 
       458 
     | 
    
         
            -
               
     | 
| 
       459 
     | 
    
         
            -
             
     | 
| 
       460 
     | 
    
         
            -
              def  
     | 
| 
       461 
     | 
    
         
            -
             
     | 
| 
       462 
     | 
    
         
            -
               
     | 
| 
       463 
     | 
    
         
            -
             
     | 
| 
       464 
     | 
    
         
            -
               
     | 
| 
       465 
     | 
    
         
            -
             
     | 
| 
       466 
     | 
    
         
            -
              def  
     | 
| 
       467 
     | 
    
         
            -
              def  
     | 
| 
       468 
     | 
    
         
            -
               
     | 
| 
       469 
     | 
    
         
            -
             
     | 
| 
       470 
     | 
    
         
            -
                def  
     | 
| 
       471 
     | 
    
         
            -
              def  
     | 
| 
      
 457 
     | 
    
         
            +
              class DogPlus < DogDogPlus28,540
         
     | 
| 
      
 458 
     | 
    
         
            +
                def should_receiveshould_receive29,562
         
     | 
| 
      
 459 
     | 
    
         
            +
                def new_instancesnew_instances32,611
         
     | 
| 
      
 460 
     | 
    
         
            +
                def by_defaultby_default35,656
         
     | 
| 
      
 461 
     | 
    
         
            +
              def test_stub_command_add_behavior_to_arbitrary_objectstest_stub_command_add_behavior_to_arbitrary_objects40,712
         
     | 
| 
      
 462 
     | 
    
         
            +
              def test_stub_command_can_configure_via_blocktest_stub_command_can_configure_via_block46,898
         
     | 
| 
      
 463 
     | 
    
         
            +
              def test_stubbed_methods_can_take_blockstest_stubbed_methods_can_take_blocks54,1097
         
     | 
| 
      
 464 
     | 
    
         
            +
              def test_multiple_stubs_on_the_same_object_reuse_the_same_partial_mocktest_multiple_stubs_on_the_same_object_reuse_the_same_partial_mock61,1324
         
     | 
| 
      
 465 
     | 
    
         
            +
              def test_multiple_methods_can_be_stubbedtest_multiple_methods_can_be_stubbed66,1473
         
     | 
| 
      
 466 
     | 
    
         
            +
              def test_original_behavior_can_be_restoredtest_original_behavior_can_be_restored74,1727
         
     | 
| 
      
 467 
     | 
    
         
            +
              def test_original_missing_behavior_can_be_restoredtest_original_missing_behavior_can_be_restored84,2064
         
     | 
| 
      
 468 
     | 
    
         
            +
              def test_multiple_stubs_on_single_method_can_be_restored_missing_methodtest_multiple_stubs_on_single_method_can_be_restored_missing_method93,2343
         
     | 
| 
      
 469 
     | 
    
         
            +
              def test_original_behavior_is_restored_when_multiple_methods_are_mockedtest_original_behavior_is_restored_when_multiple_methods_are_mocked104,2754
         
     | 
| 
      
 470 
     | 
    
         
            +
              def test_original_behavior_is_restored_on_class_objectstest_original_behavior_is_restored_on_class_objects113,3083
         
     | 
| 
      
 471 
     | 
    
         
            +
              def test_original_behavior_is_restored_on_singleton_methodstest_original_behavior_is_restored_on_singleton_methods120,3334
         
     | 
| 
      
 472 
     | 
    
         
            +
                def obj.hi() :hello endhi122,3417
         
     | 
| 
      
 473 
     | 
    
         
            +
              def test_original_behavior_is_restored_on_singleton_methods_with_multiple_stubstest_original_behavior_is_restored_on_singleton_methods_with_multiple_stubs130,3613
         
     | 
| 
      
 474 
     | 
    
         
            +
                def obj.hi(n) "hello#{n}" endhi132,3716
         
     | 
| 
      
 475 
     | 
    
         
            +
              def test_original_behavior_is_restored_on_nonsingleton_methods_with_multiple_stubstest_original_behavior_is_restored_on_nonsingleton_methods_with_multiple_stubs142,4037
         
     | 
| 
      
 476 
     | 
    
         
            +
              def test_stubbing_file_shouldnt_break_writingtest_stubbing_file_shouldnt_break_writing158,4531
         
     | 
| 
      
 477 
     | 
    
         
            +
              def test_original_behavior_is_restored_even_when_errorstest_original_behavior_is_restored_even_when_errors174,4970
         
     | 
| 
      
 478 
     | 
    
         
            +
                def m.flexmock_verify() endflexmock_verify182,5289
         
     | 
| 
      
 479 
     | 
    
         
            +
              def test_not_calling_stubbed_method_is_an_errortest_not_calling_stubbed_method_is_an_error185,5328
         
     | 
| 
      
 480 
     | 
    
         
            +
              def test_mock_is_verified_when_the_stub_is_verifiedtest_mock_is_verified_when_the_stub_is_verified194,5557
         
     | 
| 
      
 481 
     | 
    
         
            +
              def test_stub_can_have_explicit_nametest_stub_can_have_explicit_name203,5827
         
     | 
| 
      
 482 
     | 
    
         
            +
              def test_unamed_stub_will_use_default_naming_conventiontest_unamed_stub_will_use_default_naming_convention209,6006
         
     | 
| 
      
 483 
     | 
    
         
            +
              def test_partials_can_be_defined_in_a_blocktest_partials_can_be_defined_in_a_block215,6202
         
     | 
| 
      
 484 
     | 
    
         
            +
              def test_partials_defining_block_return_real_obj_not_proxytest_partials_defining_block_return_real_obj_not_proxy223,6389
         
     | 
| 
      
 485 
     | 
    
         
            +
              def test_partial_mocks_always_return_domain_objecttest_partial_mocks_always_return_domain_object230,6583
         
     | 
| 
      
 486 
     | 
    
         
            +
              def test_domain_objects_do_not_have_mock_methodstest_domain_objects_do_not_have_mock_methods241,6863
         
     | 
| 
      
 487 
     | 
    
         
            +
              def test_partial_mocks_have_mock_methodstest_partial_mocks_have_mock_methods248,7055
         
     | 
| 
      
 488 
     | 
    
         
            +
              def test_partial_mocks_do_not_have_mock_methods_after_teardowntest_partial_mocks_do_not_have_mock_methods_after_teardown256,7251
         
     | 
| 
      
 489 
     | 
    
         
            +
              def test_partial_mocks_with_mock_method_singleton_colision_have_original_defs_restoredtest_partial_mocks_with_mock_method_singleton_colision_have_original_defs_restored265,7501
         
     | 
| 
      
 490 
     | 
    
         
            +
                def dog.mock() :original endmock267,7608
         
     | 
| 
      
 491 
     | 
    
         
            +
              class MockColisionMockColision273,7729
         
     | 
| 
      
 492 
     | 
    
         
            +
                def mockmock274,7750
         
     | 
| 
      
 493 
     | 
    
         
            +
              def test_partial_mocks_with_mock_method_non_singleton_colision_have_original_defs_restoredtest_partial_mocks_with_mock_method_non_singleton_colision_have_original_defs_restored279,7794
         
     | 
| 
      
 494 
     | 
    
         
            +
              def test_safe_partial_mocks_do_not_support_mock_methodstest_safe_partial_mocks_do_not_support_mock_methods286,7998
         
     | 
| 
      
 495 
     | 
    
         
            +
              def test_safe_partial_mocks_require_blocktest_safe_partial_mocks_require_block294,8226
         
     | 
| 
      
 496 
     | 
    
         
            +
              def test_safe_partial_mocks_are_actually_mockedtest_safe_partial_mocks_are_actually_mocked299,8364
         
     | 
| 
      
 497 
     | 
    
         
            +
              def test_should_receive_does_not_override_preexisting_deftest_should_receive_does_not_override_preexisting_def304,8534
         
     | 
| 
      
 498 
     | 
    
         
            +
              class LiarLiar311,8787
         
     | 
| 
      
 499 
     | 
    
         
            +
                def respond_to?(method_name)respond_to?312,8800
         
     | 
| 
      
 500 
     | 
    
         
            +
              def test_liar_actually_liestest_liar_actually_lies322,8969
         
     | 
| 
      
 501 
     | 
    
         
            +
              def test_partial_mock_where_respond_to_is_true_yet_method_is_not_theretest_partial_mock_where_respond_to_is_true_yet_method_is_not_there328,9121
         
     | 
| 
      
 502 
     | 
    
         
            +
              class ValueObjectValueObject339,9550
         
     | 
| 
      
 503 
     | 
    
         
            +
                def initialize(val)initialize342,9592
         
     | 
| 
      
 504 
     | 
    
         
            +
                def ==(other)==346,9642
         
     | 
| 
      
 505 
     | 
    
         
            +
              def test_partial_mocks_in_the_presense_of_equal_definitiontest_partial_mocks_in_the_presense_of_equal_definition351,9699
         
     | 
| 
      
 506 
     | 
    
         
            +
            
         
     | 
| 
      
 507 
     | 
    
         
            +
            test/test_rails_view_stub.rb,931
         
     | 
| 
      
 508 
     | 
    
         
            +
            module ViewTestsViewTests6,80
         
     | 
| 
      
 509 
     | 
    
         
            +
              def test_view_mocks_as_stubtest_view_mocks_as_stub7,97
         
     | 
| 
      
 510 
     | 
    
         
            +
              def test_fails_if_no_rendertest_fails_if_no_render12,191
         
     | 
| 
      
 511 
     | 
    
         
            +
              def test_view_mocks_with_expectationtest_view_mocks_with_expectation19,335
         
     | 
| 
      
 512 
     | 
    
         
            +
              def test_view_mocks_with_expectation_fails_with_different_templatetest_view_mocks_with_expectation_fails_with_different_template24,439
         
     | 
| 
      
 513 
     | 
    
         
            +
              def test_view_mocks_with_expectation_wand_multiple_templatestest_view_mocks_with_expectation_wand_multiple_templates32,658
         
     | 
| 
      
 514 
     | 
    
         
            +
              def pretend_to_be_rails_version(version)pretend_to_be_rails_version39,835
         
     | 
| 
      
 515 
     | 
    
         
            +
            class TestRailsViewStubForVersionsUpTo_1_2_4 < Test::Unit::TestCaseTestRailsViewStubForVersionsUpTo_1_2_445,1030
         
     | 
| 
      
 516 
     | 
    
         
            +
              def setupsetup49,1148
         
     | 
| 
      
 517 
     | 
    
         
            +
              def render(*names)render56,1377
         
     | 
| 
      
 518 
     | 
    
         
            +
            class TestRailsViewStubForVersionsAfter_1_2_4 < Test::Unit::TestCaseTestRailsViewStubForVersionsAfter_1_2_470,1655
         
     | 
| 
      
 519 
     | 
    
         
            +
              def setupsetup74,1774
         
     | 
| 
      
 520 
     | 
    
         
            +
              def render(*names)render82,2047
         
     | 
| 
       472 
521 
     | 
    
         | 
| 
       473 
522 
     | 
    
         
             
            test/test_record_mode.rb,1339
         
     | 
| 
       474 
523 
     | 
    
         
             
            class TestRecordMode < Test::Unit::TestCaseTestRecordMode16,390
         
     | 
| 
       475 
524 
     | 
    
         
             
              def test_recording_mode_workstest_recording_mode_works20,505
         
     | 
| 
       476 
525 
     | 
    
         
             
              def test_arguments_are_passed_to_recording_mode_blocktest_arguments_are_passed_to_recording_mode_block28,687
         
     | 
| 
       477 
526 
     | 
    
         
             
              def test_recording_mode_handles_multiple_returnstest_recording_mode_handles_multiple_returns39,962
         
     | 
| 
       478 
     | 
    
         
            -
              def test_recording_mode_does_not_specify_ordertest_recording_mode_does_not_specify_order 
     | 
| 
       479 
     | 
    
         
            -
              def test_recording_mode_gets_block_args_tootest_recording_mode_gets_block_args_too 
     | 
| 
       480 
     | 
    
         
            -
              def test_recording_mode_should_validate_args_with_equalstest_recording_mode_should_validate_args_with_equals 
     | 
| 
       481 
     | 
    
         
            -
              def test_recording_mode_should_allow_arg_contraint_validationtest_recording_mode_should_allow_arg_contraint_validation 
     | 
| 
       482 
     | 
    
         
            -
              def test_recording_mode_should_handle_multiplicity_contraintstest_recording_mode_should_handle_multiplicity_contraints 
     | 
| 
       483 
     | 
    
         
            -
              def test_strict_record_mode_requires_exact_argument_matchestest_strict_record_mode_requires_exact_argument_matches 
     | 
| 
       484 
     | 
    
         
            -
              def test_strict_record_mode_requires_exact_orderingtest_strict_record_mode_requires_exact_ordering 
     | 
| 
       485 
     | 
    
         
            -
              def test_strict_record_mode_requires_oncetest_strict_record_mode_requires_once 
     | 
| 
       486 
     | 
    
         
            -
              def test_strict_record_mode_can_not_failtest_strict_record_mode_can_not_fail 
     | 
| 
       487 
     | 
    
         
            -
            
         
     | 
| 
       488 
     | 
    
         
            -
            test/test_samples.rb, 
     | 
| 
      
 527 
     | 
    
         
            +
              def test_recording_mode_does_not_specify_ordertest_recording_mode_does_not_specify_order53,1386
         
     | 
| 
      
 528 
     | 
    
         
            +
              def test_recording_mode_gets_block_args_tootest_recording_mode_gets_block_args_too64,1632
         
     | 
| 
      
 529 
     | 
    
         
            +
              def test_recording_mode_should_validate_args_with_equalstest_recording_mode_should_validate_args_with_equals76,1914
         
     | 
| 
      
 530 
     | 
    
         
            +
              def test_recording_mode_should_allow_arg_contraint_validationtest_recording_mode_should_allow_arg_contraint_validation87,2149
         
     | 
| 
      
 531 
     | 
    
         
            +
              def test_recording_mode_should_handle_multiplicity_contraintstest_recording_mode_should_handle_multiplicity_contraints98,2390
         
     | 
| 
      
 532 
     | 
    
         
            +
              def test_strict_record_mode_requires_exact_argument_matchestest_strict_record_mode_requires_exact_argument_matches110,2657
         
     | 
| 
      
 533 
     | 
    
         
            +
              def test_strict_record_mode_requires_exact_orderingtest_strict_record_mode_requires_exact_ordering122,2937
         
     | 
| 
      
 534 
     | 
    
         
            +
              def test_strict_record_mode_requires_oncetest_strict_record_mode_requires_once136,3242
         
     | 
| 
      
 535 
     | 
    
         
            +
              def test_strict_record_mode_can_not_failtest_strict_record_mode_can_not_fail149,3517
         
     | 
| 
      
 536 
     | 
    
         
            +
            
         
     | 
| 
      
 537 
     | 
    
         
            +
            test/test_samples.rb,2164
         
     | 
| 
       489 
538 
     | 
    
         
             
            class TestSamples < Test::Unit::TestCaseTestSamples17,378
         
     | 
| 
       490 
539 
     | 
    
         
             
              def test_file_iotest_file_io25,748
         
     | 
| 
       491 
540 
     | 
    
         
             
              def count_lines(file)count_lines33,999
         
     | 
| 
      
 541 
     | 
    
         
            +
            class TestUndefined < Test::Unit::TestCaseTestUndefined43,1092
         
     | 
| 
      
 542 
     | 
    
         
            +
              def test_undefined_valuestest_undefined_values46,1165
         
     | 
| 
      
 543 
     | 
    
         
            +
            class TestSimple < Test::Unit::TestCaseTestSimple55,1351
         
     | 
| 
      
 544 
     | 
    
         
            +
              def test_simple_mocktest_simple_mock58,1421
         
     | 
| 
      
 545 
     | 
    
         
            +
            class TestDog < Test::Unit::TestCaseTestDog65,1556
         
     | 
| 
      
 546 
     | 
    
         
            +
              def test_dog_wagstest_dog_wags68,1625
         
     | 
| 
      
 547 
     | 
    
         
            +
            class WooferWoofer74,1736
         
     | 
| 
      
 548 
     | 
    
         
            +
            class DogDog77,1754
         
     | 
| 
      
 549 
     | 
    
         
            +
              def initializeinitialize78,1764
         
     | 
| 
      
 550 
     | 
    
         
            +
              def barkbark81,1812
         
     | 
| 
      
 551 
     | 
    
         
            +
              def wagwag84,1846
         
     | 
| 
      
 552 
     | 
    
         
            +
            class TestDogBarking < Test::Unit::TestCaseTestDogBarking89,1878
         
     | 
| 
      
 553 
     | 
    
         
            +
              def setupsetup94,2043
         
     | 
| 
      
 554 
     | 
    
         
            +
              def test_dogtest_dog99,2118
         
     | 
| 
      
 555 
     | 
    
         
            +
            class TestDogBarkingWithNewInstances < Test::Unit::TestCaseTestDogBarkingWithNewInstances105,2249
         
     | 
| 
      
 556 
     | 
    
         
            +
              def setupsetup110,2415
         
     | 
| 
      
 557 
     | 
    
         
            +
              def test_dogtest_dog114,2502
         
     | 
| 
      
 558 
     | 
    
         
            +
            class TestDefaults < Test::Unit::TestCaseTestDefaults120,2636
         
     | 
| 
      
 559 
     | 
    
         
            +
              def setupsetup123,2708
         
     | 
| 
      
 560 
     | 
    
         
            +
              def test_something_where_bark_must_be_called_oncetest_something_where_bark_must_be_called_once128,2837
         
     | 
| 
      
 561 
     | 
    
         
            +
            class TestDemeter < Test::Unit::TestCaseTestDemeter136,3040
         
     | 
| 
      
 562 
     | 
    
         
            +
              def test_manual_mockingtest_manual_mocking138,3110
         
     | 
| 
      
 563 
     | 
    
         
            +
              def test_demetertest_demeter151,3544
         
     | 
| 
      
 564 
     | 
    
         
            +
            class TestDb < Test::Unit::TestCaseTestDb161,3759
         
     | 
| 
      
 565 
     | 
    
         
            +
              def test_dbtest_db164,3825
         
     | 
| 
      
 566 
     | 
    
         
            +
            class TestDb < Test::Unit::TestCaseTestDb175,4030
         
     | 
| 
      
 567 
     | 
    
         
            +
              def test_query_and_updatetest_query_and_update178,4096
         
     | 
| 
      
 568 
     | 
    
         
            +
              def test_ordered_queriestest_ordered_queries189,4383
         
     | 
| 
      
 569 
     | 
    
         
            +
              def test_ordered_queries_in_record_modetest_ordered_queries_in_record_mode207,4923
         
     | 
| 
      
 570 
     | 
    
         
            +
              def known_good_way_to_build_xml(builder)known_good_way_to_build_xml224,5400
         
     | 
| 
      
 571 
     | 
    
         
            +
              def new_way_to_build_xml(builder)new_way_to_build_xml228,5467
         
     | 
| 
      
 572 
     | 
    
         
            +
              def test_build_xmltest_build_xml232,5551
         
     | 
| 
      
 573 
     | 
    
         
            +
            class TestMoreSamples < Test::Unit::TestCaseTestMoreSamples243,5813
         
     | 
| 
      
 574 
     | 
    
         
            +
              def test_multiple_getstest_multiple_gets246,5888
         
     | 
| 
      
 575 
     | 
    
         
            +
              def test_an_important_messagetest_an_important_message255,6133
         
     | 
| 
      
 576 
     | 
    
         
            +
              class QuoteServiceQuoteService264,6394
         
     | 
| 
      
 577 
     | 
    
         
            +
              class PortfolioPortfolio267,6422
         
     | 
| 
      
 578 
     | 
    
         
            +
                def initializeinitialize268,6440
         
     | 
| 
      
 579 
     | 
    
         
            +
                def valuevalue271,6507
         
     | 
| 
      
 580 
     | 
    
         
            +
              def test_portfolio_valuetest_portfolio_value276,6563
         
     | 
| 
       492 
581 
     | 
    
         | 
| 
       493 
582 
     | 
    
         
             
            test/test_should_ignore_missing.rb,1173
         
     | 
| 
       494 
583 
     | 
    
         
             
            class TestShouldIgnoreMissing < Test::Unit::TestCaseTestShouldIgnoreMissing16,375
         
     | 
| 
         @@ -504,7 +593,7 @@ class TestShouldIgnoreMissing < Test::Unit::TestCaseTestShouldIgnoreMissing16, 
     | 
|
| 
       504 
593 
     | 
    
         
             
              def test_not_calling_method_proc_will_fail_count_constraintstest_not_calling_method_proc_will_fail_count_constraints66,1693
         
     | 
| 
       505 
594 
     | 
    
         
             
              def test_method_returns_do_nothing_proc_for_missing_methodstest_method_returns_do_nothing_proc_for_missing_methods75,1965
         
     | 
| 
       506 
595 
     | 
    
         | 
| 
       507 
     | 
    
         
            -
            test/test_should_receive.rb, 
     | 
| 
      
 596 
     | 
    
         
            +
            test/test_should_receive.rb,10493
         
     | 
| 
       508 
597 
     | 
    
         
             
            def mock_top_level_functionmock_top_level_function16,375
         
     | 
| 
       509 
598 
     | 
    
         
             
            module KernelKernel20,416
         
     | 
| 
       510 
599 
     | 
    
         
             
              def mock_kernel_functionmock_kernel_function21,430
         
     | 
| 
         @@ -604,15 +693,18 @@ class TestFlexMockShoulds < Test::Unit::TestCaseTestFlexMockShoulds26,477 
     | 
|
| 
       604 
693 
     | 
    
         
             
              def test_default_expectations_are_overridden_by_later_expectationstest_default_expectations_are_overridden_by_later_expectations910,23315
         
     | 
| 
       605 
694 
     | 
    
         
             
              def test_ordered_default_expectations_can_be_specifiedtest_ordered_default_expectations_can_be_specified918,23543
         
     | 
| 
       606 
695 
     | 
    
         
             
              def test_ordered_default_expectations_can_be_overriddentest_ordered_default_expectations_can_be_overridden926,23794
         
     | 
| 
       607 
     | 
    
         
            -
              def  
     | 
| 
       608 
     | 
    
         
            -
              def  
     | 
| 
       609 
     | 
    
         
            -
              def  
     | 
| 
       610 
     | 
    
         
            -
              def  
     | 
| 
       611 
     | 
    
         
            -
              def  
     | 
| 
       612 
     | 
    
         
            -
             
     | 
| 
       613 
     | 
    
         
            -
              def  
     | 
| 
       614 
     | 
    
         
            -
             
     | 
| 
       615 
     | 
    
         
            -
             
     | 
| 
      
 696 
     | 
    
         
            +
              def test_by_default_works_at_mock_leveltest_by_default_works_at_mock_level938,24065
         
     | 
| 
      
 697 
     | 
    
         
            +
              def test_by_default_at_mock_level_does_nothing_with_no_expectationstest_by_default_at_mock_level_does_nothing_with_no_expectations949,24340
         
     | 
| 
      
 698 
     | 
    
         
            +
              def test_partial_mocks_can_have_default_expectationstest_partial_mocks_can_have_default_expectations955,24485
         
     | 
| 
      
 699 
     | 
    
         
            +
              def test_partial_mocks_can_have_default_expectations_overriddentest_partial_mocks_can_have_default_expectations_overridden961,24666
         
     | 
| 
      
 700 
     | 
    
         
            +
              def test_wicked_and_evil_tricks_with_by_default_are_thwartedtest_wicked_and_evil_tricks_with_by_default_are_thwarted968,24914
         
     | 
| 
      
 701 
     | 
    
         
            +
              def test_mocks_can_handle_multi_parameter_respond_tostest_mocks_can_handle_multi_parameter_respond_tos980,25319
         
     | 
| 
      
 702 
     | 
    
         
            +
              def test_can_mock_operatorstest_can_mock_operators991,25666
         
     | 
| 
      
 703 
     | 
    
         
            +
              def assert_operator(op, &block)assert_operator1020,26681
         
     | 
| 
      
 704 
     | 
    
         
            +
            class TestFlexMockShouldsWithInclude < Test::Unit::TestCaseTestFlexMockShouldsWithInclude1028,26835
         
     | 
| 
      
 705 
     | 
    
         
            +
              def test_include_enables_unqualified_arg_type_referencestest_include_enables_unqualified_arg_type_references1030,26929
         
     | 
| 
      
 706 
     | 
    
         
            +
            class TestFlexMockArgTypesDontLeak < Test::Unit::TestCaseTestFlexMockArgTypesDontLeak1038,27093
         
     | 
| 
      
 707 
     | 
    
         
            +
              def test_unqualified_arg_type_references_are_undefined_by_defaulttest_unqualified_arg_type_references_are_undefined_by_default1039,27151
         
     | 
| 
       616 
708 
     | 
    
         | 
| 
       617 
709 
     | 
    
         
             
            test/test_tu_integration.rb,1570
         
     | 
| 
       618 
710 
     | 
    
         
             
            class TestTuIntegrationFlexMockMethod < Test::Unit::TestCaseTestTuIntegrationFlexMockMethod15,352
         
     | 
| 
         @@ -649,8 +741,6 @@ class UndefinedTest < Test::Unit::TestCaseUndefinedTest15,352 
     | 
|
| 
       649 
741 
     | 
    
         
             
              def assert_undefined(obj)assert_undefined81,2012
         
     | 
| 
       650 
742 
     | 
    
         
             
              def undefinedundefined85,2075
         
     | 
| 
       651 
743 
     | 
    
         | 
| 
       652 
     | 
    
         
            -
            test/rspec_integration/integration_spec.rb,0
         
     | 
| 
       653 
     | 
    
         
            -
            
         
     | 
| 
       654 
744 
     | 
    
         
             
            test/test_unit_integration/test_auto_test_unit.rb,263
         
     | 
| 
       655 
745 
     | 
    
         
             
            class TestFlexmockTestUnit < Test::Unit::TestCaseTestFlexmockTestUnit17,387
         
     | 
| 
       656 
746 
     | 
    
         
             
              def teardownteardown18,437
         
     | 
| 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            = FlexMock 0. 
     | 
| 
      
 1 
     | 
    
         
            +
            = FlexMock 0.8.0 Released
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            FlexMock is a flexible mocking library for use in unit testing and
         
     | 
| 
       4 
4 
     | 
    
         
             
            behavior specification in Ruby.  It is a minor release that contains
         
     | 
| 
       5 
5 
     | 
    
         
             
            some new funtionality.
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            == New Features  
     | 
| 
      
 7 
     | 
    
         
            +
            == New Features in 0.8.0
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            * When should_ignore_missing is specified, the mock will return an
         
     | 
| 
       10 
10 
     | 
    
         
             
              undefined object for any method calls that are ignored.
         
     | 
    
        data/lib/flexmock/expectation.rb
    CHANGED
    
    | 
         @@ -69,7 +69,7 @@ class FlexMock 
     | 
|
| 
       69 
69 
     | 
    
         
             
                def return_value(args)
         
     | 
| 
       70 
70 
     | 
    
         
             
                  case @return_queue.size
         
     | 
| 
       71 
71 
     | 
    
         
             
                  when 0
         
     | 
| 
       72 
     | 
    
         
            -
                    block = lambda { @return_value }
         
     | 
| 
      
 72 
     | 
    
         
            +
                    block = lambda { |*args| @return_value }
         
     | 
| 
       73 
73 
     | 
    
         
             
                  when 1
         
     | 
| 
       74 
74 
     | 
    
         
             
                    block = @return_queue.first
         
     | 
| 
       75 
75 
     | 
    
         
             
                  else
         
     | 
| 
         @@ -85,7 +85,7 @@ class FlexMock 
     | 
|
| 
       85 
85 
     | 
    
         
             
                  unless @yield_queue.empty?
         
     | 
| 
       86 
86 
     | 
    
         
             
                    block = args.last
         
     | 
| 
       87 
87 
     | 
    
         
             
                    values = (@yield_queue.size == 1) ? @yield_queue.first : @yield_queue.shift
         
     | 
| 
       88 
     | 
    
         
            -
                    if block.respond_to?(:call) 
         
     | 
| 
      
 88 
     | 
    
         
            +
                    if block && block.respond_to?(:call) 
         
     | 
| 
       89 
89 
     | 
    
         
             
                      @return_value = block.call(*values)
         
     | 
| 
       90 
90 
     | 
    
         
             
                    else
         
     | 
| 
       91 
91 
     | 
    
         
             
                      fail MockError, "No Block given to mock with 'and_yield' expectation"
         
     | 
| 
         @@ -190,7 +190,7 @@ class FlexMock 
     | 
|
| 
       190 
190 
     | 
    
         
             
                    @return_queue << block
         
     | 
| 
       191 
191 
     | 
    
         
             
                  else
         
     | 
| 
       192 
192 
     | 
    
         
             
                    args.each do |arg|
         
     | 
| 
       193 
     | 
    
         
            -
                      @return_queue << lambda { arg }
         
     | 
| 
      
 193 
     | 
    
         
            +
                      @return_queue << lambda { |*a| arg }
         
     | 
| 
       194 
194 
     | 
    
         
             
                    end
         
     | 
| 
       195 
195 
     | 
    
         
             
                  end
         
     | 
| 
       196 
196 
     | 
    
         
             
                  self
         
     | 
| 
         @@ -213,6 +213,9 @@ class FlexMock 
     | 
|
| 
       213 
213 
     | 
    
         
             
                    :new_record? => false,
         
     | 
| 
       214 
214 
     | 
    
         
             
                    :class => model_class,
         
     | 
| 
       215 
215 
     | 
    
         
             
                    :errors => container.flexmock("errors", :count => 0))
         
     | 
| 
      
 216 
     | 
    
         
            +
                  # HACK: Ruby 1.9 needs the following lambda so that model_class
         
     | 
| 
      
 217 
     | 
    
         
            +
                  # is correctly bound below.
         
     | 
| 
      
 218 
     | 
    
         
            +
                  lambda { }
         
     | 
| 
       216 
219 
     | 
    
         
             
                  mock.should_receive(:is_a?).with(any).and_return { |other|
         
     | 
| 
       217 
220 
     | 
    
         
             
                    other == model_class
         
     | 
| 
       218 
221 
     | 
    
         
             
                  }
         
     | 
| 
         @@ -104,22 +104,27 @@ class FlexMock 
     | 
|
| 
       104 
104 
     | 
    
         
             
                # new_instances is a short cut method for overriding the behavior of any
         
     | 
| 
       105 
105 
     | 
    
         
             
                # new instances created via a mocked class object.
         
     | 
| 
       106 
106 
     | 
    
         
             
                #
         
     | 
| 
       107 
     | 
    
         
            -
                # By default, new_instances will mock the behaviour of the :new 
     | 
| 
       108 
     | 
    
         
            -
                #  
     | 
| 
       109 
     | 
    
         
            -
                #  
     | 
| 
      
 107 
     | 
    
         
            +
                # By default, new_instances will mock the behaviour of the :new
         
     | 
| 
      
 108 
     | 
    
         
            +
                # method.  If you wish to mock a different set of class methods,
         
     | 
| 
      
 109 
     | 
    
         
            +
                # just pass a list of symbols to as arguments.  (previous versions
         
     | 
| 
      
 110 
     | 
    
         
            +
                # also mocked :allocate by default.  If you need :allocate to be
         
     | 
| 
      
 111 
     | 
    
         
            +
                # mocked, just request it explicitly).
         
     | 
| 
       110 
112 
     | 
    
         
             
                #
         
     | 
| 
       111 
     | 
    
         
            -
                # For example, to stub only objects created by :make (and not 
     | 
| 
       112 
     | 
    
         
            -
                #  
     | 
| 
      
 113 
     | 
    
         
            +
                # For example, to stub only objects created by :make (and not
         
     | 
| 
      
 114 
     | 
    
         
            +
                # :new), use:
         
     | 
| 
       113 
115 
     | 
    
         
             
                #
         
     | 
| 
       114 
116 
     | 
    
         
             
                #    flexmock(ClassName).new_instances(:make).should_receive(...)
         
     | 
| 
       115 
117 
     | 
    
         
             
                #
         
     | 
| 
       116 
118 
     | 
    
         
             
                def new_instances(*allocators, &block)
         
     | 
| 
       117 
119 
     | 
    
         
             
                  fail ArgumentError, "new_instances requires a Class to stub" unless Class === @obj
         
     | 
| 
       118 
     | 
    
         
            -
                  allocators = [:new 
     | 
| 
      
 120 
     | 
    
         
            +
                  allocators = [:new] if allocators.empty?
         
     | 
| 
       119 
121 
     | 
    
         
             
                  result = ExpectationRecorder.new
         
     | 
| 
       120 
     | 
    
         
            -
                  allocators.each do | 
     | 
| 
       121 
     | 
    
         
            -
                     
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
      
 122 
     | 
    
         
            +
                  allocators.each do |allocate_method|
         
     | 
| 
      
 123 
     | 
    
         
            +
                    # HACK: Without the following lambda, Ruby 1.9 will not bind
         
     | 
| 
      
 124 
     | 
    
         
            +
                    # the allocate_method parameter correctly.
         
     | 
| 
      
 125 
     | 
    
         
            +
                    lambda { } 
         
     | 
| 
      
 126 
     | 
    
         
            +
                    self.should_receive(allocate_method).and_return { |*args|
         
     | 
| 
      
 127 
     | 
    
         
            +
                      new_obj = invoke_original(allocate_method, args)
         
     | 
| 
       123 
128 
     | 
    
         
             
                      mock = flexmock_container.flexmock(new_obj)
         
     | 
| 
       124 
129 
     | 
    
         
             
                      block.call(mock) if block_given?
         
     | 
| 
       125 
130 
     | 
    
         
             
                      result.apply(mock)
         
     | 
| 
         @@ -3,18 +3,45 @@ require 'flexmock' 
     | 
|
| 
       3 
3 
     | 
    
         
             
            class FlexMock
         
     | 
| 
       4 
4 
     | 
    
         
             
              module MockContainer
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
      
 6 
     | 
    
         
            +
                def rails_version
         
     | 
| 
      
 7 
     | 
    
         
            +
                  Rails::VERSION::STRING
         
     | 
| 
      
 8 
     | 
    
         
            +
                end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       6 
10 
     | 
    
         
             
                # Declare that the Rails controller under test should render the
         
     | 
| 
       7 
11 
     | 
    
         
             
                # named view.  If a view template name is given, it will be an
         
     | 
| 
       8 
12 
     | 
    
         
             
                # error if the named view is not rendered during the execution of
         
     | 
| 
       9 
13 
     | 
    
         
             
                # the contoller action.  If no template name is given, then the
         
     | 
| 
       10 
14 
     | 
    
         
             
                # any view may be rendered. If no view is actually rendered, then
         
     | 
| 
       11 
     | 
    
         
            -
                #  
     | 
| 
      
 15 
     | 
    
         
            +
                # an assertion failure will occur.
         
     | 
| 
      
 16 
     | 
    
         
            +
                #
         
     | 
| 
      
 17 
     | 
    
         
            +
                #  def test_my_action_does_what_it_should
         
     | 
| 
      
 18 
     | 
    
         
            +
                #    should_render_view 'show'
         
     | 
| 
      
 19 
     | 
    
         
            +
                #   
         
     | 
| 
      
 20 
     | 
    
         
            +
                #    get :show, :id => 1
         
     | 
| 
      
 21 
     | 
    
         
            +
                #
         
     | 
| 
      
 22 
     | 
    
         
            +
                #    assert_response :success
         
     | 
| 
      
 23 
     | 
    
         
            +
                #  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                #
         
     | 
| 
       12 
25 
     | 
    
         
             
                def should_render_view(template_name=nil)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  if rails_version <= '1.2.4'
         
     | 
| 
      
 27 
     | 
    
         
            +
                    should_render_view_prior_version_124(template_name)
         
     | 
| 
      
 28 
     | 
    
         
            +
                  elsif rails_version <= '2.0.0'
         
     | 
| 
      
 29 
     | 
    
         
            +
                    should_render_view_after_version_124(template_name)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  else
         
     | 
| 
      
 31 
     | 
    
         
            +
                    should_render_view_after_version_202(template_name)
         
     | 
| 
      
 32 
     | 
    
         
            +
                  end
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                private
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                # This version of should_render_view will work for Rails 1.2.4
         
     | 
| 
      
 38 
     | 
    
         
            +
                # (and prehaps some number of prior versions).
         
     | 
| 
      
 39 
     | 
    
         
            +
                def should_render_view_prior_version_124(template_name) # :nodoc:
         
     | 
| 
       13 
40 
     | 
    
         
             
                  view = flexmock("MockView")
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
      
 41 
     | 
    
         
            +
                  view.should_receive(
         
     | 
| 
      
 42 
     | 
    
         
            +
                    :assigns => {},
         
     | 
| 
      
 43 
     | 
    
         
            +
                    :render_file => true,
         
     | 
| 
      
 44 
     | 
    
         
            +
                    :first_render => "dummy_template"
         
     | 
| 
       18 
45 
     | 
    
         
             
                    )
         
     | 
| 
       19 
46 
     | 
    
         
             
                  if template_name
         
     | 
| 
       20 
47 
     | 
    
         
             
                    view.should_receive(:file_exists?).with(/#{template_name}$/).once.
         
     | 
| 
         @@ -26,5 +53,49 @@ class FlexMock 
     | 
|
| 
       26 
53 
     | 
    
         
             
                  flexmock(@controller.class).should_receive(:view_class).once.
         
     | 
| 
       27 
54 
     | 
    
         
             
                    and_return(view_class)
         
     | 
| 
       28 
55 
     | 
    
         
             
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                # This version of should_render_view will work with versions of
         
     | 
| 
      
 58 
     | 
    
         
            +
                # Rails after Version 1.2.4.
         
     | 
| 
      
 59 
     | 
    
         
            +
                def should_render_view_after_version_124(template_name)
         
     | 
| 
      
 60 
     | 
    
         
            +
                  view = flexmock("MockView")
         
     | 
| 
      
 61 
     | 
    
         
            +
                  view.should_receive(
         
     | 
| 
      
 62 
     | 
    
         
            +
                    :assigns => {},
         
     | 
| 
      
 63 
     | 
    
         
            +
                    :render_file => true,
         
     | 
| 
      
 64 
     | 
    
         
            +
                    :template_format => :dummy_format,
         
     | 
| 
      
 65 
     | 
    
         
            +
                    :view_paths => :dummy_view_paths,
         
     | 
| 
      
 66 
     | 
    
         
            +
                    :pick_template_extension => :dummy_extension
         
     | 
| 
      
 67 
     | 
    
         
            +
                    )
         
     | 
| 
      
 68 
     | 
    
         
            +
                  if template_name
         
     | 
| 
      
 69 
     | 
    
         
            +
                    view.should_receive(:file_exists?).with(/#{template_name}$/).once.
         
     | 
| 
      
 70 
     | 
    
         
            +
                      and_return(true)
         
     | 
| 
      
 71 
     | 
    
         
            +
                  end
         
     | 
| 
      
 72 
     | 
    
         
            +
                  view.should_receive(:file_exists?).with(any).and_return(true)
         
     | 
| 
      
 73 
     | 
    
         
            +
                  
         
     | 
| 
      
 74 
     | 
    
         
            +
                  # The number of times this is called changes from version 1.2.6
         
     | 
| 
      
 75 
     | 
    
         
            +
                  # to 2.0.  The important thing is that it is checked at least once.
         
     | 
| 
      
 76 
     | 
    
         
            +
                  flexmock(@response).should_receive(:template).and_return(view).
         
     | 
| 
      
 77 
     | 
    
         
            +
                    at_least.once
         
     | 
| 
      
 78 
     | 
    
         
            +
                end
         
     | 
| 
      
 79 
     | 
    
         
            +
                
         
     | 
| 
      
 80 
     | 
    
         
            +
                # This version of should_render_view will work with versions of
         
     | 
| 
      
 81 
     | 
    
         
            +
                # Rails at Version 2.0.2 and after
         
     | 
| 
      
 82 
     | 
    
         
            +
                def should_render_view_after_version_202(template_name)
         
     | 
| 
      
 83 
     | 
    
         
            +
                  viewmock = flexmock("ViewMock")
         
     | 
| 
      
 84 
     | 
    
         
            +
                  viewmock.should_receive(
         
     | 
| 
      
 85 
     | 
    
         
            +
                    :assigns => {},
         
     | 
| 
      
 86 
     | 
    
         
            +
                    :pick_template_extension => ".html",
         
     | 
| 
      
 87 
     | 
    
         
            +
                    :template_format =>nil,
         
     | 
| 
      
 88 
     | 
    
         
            +
                    :view_paths => nil,
         
     | 
| 
      
 89 
     | 
    
         
            +
                    :file_exists? => true,
         
     | 
| 
      
 90 
     | 
    
         
            +
                    :first_render => "")
         
     | 
| 
      
 91 
     | 
    
         
            +
                  if template_name
         
     | 
| 
      
 92 
     | 
    
         
            +
                    viewmock.should_receive(:render_file).with(/\/#{template_name}$/, any, any).
         
     | 
| 
      
 93 
     | 
    
         
            +
                      and_return(nil).once
         
     | 
| 
      
 94 
     | 
    
         
            +
                  else
         
     | 
| 
      
 95 
     | 
    
         
            +
                    viewmock.should_receive(:render_file).and_return(nil)
         
     | 
| 
      
 96 
     | 
    
         
            +
                  end
         
     | 
| 
      
 97 
     | 
    
         
            +
                  flexmock(ActionView::Base).should_receive(:new).and_return(viewmock)
         
     | 
| 
      
 98 
     | 
    
         
            +
                end
         
     | 
| 
      
 99 
     | 
    
         
            +
                
         
     | 
| 
       29 
100 
     | 
    
         
             
              end
         
     | 
| 
       30 
101 
     | 
    
         
             
            end
         
     | 
| 
         @@ -52,7 +52,7 @@ class TestFlexMock < Test::Unit::TestCase 
     | 
|
| 
       52 
52 
     | 
    
         
             
              end
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
       54 
54 
     | 
    
         
             
              def test_handle_missing_method
         
     | 
| 
       55 
     | 
    
         
            -
                expected_error = ( 
     | 
| 
      
 55 
     | 
    
         
            +
                expected_error = (RUBY_VERSION >= "1.8.0") ? NoMethodError : NameError
         
     | 
| 
       56 
56 
     | 
    
         
             
                ex = assert_raises(expected_error) {
         
     | 
| 
       57 
57 
     | 
    
         
             
                  @mock.not_defined
         
     | 
| 
       58 
58 
     | 
    
         
             
                }
         
     | 
    
        data/test/test_flexmodel.rb
    CHANGED
    
    
    
        data/test/test_new_instances.rb
    CHANGED
    
    | 
         @@ -111,11 +111,19 @@ class TestNewInstances < Test::Unit::TestCase 
     | 
|
| 
       111 
111 
     | 
    
         
             
                assert_match(/new_instances/, ex.message)
         
     | 
| 
       112 
112 
     | 
    
         
             
              end
         
     | 
| 
       113 
113 
     | 
    
         | 
| 
       114 
     | 
    
         
            -
              def  
     | 
| 
      
 114 
     | 
    
         
            +
              def test_does_not_by_default_stub_objects_created_with_allocate
         
     | 
| 
       115 
115 
     | 
    
         
             
                flexstub(Dog).new_instances do |obj|
         
     | 
| 
       116 
116 
     | 
    
         
             
                  obj.should_receive(:bark).and_return(:whimper)
         
     | 
| 
       117 
117 
     | 
    
         
             
                end
         
     | 
| 
       118 
118 
     | 
    
         
             
                m = Dog.allocate
         
     | 
| 
      
 119 
     | 
    
         
            +
                assert_equal :woof,  m.bark
         
     | 
| 
      
 120 
     | 
    
         
            +
              end
         
     | 
| 
      
 121 
     | 
    
         
            +
              
         
     | 
| 
      
 122 
     | 
    
         
            +
              def test_can_explicitly_stub_objects_created_with_allocate
         
     | 
| 
      
 123 
     | 
    
         
            +
                flexstub(Dog).new_instances(:allocate) do |obj|
         
     | 
| 
      
 124 
     | 
    
         
            +
                  obj.should_receive(:bark).and_return(:whimper)
         
     | 
| 
      
 125 
     | 
    
         
            +
                end
         
     | 
| 
      
 126 
     | 
    
         
            +
                m = Dog.allocate
         
     | 
| 
       119 
127 
     | 
    
         
             
                assert_equal :whimper,  m.bark
         
     | 
| 
       120 
128 
     | 
    
         
             
              end
         
     | 
| 
       121 
129 
     | 
    
         | 
| 
         @@ -142,15 +150,6 @@ class TestNewInstances < Test::Unit::TestCase 
     | 
|
| 
       142 
150 
     | 
    
         
             
                assert_equal 1, counter
         
     | 
| 
       143 
151 
     | 
    
         
             
              end
         
     | 
| 
       144 
152 
     | 
    
         | 
| 
       145 
     | 
    
         
            -
              def test_stubbing_new_and_allocate_doesnt_double_stub_objects_on_allocate
         
     | 
| 
       146 
     | 
    
         
            -
                counter = 0
         
     | 
| 
       147 
     | 
    
         
            -
                flexstub(Dog).new_instances do |obj|
         
     | 
| 
       148 
     | 
    
         
            -
                  counter += 1
         
     | 
| 
       149 
     | 
    
         
            -
                end
         
     | 
| 
       150 
     | 
    
         
            -
                Dog.allocate
         
     | 
| 
       151 
     | 
    
         
            -
                assert_equal 1, counter
         
     | 
| 
       152 
     | 
    
         
            -
              end
         
     | 
| 
       153 
     | 
    
         
            -
              
         
     | 
| 
       154 
153 
     | 
    
         
             
              # Current behavior does not install stubs into the block passed to new. 
         
     | 
| 
       155 
154 
     | 
    
         
             
              # This is rather difficult to achieve, although it would be nice.  For the
         
     | 
| 
       156 
155 
     | 
    
         
             
              # moment, we assure that they are not stubbed, but I am willing to change 
         
     | 
| 
         @@ -3,15 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            require 'test/unit'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'flexmock/rails/view_mocking'
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            class TestRailsViewStub < Test::Unit::TestCase
         
     | 
| 
       8 
     | 
    
         
            -
              include FlexMock::TestCase
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
              def setup
         
     | 
| 
       11 
     | 
    
         
            -
                @controller_class = flexmock("controller class")
         
     | 
| 
       12 
     | 
    
         
            -
                @controller = flexmock("controller", :class => @controller_class)
         
     | 
| 
       13 
     | 
    
         
            -
              end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 6 
     | 
    
         
            +
            module ViewTests
         
     | 
| 
       15 
7 
     | 
    
         
             
              def test_view_mocks_as_stub
         
     | 
| 
       16 
8 
     | 
    
         
             
                should_render_view
         
     | 
| 
       17 
9 
     | 
    
         
             
                render "controller/new.rthml"
         
     | 
| 
         @@ -44,6 +36,23 @@ class TestRailsViewStub < Test::Unit::TestCase 
     | 
|
| 
       44 
36 
     | 
    
         | 
| 
       45 
37 
     | 
    
         
             
              private
         
     | 
| 
       46 
38 
     | 
    
         | 
| 
      
 39 
     | 
    
         
            +
              def pretend_to_be_rails_version(version)
         
     | 
| 
      
 40 
     | 
    
         
            +
                flexmock(self).should_receive(:rails_version).and_return(version)
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
            end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            ######################################################################
         
     | 
| 
      
 45 
     | 
    
         
            +
            class TestRailsViewStubForVersionsUpTo_1_2_4 < Test::Unit::TestCase
         
     | 
| 
      
 46 
     | 
    
         
            +
              include FlexMock::TestCase
         
     | 
| 
      
 47 
     | 
    
         
            +
              include ViewTests
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 50 
     | 
    
         
            +
                @controller_class = flexmock("controller class")
         
     | 
| 
      
 51 
     | 
    
         
            +
                @controller = flexmock("controller", :class => @controller_class)
         
     | 
| 
      
 52 
     | 
    
         
            +
                pretend_to_be_rails_version("1.2.4")
         
     | 
| 
      
 53 
     | 
    
         
            +
              end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
              # Simulate Rails rendering in version 1.2.4
         
     | 
| 
       47 
56 
     | 
    
         
             
              def render(*names)
         
     | 
| 
       48 
57 
     | 
    
         
             
                vc = @controller.class.view_class
         
     | 
| 
       49 
58 
     | 
    
         
             
                v = vc.new
         
     | 
| 
         @@ -54,4 +63,32 @@ class TestRailsViewStub < Test::Unit::TestCase 
     | 
|
| 
       54 
63 
     | 
    
         
             
                  v.file_exists?(name)
         
     | 
| 
       55 
64 
     | 
    
         
             
                end
         
     | 
| 
       56 
65 
     | 
    
         
             
              end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            end
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            ######################################################################
         
     | 
| 
      
 70 
     | 
    
         
            +
            class TestRailsViewStubForVersionsAfter_1_2_4 < Test::Unit::TestCase
         
     | 
| 
      
 71 
     | 
    
         
            +
              include FlexMock::TestCase
         
     | 
| 
      
 72 
     | 
    
         
            +
              include ViewTests
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 75 
     | 
    
         
            +
                @controller_class = flexmock("controller class")
         
     | 
| 
      
 76 
     | 
    
         
            +
                @controller = flexmock("controller", :class => @controller_class)
         
     | 
| 
      
 77 
     | 
    
         
            +
                @response = flexmock("Response")
         
     | 
| 
      
 78 
     | 
    
         
            +
                pretend_to_be_rails_version("2.0")
         
     | 
| 
      
 79 
     | 
    
         
            +
              end
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
              # Simulate Rails rendering after Rails version 1.2.4
         
     | 
| 
      
 82 
     | 
    
         
            +
              def render(*names)
         
     | 
| 
      
 83 
     | 
    
         
            +
                v = @response.template
         
     | 
| 
      
 84 
     | 
    
         
            +
                v.assigns(:x => :y)
         
     | 
| 
      
 85 
     | 
    
         
            +
                v.render_file
         
     | 
| 
      
 86 
     | 
    
         
            +
                v.template_format
         
     | 
| 
      
 87 
     | 
    
         
            +
                v.view_paths
         
     | 
| 
      
 88 
     | 
    
         
            +
                v.pick_template_extension
         
     | 
| 
      
 89 
     | 
    
         
            +
                names.each do |name|
         
     | 
| 
      
 90 
     | 
    
         
            +
                  v.file_exists?(name)
         
     | 
| 
      
 91 
     | 
    
         
            +
                end
         
     | 
| 
      
 92 
     | 
    
         
            +
              end
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
       57 
94 
     | 
    
         
             
            end
         
     | 
    
        data/test/test_record_mode.rb
    CHANGED
    
    | 
         @@ -40,6 +40,9 @@ class TestRecordMode < Test::Unit::TestCase 
     | 
|
| 
       40 
40 
     | 
    
         
             
                FlexMock.use("mock") do |mock|
         
     | 
| 
       41 
41 
     | 
    
         
             
                  mock.should_expect do |r|
         
     | 
| 
       42 
42 
     | 
    
         
             
                    answers = [1, 2]
         
     | 
| 
      
 43 
     | 
    
         
            +
                    # HACK: The following lambda is needed in Ruby 1.9 to cause
         
     | 
| 
      
 44 
     | 
    
         
            +
                    # the answers to be properly bound in the following block.
         
     | 
| 
      
 45 
     | 
    
         
            +
                    lambda { }
         
     | 
| 
       43 
46 
     | 
    
         
             
                    r.f { answers.shift }
         
     | 
| 
       44 
47 
     | 
    
         
             
                  end
         
     | 
| 
       45 
48 
     | 
    
         
             
                  assert_equal 1, mock.f
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,39 +1,47 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
     | 
    
         
            -
            rubygems_version: 0.9.4
         
     | 
| 
       3 
     | 
    
         
            -
            specification_version: 1
         
     | 
| 
       4 
2 
     | 
    
         
             
            name: flexmock
         
     | 
| 
       5 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       6 
     | 
    
         
            -
              version: 0.8. 
     | 
| 
       7 
     | 
    
         
            -
            date: 2007-11-08 00:00:00 -05:00
         
     | 
| 
       8 
     | 
    
         
            -
            summary: Simple and Flexible Mock Objects for Testing
         
     | 
| 
       9 
     | 
    
         
            -
            require_paths: 
         
     | 
| 
       10 
     | 
    
         
            -
            - lib
         
     | 
| 
       11 
     | 
    
         
            -
            email: jim@weirichhouse.org
         
     | 
| 
       12 
     | 
    
         
            -
            homepage: http://onestepback.org/software/flexmock
         
     | 
| 
       13 
     | 
    
         
            -
            rubyforge_project: 
         
     | 
| 
       14 
     | 
    
         
            -
            description: FlexMock is a extremely simple mock object class compatible with the Test::Unit framework.  Although the FlexMock's  interface is simple, it is very flexible.
         
     | 
| 
       15 
     | 
    
         
            -
            autorequire: 
         
     | 
| 
       16 
     | 
    
         
            -
            default_executable: 
         
     | 
| 
       17 
     | 
    
         
            -
            bindir: bin
         
     | 
| 
       18 
     | 
    
         
            -
            has_rdoc: true
         
     | 
| 
       19 
     | 
    
         
            -
            required_ruby_version: !ruby/object:Gem::Version::Requirement 
         
     | 
| 
       20 
     | 
    
         
            -
              requirements: 
         
     | 
| 
       21 
     | 
    
         
            -
              - - ">"
         
     | 
| 
       22 
     | 
    
         
            -
                - !ruby/object:Gem::Version 
         
     | 
| 
       23 
     | 
    
         
            -
                  version: 0.0.0
         
     | 
| 
       24 
     | 
    
         
            -
              version: 
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.8.1
         
     | 
| 
       25 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       26 
     | 
    
         
            -
            signing_key: 
         
     | 
| 
       27 
     | 
    
         
            -
            cert_chain: 
         
     | 
| 
       28 
     | 
    
         
            -
            post_install_message: 
         
     | 
| 
       29 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       30 
7 
     | 
    
         
             
            - Jim Weirich
         
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 9 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 10 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2008-05-21 00:00:00 -07:00
         
     | 
| 
      
 13 
     | 
    
         
            +
            default_executable: 
         
     | 
| 
      
 14 
     | 
    
         
            +
            dependencies: []
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            description: FlexMock is a extremely simple mock object class compatible with the Test::Unit framework.  Although the FlexMock's  interface is simple, it is very flexible.
         
     | 
| 
      
 17 
     | 
    
         
            +
            email: jim@weirichhouse.org
         
     | 
| 
      
 18 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            extra_rdoc_files: 
         
     | 
| 
      
 23 
     | 
    
         
            +
            - README
         
     | 
| 
      
 24 
     | 
    
         
            +
            - CHANGES
         
     | 
| 
      
 25 
     | 
    
         
            +
            - doc/GoogleExample.rdoc
         
     | 
| 
      
 26 
     | 
    
         
            +
            - doc/releases/flexmock-0.4.0.rdoc
         
     | 
| 
      
 27 
     | 
    
         
            +
            - doc/releases/flexmock-0.4.1.rdoc
         
     | 
| 
      
 28 
     | 
    
         
            +
            - doc/releases/flexmock-0.4.2.rdoc
         
     | 
| 
      
 29 
     | 
    
         
            +
            - doc/releases/flexmock-0.4.3.rdoc
         
     | 
| 
      
 30 
     | 
    
         
            +
            - doc/releases/flexmock-0.5.0.rdoc
         
     | 
| 
      
 31 
     | 
    
         
            +
            - doc/releases/flexmock-0.5.1.rdoc
         
     | 
| 
      
 32 
     | 
    
         
            +
            - doc/releases/flexmock-0.6.0.rdoc
         
     | 
| 
      
 33 
     | 
    
         
            +
            - doc/releases/flexmock-0.6.1.rdoc
         
     | 
| 
      
 34 
     | 
    
         
            +
            - doc/releases/flexmock-0.6.2.rdoc
         
     | 
| 
      
 35 
     | 
    
         
            +
            - doc/releases/flexmock-0.6.3.rdoc
         
     | 
| 
      
 36 
     | 
    
         
            +
            - doc/releases/flexmock-0.6.4.rdoc
         
     | 
| 
      
 37 
     | 
    
         
            +
            - doc/releases/flexmock-0.7.0.rdoc
         
     | 
| 
      
 38 
     | 
    
         
            +
            - doc/releases/flexmock-0.7.1.rdoc
         
     | 
| 
      
 39 
     | 
    
         
            +
            - doc/releases/flexmock-0.8.0.rdoc
         
     | 
| 
       31 
40 
     | 
    
         
             
            files: 
         
     | 
| 
       32 
41 
     | 
    
         
             
            - CHANGES
         
     | 
| 
       33 
42 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       34 
43 
     | 
    
         
             
            - README
         
     | 
| 
       35 
44 
     | 
    
         
             
            - TAGS
         
     | 
| 
       36 
     | 
    
         
            -
            - lib/flexmock.rb
         
     | 
| 
       37 
45 
     | 
    
         
             
            - lib/flexmock/argument_matchers.rb
         
     | 
| 
       38 
46 
     | 
    
         
             
            - lib/flexmock/argument_types.rb
         
     | 
| 
       39 
47 
     | 
    
         
             
            - lib/flexmock/base.rb
         
     | 
| 
         @@ -49,6 +57,7 @@ files: 
     | 
|
| 
       49 
57 
     | 
    
         
             
            - lib/flexmock/noop.rb
         
     | 
| 
       50 
58 
     | 
    
         
             
            - lib/flexmock/ordering.rb
         
     | 
| 
       51 
59 
     | 
    
         
             
            - lib/flexmock/partial_mock.rb
         
     | 
| 
      
 60 
     | 
    
         
            +
            - lib/flexmock/rails/view_mocking.rb
         
     | 
| 
       52 
61 
     | 
    
         
             
            - lib/flexmock/rails.rb
         
     | 
| 
       53 
62 
     | 
    
         
             
            - lib/flexmock/recorder.rb
         
     | 
| 
       54 
63 
     | 
    
         
             
            - lib/flexmock/rspec.rb
         
     | 
| 
         @@ -56,9 +65,10 @@ files: 
     | 
|
| 
       56 
65 
     | 
    
         
             
            - lib/flexmock/test_unit_integration.rb
         
     | 
| 
       57 
66 
     | 
    
         
             
            - lib/flexmock/undefined.rb
         
     | 
| 
       58 
67 
     | 
    
         
             
            - lib/flexmock/validators.rb
         
     | 
| 
       59 
     | 
    
         
            -
            - lib/flexmock 
     | 
| 
      
 68 
     | 
    
         
            +
            - lib/flexmock.rb
         
     | 
| 
       60 
69 
     | 
    
         
             
            - test/asserts.rb
         
     | 
| 
       61 
70 
     | 
    
         
             
            - test/redirect_error.rb
         
     | 
| 
      
 71 
     | 
    
         
            +
            - test/rspec_integration/integration_spec.rb
         
     | 
| 
       62 
72 
     | 
    
         
             
            - test/test_aliasing.rb
         
     | 
| 
       63 
73 
     | 
    
         
             
            - test/test_container_methods.rb
         
     | 
| 
       64 
74 
     | 
    
         
             
            - test/test_default_framework_adapter.rb
         
     | 
| 
         @@ -77,7 +87,6 @@ files: 
     | 
|
| 
       77 
87 
     | 
    
         
             
            - test/test_should_receive.rb
         
     | 
| 
       78 
88 
     | 
    
         
             
            - test/test_tu_integration.rb
         
     | 
| 
       79 
89 
     | 
    
         
             
            - test/test_undefined.rb
         
     | 
| 
       80 
     | 
    
         
            -
            - test/rspec_integration/integration_spec.rb
         
     | 
| 
       81 
90 
     | 
    
         
             
            - test/test_unit_integration/test_auto_test_unit.rb
         
     | 
| 
       82 
91 
     | 
    
         
             
            - flexmock.blurb
         
     | 
| 
       83 
92 
     | 
    
         
             
            - install.rb
         
     | 
| 
         @@ -96,37 +105,35 @@ files: 
     | 
|
| 
       96 
105 
     | 
    
         
             
            - doc/releases/flexmock-0.7.0.rdoc
         
     | 
| 
       97 
106 
     | 
    
         
             
            - doc/releases/flexmock-0.7.1.rdoc
         
     | 
| 
       98 
107 
     | 
    
         
             
            - doc/releases/flexmock-0.8.0.rdoc
         
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
       100 
     | 
    
         
            -
             
     | 
| 
      
 108 
     | 
    
         
            +
            has_rdoc: true
         
     | 
| 
      
 109 
     | 
    
         
            +
            homepage: http://onestepback.org/software/flexmock
         
     | 
| 
      
 110 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
       101 
111 
     | 
    
         
             
            rdoc_options: 
         
     | 
| 
       102 
112 
     | 
    
         
             
            - --title
         
     | 
| 
       103 
113 
     | 
    
         
             
            - Flex Mock
         
     | 
| 
       104 
114 
     | 
    
         
             
            - --main
         
     | 
| 
       105 
115 
     | 
    
         
             
            - README
         
     | 
| 
       106 
116 
     | 
    
         
             
            - --line-numbers
         
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
            -  
     | 
| 
       109 
     | 
    
         
            -
             
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
            -  
     | 
| 
       112 
     | 
    
         
            -
            -  
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
       117 
     | 
    
         
            -
            -  
     | 
| 
       118 
     | 
    
         
            -
            -  
     | 
| 
       119 
     | 
    
         
            -
             
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
            - doc/releases/flexmock-0.6.4.rdoc
         
     | 
| 
       122 
     | 
    
         
            -
            - doc/releases/flexmock-0.7.0.rdoc
         
     | 
| 
       123 
     | 
    
         
            -
            - doc/releases/flexmock-0.7.1.rdoc
         
     | 
| 
       124 
     | 
    
         
            -
            - doc/releases/flexmock-0.8.0.rdoc
         
     | 
| 
       125 
     | 
    
         
            -
            executables: []
         
     | 
| 
       126 
     | 
    
         
            -
             
     | 
| 
       127 
     | 
    
         
            -
            extensions: []
         
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
      
 117 
     | 
    
         
            +
            require_paths: 
         
     | 
| 
      
 118 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 119 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 120 
     | 
    
         
            +
              requirements: 
         
     | 
| 
      
 121 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 122 
     | 
    
         
            +
                - !ruby/object:Gem::Version 
         
     | 
| 
      
 123 
     | 
    
         
            +
                  version: "0"
         
     | 
| 
      
 124 
     | 
    
         
            +
              version: 
         
     | 
| 
      
 125 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 126 
     | 
    
         
            +
              requirements: 
         
     | 
| 
      
 127 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 128 
     | 
    
         
            +
                - !ruby/object:Gem::Version 
         
     | 
| 
      
 129 
     | 
    
         
            +
                  version: "0"
         
     | 
| 
      
 130 
     | 
    
         
            +
              version: 
         
     | 
| 
       129 
131 
     | 
    
         
             
            requirements: []
         
     | 
| 
       130 
132 
     | 
    
         | 
| 
       131 
     | 
    
         
            -
             
     | 
| 
      
 133 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 134 
     | 
    
         
            +
            rubygems_version: 1.0.1
         
     | 
| 
      
 135 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 136 
     | 
    
         
            +
            specification_version: 2
         
     | 
| 
      
 137 
     | 
    
         
            +
            summary: Simple and Flexible Mock Objects for Testing
         
     | 
| 
      
 138 
     | 
    
         
            +
            test_files: []
         
     | 
| 
       132 
139 
     | 
    
         |