//Todo: Check for inline tables func (agent *rephraseRefactorer) createRefactorRequest(runner *runner.TestRunner, stepName string) (*gauge_messages.Message, error) { oldStepValue, err := agent.getStepValueFor(agent.oldStep, stepName) if err != nil { return nil, err } orderMap := agent.createOrderOfArgs() newStepName := agent.generateNewStepName(oldStepValue.Args, orderMap) newStepValue, err := parser.ExtractStepValueAndParams(newStepName, false) if err != nil { return nil, err } oldProtoStepValue := parser.ConvertToProtoStepValue(oldStepValue) newProtoStepValue := parser.ConvertToProtoStepValue(newStepValue) return &gauge_messages.Message{MessageType: gauge_messages.Message_RefactorRequest.Enum(), RefactorRequest: &gauge_messages.RefactorRequest{OldStepValue: oldProtoStepValue, NewStepValue: newProtoStepValue, ParamPositions: agent.createParameterPositions(orderMap)}}, nil }
func (specInfoGatherer *SpecInfoGatherer) createConceptInfos() []*gauge_messages.ConceptInfo { conceptInfos := make([]*gauge_messages.ConceptInfo, 0) for _, concept := range specInfoGatherer.getDictionary().ConceptsMap { stepValue := parser.CreateStepValue(concept.ConceptStep) conceptInfos = append(conceptInfos, &gauge_messages.ConceptInfo{StepValue: parser.ConvertToProtoStepValue(&stepValue), Filepath: proto.String(concept.FileName), LineNumber: proto.Int(concept.ConceptStep.LineNo)}) } return conceptInfos }
func (handler *gaugeApiMessageHandler) getAllStepsRequestResponse(message *gauge_messages.APIMessage) *gauge_messages.APIMessage { stepValues := handler.specInfoGatherer.GetAvailableSteps() stepValueResponses := make([]*gauge_messages.ProtoStepValue, 0) for _, stepValue := range stepValues { stepValueResponses = append(stepValueResponses, parser.ConvertToProtoStepValue(stepValue)) } getAllStepsResponse := &gauge_messages.GetAllStepsResponse{AllSteps: stepValueResponses} return &gauge_messages.APIMessage{MessageType: gauge_messages.APIMessage_GetAllStepResponse.Enum(), MessageId: message.MessageId, AllStepsResponse: getAllStepsResponse} }
func (s *SpecInfoGatherer) GetConceptInfos() []*gauge_messages.ConceptInfo { conceptInfos := make([]*gauge_messages.ConceptInfo, 0) s.mutex.Lock() for _, conceptList := range s.conceptsCache { for _, concept := range conceptList { stepValue := parser.CreateStepValue(concept.ConceptStep) conceptInfos = append(conceptInfos, &gauge_messages.ConceptInfo{StepValue: parser.ConvertToProtoStepValue(&stepValue), Filepath: proto.String(concept.FileName), LineNumber: proto.Int(concept.ConceptStep.LineNo)}) } } s.mutex.Unlock() return conceptInfos }
func (handler *gaugeApiMessageHandler) getStepValueRequestResponse(message *gauge_messages.APIMessage) *gauge_messages.APIMessage { request := message.GetStepValueRequest() stepText := request.GetStepText() hasInlineTable := request.GetHasInlineTable() stepValue, err := parser.ExtractStepValueAndParams(stepText, hasInlineTable) if err != nil { return handler.getErrorResponse(message, err) } stepValueResponse := &gauge_messages.GetStepValueResponse{StepValue: parser.ConvertToProtoStepValue(stepValue)} return &gauge_messages.APIMessage{MessageType: gauge_messages.APIMessage_GetStepValueResponse.Enum(), MessageId: message.MessageId, StepValueResponse: stepValueResponse} }