for !end {
				chunk, end = br.Next()
				_, err := out.Write(chunk)
				Expect(err).NotTo(HaveOccurred())
			}

			Expect(out.String()).To(Equal("1 2 3"))
			<-testFinished
		})
	})

	Context("when the amount of data written is larger than the buffer size", func() {
		var testFinished chan bool

		BeforeEach(func() {
			br.Buffer = make([]byte, 4)
			testFinished = make(chan bool)

			go func() {
				defer GinkgoRecover()
				_, err := writer.Write([]byte("123456789"))
				Expect(err).NotTo(HaveOccurred())
				Expect(writer.Close()).To(Succeed())
				testFinished <- true
			}()
			done = true
		})

		It("does not consider the file finished until all the data has been streamed", func() {
			var out bytes.Buffer