func New(subject leafnodes.SubjectNode, containers []*containernode.ContainerNode, announceProgress bool) *Spec { spec := &Spec{ subject: subject, containers: containers, focused: subject.Flag() == types.FlagTypeFocused, announceProgress: announceProgress, } spec.processFlag(subject.Flag()) for i := len(containers) - 1; i >= 0; i-- { spec.processFlag(containers[i].Flag()) } return spec }
func (spec *Spec) announceSubject(writer io.Writer, subject leafnodes.SubjectNode) { if spec.announceProgress { nodeType := "" switch subject.Type() { case types.SpecComponentTypeIt: nodeType = "It" case types.SpecComponentTypeMeasure: nodeType = "Measure" } s := fmt.Sprintf("[%s] %s\n %s\n", nodeType, subject.Text(), subject.CodeLocation().String()) writer.Write([]byte(s)) } }