sync: Ensure placeholder and raw are not the same
This commit is contained in:
parent
c28d974105
commit
407b67f4c2
@ -279,6 +279,7 @@ func buildKeyFlag(exercice *fic.Exercice, flag ExerciceFlag, flagline int, defau
|
|||||||
}
|
}
|
||||||
|
|
||||||
type importFlag struct {
|
type importFlag struct {
|
||||||
|
origin ExerciceFlag
|
||||||
Line int
|
Line int
|
||||||
Flag fic.Flag
|
Flag fic.Flag
|
||||||
JustifyOf *fic.MCQ_entry
|
JustifyOf *fic.MCQ_entry
|
||||||
@ -392,8 +393,9 @@ func buildExerciceFlag(i Importer, exercice *fic.Exercice, flag ExerciceFlag, nl
|
|||||||
errs = multierr.Append(errs, berrs)
|
errs = multierr.Append(errs, berrs)
|
||||||
if addedFlag != nil {
|
if addedFlag != nil {
|
||||||
ret = append(ret, importFlag{
|
ret = append(ret, importFlag{
|
||||||
Line: nline + 1,
|
origin: flag,
|
||||||
Flag: addedFlag,
|
Line: nline + 1,
|
||||||
|
Flag: addedFlag,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else if flag.Type == "key" || strings.HasPrefix(flag.Type, "number") || flag.Type == "text" || flag.Type == "ucq" || flag.Type == "radio" || flag.Type == "vector" {
|
} else if flag.Type == "key" || strings.HasPrefix(flag.Type, "number") || flag.Type == "text" || flag.Type == "ucq" || flag.Type == "radio" || flag.Type == "vector" {
|
||||||
@ -401,6 +403,7 @@ func buildExerciceFlag(i Importer, exercice *fic.Exercice, flag ExerciceFlag, nl
|
|||||||
errs = multierr.Append(errs, berrs)
|
errs = multierr.Append(errs, berrs)
|
||||||
if addedFlag != nil {
|
if addedFlag != nil {
|
||||||
ret = append(ret, importFlag{
|
ret = append(ret, importFlag{
|
||||||
|
origin: flag,
|
||||||
Line: nline + 1,
|
Line: nline + 1,
|
||||||
Flag: *addedFlag,
|
Flag: *addedFlag,
|
||||||
Choices: choices,
|
Choices: choices,
|
||||||
@ -462,6 +465,7 @@ func buildExerciceFlag(i Importer, exercice *fic.Exercice, flag ExerciceFlag, nl
|
|||||||
errs = multierr.Append(errs, berrs)
|
errs = multierr.Append(errs, berrs)
|
||||||
if addedFlag != nil {
|
if addedFlag != nil {
|
||||||
ret = append(ret, importFlag{
|
ret = append(ret, importFlag{
|
||||||
|
origin: flag,
|
||||||
Line: nline + 1,
|
Line: nline + 1,
|
||||||
Flag: *addedFlag,
|
Flag: *addedFlag,
|
||||||
JustifyOf: entry,
|
JustifyOf: entry,
|
||||||
@ -479,8 +483,9 @@ func buildExerciceFlag(i Importer, exercice *fic.Exercice, flag ExerciceFlag, nl
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret = append([]importFlag{importFlag{
|
ret = append([]importFlag{importFlag{
|
||||||
Line: nline + 1,
|
origin: flag,
|
||||||
Flag: &addedFlag,
|
Line: nline + 1,
|
||||||
|
Flag: &addedFlag,
|
||||||
}}, ret...)
|
}}, ret...)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@ -570,6 +575,10 @@ func CheckExerciceFlags(i Importer, exercice *fic.Exercice, files []string, exce
|
|||||||
if int64(fk.ChoicesCost) >= exercice.Gain {
|
if int64(fk.ChoicesCost) >= exercice.Gain {
|
||||||
errs = multierr.Append(errs, NewFlagError(exercice, nil, flag.Line, fmt.Errorf("flag's choice_cost is higher than exercice gain")))
|
errs = multierr.Append(errs, NewFlagError(exercice, nil, flag.Line, fmt.Errorf("flag's choice_cost is higher than exercice gain")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if raw, ok := flag.origin.Raw.(string); ok && raw == fk.Placeholder {
|
||||||
|
errs = multierr.Append(errs, NewFlagError(exercice, nil, flag.Line, fmt.Errorf("flag's placeholder and raw are identical")))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check dependency loop
|
// Check dependency loop
|
||||||
|
Loading…
x
Reference in New Issue
Block a user