88 "github.com/typisttech/php-matrix/internal"
99)
1010
11- const fileTemplateRaw = `# DO NOT EDIT THIS FILE
11+ const eolTemplateRaw = `# DO NOT EDIT THIS FILE
1212# This file is generated by "internal/composer/success/main.go"
1313# Test the '{{ .Name }}' case
1414
@@ -34,28 +34,65 @@ cmp stdout stdout.golden
3434-- stdout.golden --
3535`
3636
37- var fileTemplate = template .Must (template .New ("" ).Parse (fileTemplateRaw ))
37+ const supportedTemplateRaw = `# DO NOT EDIT THIS FILE
38+ # This file is generated by "internal/composer/success/main.go"
39+ # Test the '{{ .Name }}' case
40+
41+ exec php-matrix composer {{ .Mode }}
42+ stdout .
43+ ! stderr .
44+
45+ exec php-matrix composer {{ .Mode }} --source=auto
46+ stdout .
47+ ! stderr .
48+
49+ exec php-matrix composer {{ .Mode }} --source=php.net
50+ stdout .
51+ ! stderr .
52+
53+ exec php-matrix composer {{ .Mode }} --source=offline
54+ stdout .
55+ ! stderr .
56+
57+ -- composer.json --
58+ {"require":{"php":"{{ .Constraint }}"}}
59+ `
60+
61+ var eolFileTemplate = template .Must (template .New ("" ).Parse (eolTemplateRaw ))
62+ var supportedFileTemplate = template .Must (template .New ("" ).Parse (supportedTemplateRaw ))
3863
3964type data struct {
40- Mode string
41- Constraint string
65+ Mode string
66+ Constraint string
67+ fileTemplate * template.Template
4268}
4369
4470func (d data ) Name () string {
4571 return fmt .Sprintf ("%q__%q" , d .Mode , d .Constraint )
4672}
4773
4874func (d data ) Write (f * os.File ) error {
49- return fileTemplate .Execute (f , d )
75+ return d . fileTemplate .Execute (f , d )
5076}
5177
5278func main () {
53- var cases []data
79+ num := len (internal .Modes ) * (len (internal .EOLConstraints ) + len (internal .SupportedConstraints ))
80+ cases := make ([]data , 0 , num )
81+
5482 for _ , mode := range internal .Modes {
55- for _ , constraint := range internal .Constraints {
83+ for _ , constraint := range internal .EOLConstraints {
84+ cases = append (cases , data {
85+ Mode : mode ,
86+ Constraint : constraint ,
87+ fileTemplate : eolFileTemplate ,
88+ })
89+ }
90+
91+ for _ , constraint := range internal .SupportedConstraints {
5692 cases = append (cases , data {
57- Mode : mode ,
58- Constraint : constraint ,
93+ Mode : mode ,
94+ Constraint : constraint ,
95+ fileTemplate : supportedFileTemplate ,
5996 })
6097 }
6198 }
0 commit comments