Skip to content

Commit 66b3a99

Browse files
author
Semih KEŞKEK
authored
Merge pull request #4 from dustincleveland/master
Fix #3 and Tests
2 parents 56de03a + aee0bd6 commit 66b3a99

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/angular2-pubsub.service.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ describe('PubSubService', (): void => {
1212

1313
describe('$sub', (): void => {
1414
it('should throw an error when event is falsy', (): void => {
15-
expect(pubService.$sub.bind(undefined)).toThrow();
15+
expect(() => pubService.$sub(undefined)).toThrow();
1616
});
1717

1818
it('should return an observable when there is no callback', (): void => {
@@ -30,11 +30,11 @@ describe('PubSubService', (): void => {
3030

3131
describe('$pub', (): void => {
3232
it('should throw an error when event is falsy', (): void => {
33-
expect(pubService.$pub.bind(undefined)).toThrow();
33+
expect(() => pubService.$pub(undefined)).toThrow();
3434
});
3535

36-
it('should throw an error when event is not registered', (): void => {
37-
expect(pubService.$pub.bind('not-registered')).toThrow();
36+
it('should do nothing when an event is not registered', (): void => {
37+
expect(() => pubService.$pub('not-registered')).not.toThrow();
3838
});
3939

4040
it('should publish with parameters if the event is registered', (): void => {

src/angular2-pubsub.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Injectable } from '@angular/core';
2-
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
2+
import { ReplaySubject } from 'rxjs/ReplaySubject';
33
import { Observable } from 'rxjs/Observable';
44
import { Subscription } from 'rxjs/Subscription';
55

@@ -21,7 +21,7 @@ export class PubSubService implements IPubSubService {
2121
}
2222

2323
if (this.events[event] === undefined) {
24-
this.events[event] = new BehaviorSubject<any>(0);
24+
this.events[event] = new ReplaySubject<any>();
2525
}
2626

2727
if (typeof callback !== 'function') {
@@ -35,7 +35,7 @@ export class PubSubService implements IPubSubService {
3535
if (!event) {
3636
throw new Error(`[${ServiceName}] => Publish method must get event name.`);
3737
} else if (!this.events[event]) {
38-
throw new Error(`[${ServiceName}] => No recorded events found for ${event}.`);
38+
return;
3939
}
4040

4141
this.events[event].next(eventObject);

0 commit comments

Comments
 (0)