123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- /*
- * Copyright (c) 2014-2015 Erik Doernenburg and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may
- * not use these files except in compliance with the License. You may obtain
- * a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations
- * under the License.
- */
- #import "OCMMacroState.h"
- #import "OCMStubRecorder.h"
- #import "OCMockObject.h"
- #import "OCMExpectationRecorder.h"
- #import "OCMVerifier.h"
- #import "OCMInvocationMatcher.h"
- @implementation OCMMacroState
- static OCMMacroState *globalState;
- #pragma mark Methods to begin/end macros
- + (void)beginStubMacro
- {
- OCMStubRecorder *recorder = [[[OCMStubRecorder alloc] init] autorelease];
- globalState = [[[OCMMacroState alloc] initWithRecorder:recorder] autorelease];
- }
- + (OCMStubRecorder *)endStubMacro
- {
- OCMStubRecorder *recorder = (OCMStubRecorder *)[globalState recorder];
- globalState = nil;
- return recorder;
- }
- + (void)beginExpectMacro
- {
- OCMExpectationRecorder *recorder = [[[OCMExpectationRecorder alloc] init] autorelease];
- globalState = [[[OCMMacroState alloc] initWithRecorder:recorder] autorelease];
- }
- + (OCMStubRecorder *)endExpectMacro
- {
- return [self endStubMacro];
- }
- + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation
- {
- OCMVerifier *recorder = [[[OCMVerifier alloc] init] autorelease];
- [recorder setLocation:aLocation];
- globalState = [[[OCMMacroState alloc] initWithRecorder:recorder] autorelease];
- }
- + (void)endVerifyMacro
- {
- globalState = nil;
- }
- #pragma mark Accessing global state
- + (OCMMacroState *)globalState
- {
- return globalState;
- }
- #pragma mark Init, dealloc, accessors
- - (id)initWithRecorder:(OCMRecorder *)aRecorder
- {
- if ((self = [super init]))
- {
- recorder = [aRecorder retain];
- }
-
- return self;
- }
- - (void)dealloc
- {
- [recorder release];
- if(globalState == self)
- globalState = nil;
- [super dealloc];
- }
- - (OCMRecorder *)recorder
- {
- return recorder;
- }
- #pragma mark Changing the recorder
- - (void)switchToClassMethod
- {
- [recorder classMethod];
- }
- @end
|