Merge pull request #45 from Paulius-Maruska/bug/crash-without-handlers
Fixes #44, crash when no handlers
This commit is contained in:
commit
3d199df8a0
8
feed.go
8
feed.go
|
@ -46,13 +46,17 @@ func (err *UnsupportedFeedError) Error() string {
|
||||||
type ChannelHandlerFunc func(f *Feed, newchannels []*Channel)
|
type ChannelHandlerFunc func(f *Feed, newchannels []*Channel)
|
||||||
|
|
||||||
func (h ChannelHandlerFunc) ProcessChannels(f *Feed, newchannels []*Channel) {
|
func (h ChannelHandlerFunc) ProcessChannels(f *Feed, newchannels []*Channel) {
|
||||||
h(f, newchannels)
|
if h != nil {
|
||||||
|
h(f, newchannels)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type ItemHandlerFunc func(f *Feed, ch *Channel, newitems []*Item)
|
type ItemHandlerFunc func(f *Feed, ch *Channel, newitems []*Item)
|
||||||
|
|
||||||
func (h ItemHandlerFunc) ProcessItems(f *Feed, ch *Channel, newitems []*Item) {
|
func (h ItemHandlerFunc) ProcessItems(f *Feed, ch *Channel, newitems []*Item) {
|
||||||
h(f, ch, newitems)
|
if h != nil {
|
||||||
|
h(f, ch, newitems)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Handler interface {
|
type Handler interface {
|
||||||
|
|
|
@ -29,6 +29,15 @@ func TestFeed(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Test_NoHandlers(t *testing.T) {
|
||||||
|
feed := New(1, true, nil, nil)
|
||||||
|
content, _ := ioutil.ReadFile("testdata/initial.atom")
|
||||||
|
err := feed.FetchBytes("http://example.com", content, nil)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func Test_NewItem(t *testing.T) {
|
func Test_NewItem(t *testing.T) {
|
||||||
content, _ := ioutil.ReadFile("testdata/initial.atom")
|
content, _ := ioutil.ReadFile("testdata/initial.atom")
|
||||||
feed := New(1, true, chanHandler, itemHandler)
|
feed := New(1, true, chanHandler, itemHandler)
|
||||||
|
|
Loading…
Reference in New Issue