hunk.code_window: 	if !DoesStatusAllowPushNotification(userNotifyProps, offline, "") {
   		t.Fatal("Should have been true")
   	}
   	// WHEN props is AWAY and user is away
   	if DoesStatusAllowPushNotification(userNotifyProps, away, channelId) {
   		t.Fatal("Should have been false")
   	}
  
hunk.labels: keep keep keep keep keep replace keep keep keep keep
hunk.after_edit: 	// WHEN props is OFFLINE and user is away
  
hunk.file_path: app/notification_test.go
hunk.type: replace
file: // Copyright 2011 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  package tiff
  
  import (
  	"bufio"
  	"io"
  )
  
  type byteReader interface {
  	io.Reader
  	io.ByteReader
  }
  
  // unpackBits decodes the PackBits-compressed data in src and returns the
  // uncompressed data.
  //
  // The PackBits compression format is described in section 9 (p. 42)
  // of the TIFF spec.
  func unpackBits(r io.Reader) ([]byte, error) {
  	buf := make([]byte, 128)
  	dst := make([]byte, 0, 1024)
  	br, ok := r.(byteReader)
  	if !ok {
  		br = bufio.NewReader(r)
  	}
  
  	for {
  		b, err := br.ReadByte()
  		if err != nil {
  			if err == io.EOF {
  				return dst, nil
  			}
  			return nil, err
  		}
  		code := int(int8(b))
  		switch {
  		case code >= 0:
  			n, err := io.ReadFull(br, buf[:code+1])
  			if err != nil {
  				return nil, err
  			}
  			dst = append(dst, buf[:n]...)
  		case code == -128:
  			// No-op.
  		default:
  			if b, err = br.ReadByte(); err != nil {
  				return nil, err
  			}
  			for j := 0; j < 1-code; j++ {
  				buf[j] = b
  			}
  			dst = append(dst, buf[:1-code]...)
  		}
  	}
  }
  