mirror of
https://github.com/ralsina/tartrazine.git
synced 2025-06-19 06:33:06 -03:00
added filenames_map.go generation
languagesByFilename now is a map[string]string
This commit is contained in:
@ -47,130 +47,103 @@ const (
|
||||
interpretersGold = "test_files/interpreters.gold"
|
||||
interpretersTestTmplPath = "test_files/interpreters.test.go.tmpl"
|
||||
interpretersTestTmplName = "interpreters.test.go.tmpl"
|
||||
|
||||
// Filenames test
|
||||
filenamesTestFile = "test_files/filenames.test.yml"
|
||||
filenamesGold = "test_files/filenames.gold"
|
||||
filenamesTestTmplPath = "test_files/filenames.test.go.tmpl"
|
||||
filenamesTestTmplName = "filenames.test.go.tmpl"
|
||||
)
|
||||
|
||||
func TestFromFile(t *testing.T) {
|
||||
goldLang, err := ioutil.ReadFile(langGold)
|
||||
assert.NoError(t, err)
|
||||
|
||||
goldContent, err := ioutil.ReadFile(contentGold)
|
||||
assert.NoError(t, err)
|
||||
|
||||
goldVendor, err := ioutil.ReadFile(vendorGold)
|
||||
assert.NoError(t, err)
|
||||
|
||||
goldDocumentation, err := ioutil.ReadFile(documentationGold)
|
||||
assert.NoError(t, err)
|
||||
|
||||
goldTypes, err := ioutil.ReadFile(typesGold)
|
||||
assert.NoError(t, err)
|
||||
|
||||
goldInterpreters, err := ioutil.ReadFile(interpretersGold)
|
||||
assert.NoError(t, err)
|
||||
|
||||
outPathLang, err := ioutil.TempFile("/tmp", "generator-test-")
|
||||
assert.NoError(t, err)
|
||||
defer os.Remove(outPathLang.Name())
|
||||
|
||||
outPathContent, err := ioutil.TempFile("/tmp", "generator-test-")
|
||||
assert.NoError(t, err)
|
||||
defer os.Remove(outPathContent.Name())
|
||||
|
||||
outPathVendor, err := ioutil.TempFile("/tmp", "generator-test-")
|
||||
assert.NoError(t, err)
|
||||
defer os.Remove(outPathVendor.Name())
|
||||
|
||||
outPathDocumentation, err := ioutil.TempFile("/tmp", "generator-test-")
|
||||
assert.NoError(t, err)
|
||||
defer os.Remove(outPathDocumentation.Name())
|
||||
|
||||
outPathTypes, err := ioutil.TempFile("/tmp", "generator-test-")
|
||||
assert.NoError(t, err)
|
||||
defer os.Remove(outPathTypes.Name())
|
||||
|
||||
outPathInterpreters, err := ioutil.TempFile("/tmp", "generator-test-")
|
||||
assert.NoError(t, err)
|
||||
defer os.Remove(outPathInterpreters.Name())
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
fileToParse string
|
||||
outPath string
|
||||
tmplPath string
|
||||
tmplName string
|
||||
commit string
|
||||
generate Func
|
||||
wantOut []byte
|
||||
wantOut string
|
||||
}{
|
||||
{
|
||||
name: "TestFromFile_Language",
|
||||
fileToParse: ymlTestFile,
|
||||
outPath: outPathLang.Name(),
|
||||
tmplPath: languagesTestTmplPath,
|
||||
tmplName: languagesTestTmplName,
|
||||
commit: commitTest,
|
||||
generate: Languages,
|
||||
wantOut: goldLang,
|
||||
wantOut: langGold,
|
||||
},
|
||||
{
|
||||
name: "TestFromFile_Heuristics",
|
||||
fileToParse: heuristicsTestFile,
|
||||
outPath: outPathContent.Name(),
|
||||
tmplPath: contentTestTmplPath,
|
||||
tmplName: contentTestTmplName,
|
||||
commit: commitTest,
|
||||
generate: Heuristics,
|
||||
wantOut: goldContent,
|
||||
wantOut: contentGold,
|
||||
},
|
||||
{
|
||||
name: "TestFromFile_Vendor",
|
||||
fileToParse: vendorTestFile,
|
||||
outPath: outPathVendor.Name(),
|
||||
tmplPath: vendorTestTmplPath,
|
||||
tmplName: vendorTestTmplName,
|
||||
commit: commitTest,
|
||||
generate: Vendor,
|
||||
wantOut: goldVendor,
|
||||
wantOut: vendorGold,
|
||||
},
|
||||
{
|
||||
name: "TestFromFile_Documentation",
|
||||
fileToParse: documentationTestFile,
|
||||
outPath: outPathDocumentation.Name(),
|
||||
tmplPath: documentationTestTmplPath,
|
||||
tmplName: documentationTestTmplName,
|
||||
commit: commitTest,
|
||||
generate: Documentation,
|
||||
wantOut: goldDocumentation,
|
||||
wantOut: documentationGold,
|
||||
},
|
||||
{
|
||||
name: "TestFromFile_Types",
|
||||
fileToParse: typesTestFile,
|
||||
outPath: outPathTypes.Name(),
|
||||
tmplPath: typesTestTmplPath,
|
||||
tmplName: typesTestTmplName,
|
||||
commit: commitTest,
|
||||
generate: Types,
|
||||
wantOut: goldTypes,
|
||||
wantOut: typesGold,
|
||||
},
|
||||
{
|
||||
name: "TestFromFile_Interpreters",
|
||||
fileToParse: interpretersTestFile,
|
||||
outPath: outPathInterpreters.Name(),
|
||||
tmplPath: interpretersTestTmplPath,
|
||||
tmplName: interpretersTestTmplName,
|
||||
commit: commitTest,
|
||||
generate: Interpreters,
|
||||
wantOut: goldInterpreters,
|
||||
wantOut: interpretersGold,
|
||||
},
|
||||
{
|
||||
name: "TestFromFile_Filenames",
|
||||
fileToParse: filenamesTestFile,
|
||||
tmplPath: filenamesTestTmplPath,
|
||||
tmplName: filenamesTestTmplName,
|
||||
commit: commitTest,
|
||||
generate: Filenames,
|
||||
wantOut: filenamesGold,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
err := FromFile(tt.fileToParse, tt.outPath, tt.tmplPath, tt.tmplName, tt.commit, tt.generate)
|
||||
gold, err := ioutil.ReadFile(tt.wantOut)
|
||||
assert.NoError(t, err)
|
||||
out, err := ioutil.ReadFile(tt.outPath)
|
||||
|
||||
outPath, err := ioutil.TempFile("/tmp", "generator-test-")
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, tt.wantOut, out, fmt.Sprintf("FromFile() = %v, want %v", string(out), string(tt.wantOut)))
|
||||
defer os.Remove(outPath.Name())
|
||||
|
||||
err = FromFile(tt.fileToParse, outPath.Name(), tt.tmplPath, tt.tmplName, tt.commit, tt.generate)
|
||||
assert.NoError(t, err)
|
||||
out, err := ioutil.ReadFile(outPath.Name())
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, gold, out, fmt.Sprintf("FromFile() = %v, want %v", string(out), string(tt.wantOut)))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user