| // | |
| // RACEventSpec.m | |
| // ReactiveCocoa | |
| // | |
| // Created by Justin Spahr-Summers on 2013-01-07. | |
| // Copyright (c) 2013 GitHub, Inc. All rights reserved. | |
| // | |
| #import "RACEvent.h" | |
| SpecBegin(RACEvent) | |
| it(@"should return the singleton completed event", ^{ | |
| RACEvent *event = RACEvent.completedEvent; | |
| expect(event).notTo.beNil(); | |
| expect(event).to.beIdenticalTo(RACEvent.completedEvent); | |
| expect([event copy]).to.beIdenticalTo(event); | |
| expect(event.eventType).to.equal(RACEventTypeCompleted); | |
| expect(event.finished).to.beTruthy(); | |
| expect(event.error).to.beNil(); | |
| expect(event.value).to.beNil(); | |
| }); | |
| it(@"should return an error event", ^{ | |
| NSError *error = [NSError errorWithDomain:@"foo" code:1 userInfo:nil]; | |
| RACEvent *event = [RACEvent eventWithError:error]; | |
| expect(event).notTo.beNil(); | |
| expect(event).to.equal([RACEvent eventWithError:error]); | |
| expect([event copy]).to.equal(event); | |
| expect(event.eventType).to.equal(RACEventTypeError); | |
| expect(event.finished).to.beTruthy(); | |
| expect(event.error).to.equal(error); | |
| expect(event.value).to.beNil(); | |
| }); | |
| it(@"should return an error event with a nil error", ^{ | |
| RACEvent *event = [RACEvent eventWithError:nil]; | |
| expect(event).notTo.beNil(); | |
| expect(event).to.equal([RACEvent eventWithError:nil]); | |
| expect([event copy]).to.equal(event); | |
| expect(event.eventType).to.equal(RACEventTypeError); | |
| expect(event.finished).to.beTruthy(); | |
| expect(event.error).to.beNil(); | |
| expect(event.value).to.beNil(); | |
| }); | |
| it(@"should return a next event", ^{ | |
| NSString *value = @"foo"; | |
| RACEvent *event = [RACEvent eventWithValue:value]; | |
| expect(event).notTo.beNil(); | |
| expect(event).to.equal([RACEvent eventWithValue:value]); | |
| expect([event copy]).to.equal(event); | |
| expect(event.eventType).to.equal(RACEventTypeNext); | |
| expect(event.finished).to.beFalsy(); | |
| expect(event.error).to.beNil(); | |
| expect(event.value).to.equal(value); | |
| }); | |
| it(@"should return a next event with a nil value", ^{ | |
| RACEvent *event = [RACEvent eventWithValue:nil]; | |
| expect(event).notTo.beNil(); | |
| expect(event).to.equal([RACEvent eventWithValue:nil]); | |
| expect([event copy]).to.equal(event); | |
| expect(event.eventType).to.equal(RACEventTypeNext); | |
| expect(event.finished).to.beFalsy(); | |
| expect(event.error).to.beNil(); | |
| expect(event.value).to.beNil(); | |
| }); | |
| SpecEnd |