summaryrefslogtreecommitdiff
path: root/vendor/github.com/onsi/gomega/internal/vetoptdesc.go
blob: f2958764171ba2da455fb4c9e76071f0de260ae1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package internal

import (
	"fmt"

	"github.com/onsi/gomega/types"
)

// vetOptionalDescription vets the optional description args: if it finds any
// Gomega matcher at the beginning it panics. This allows for rendering Gomega
// matchers as part of an optional Description, as long as they're not in the
// first slot.
func vetOptionalDescription(assertion string, optionalDescription ...interface{}) {
	if len(optionalDescription) == 0 {
		return
	}
	if _, isGomegaMatcher := optionalDescription[0].(types.GomegaMatcher); isGomegaMatcher {
		panic(fmt.Sprintf("%s has a GomegaMatcher as the first element of optionalDescription.\n\t"+
			"Do you mean to use And/Or/SatisfyAll/SatisfyAny to combine multiple matchers?",
			assertion))
	}
}