hunk.code_window: 		}
   	}
   	posts := &model.PostList{}
   	for _, channel := range channels {
   		if result := <-channel; result.Err != nil {
   			return nil, result.Err
   		} else {
   			data := result.Data.(*model.PostList)
  
hunk.labels: keep keep keep replace keep keep keep keep keep
hunk.after_edit: 	posts := model.NewPostList()
  
hunk.file_path: app/post.go
hunk.type: replace
file: package handlers
  
  import (
  	"bytes"
  	"log"
  	"net/http"
  	"net/http/httptest"
  	"strings"
  	"testing"
  )
  
  func TestRecoveryLoggerWithDefaultOptions(t *testing.T) {
  	var buf bytes.Buffer
  	log.SetOutput(&buf)
  
  	handler := RecoveryHandler()
  	handlerFunc := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
  		panic("Unexpected error!")
  	})
  
  	recovery := handler(handlerFunc)
  	recovery.ServeHTTP(httptest.NewRecorder(), newRequest("GET", "/subdir/asdf"))
  
  	if !strings.Contains(buf.String(), "Unexpected error!") {
  		t.Fatalf("Got log %#v, wanted substring %#v", buf.String(), "Unexpected error!")
  	}
  }
  
  func TestRecoveryLoggerWithCustomLogger(t *testing.T) {
  	var buf bytes.Buffer
  	var logger = log.New(&buf, "", log.LstdFlags)
  
  	handler := RecoveryHandler(RecoveryLogger(logger), PrintRecoveryStack(false))
  	handlerFunc := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
  		panic("Unexpected error!")
  	})
  
  	recovery := handler(handlerFunc)
  	recovery.ServeHTTP(httptest.NewRecorder(), newRequest("GET", "/subdir/asdf"))
  
  	if !strings.Contains(buf.String(), "Unexpected error!") {
  		t.Fatalf("Got log %#v, wanted substring %#v", buf.String(), "Unexpected error!")
  	}
  }
  