Beispiel #1
0
				client.WriteStub = func(p []byte) (int, error) {
					copiedToClient = string(p)
					return len(expectedText), nil
				}

				go bridge.Connect()
				defer bridge.Close()
				Eventually(backend.ReadCallCount).Should(Equal(2))
				Eventually(client.WriteCallCount).Should(Equal(1))
				Expect(copiedToClient).To(Equal(expectedText))
			})
		})

		Context("when the client returns an error", func() {
			BeforeEach(func() {
				client.ReadReturns(0, errors.New("Error reading from client"))
			})

			It("Closes the backend", func() {
				bridge.Connect()
				Expect(backend.CloseCallCount()).To(Equal(1))
			})
		})

		Context("when the client returns EOF", func() {
			BeforeEach(func() {
				client.ReadStub = func(p []byte) (int, error) {
					return 0, io.EOF
				}
			})