| package matchers_test |
| |
| import ( |
| . "github.com/onsi/ginkgo" |
| . "github.com/onsi/gomega" |
| . "github.com/onsi/gomega/matchers" |
| ) |
| |
| var _ = Describe("BeClosedMatcher", func() { |
| Context("when passed a channel", func() { |
| It("should do the right thing", func() { |
| openChannel := make(chan bool) |
| Ω(openChannel).ShouldNot(BeClosed()) |
| |
| var openReaderChannel <-chan bool |
| openReaderChannel = openChannel |
| Ω(openReaderChannel).ShouldNot(BeClosed()) |
| |
| closedChannel := make(chan bool) |
| close(closedChannel) |
| |
| Ω(closedChannel).Should(BeClosed()) |
| |
| var closedReaderChannel <-chan bool |
| closedReaderChannel = closedChannel |
| Ω(closedReaderChannel).Should(BeClosed()) |
| }) |
| }) |
| |
| Context("when passed a send-only channel", func() { |
| It("should error", func() { |
| openChannel := make(chan bool) |
| var openWriterChannel chan<- bool |
| openWriterChannel = openChannel |
| |
| success, err := (&BeClosedMatcher{}).Match(openWriterChannel) |
| Ω(success).Should(BeFalse()) |
| Ω(err).Should(HaveOccurred()) |
| |
| closedChannel := make(chan bool) |
| close(closedChannel) |
| |
| var closedWriterChannel chan<- bool |
| closedWriterChannel = closedChannel |
| |
| success, err = (&BeClosedMatcher{}).Match(closedWriterChannel) |
| Ω(success).Should(BeFalse()) |
| Ω(err).Should(HaveOccurred()) |
| |
| }) |
| }) |
| |
| Context("when passed something else", func() { |
| It("should error", func() { |
| var nilChannel chan bool |
| |
| success, err := (&BeClosedMatcher{}).Match(nilChannel) |
| Ω(success).Should(BeFalse()) |
| Ω(err).Should(HaveOccurred()) |
| |
| success, err = (&BeClosedMatcher{}).Match(nil) |
| Ω(success).Should(BeFalse()) |
| Ω(err).Should(HaveOccurred()) |
| |
| success, err = (&BeClosedMatcher{}).Match(7) |
| Ω(success).Should(BeFalse()) |
| Ω(err).Should(HaveOccurred()) |
| }) |
| }) |
| }) |