unified GetLanguage function

This commit is contained in:
Máximo Cuadros
2016-07-18 16:20:12 +02:00
parent ec9c23e411
commit 2bbd7ec440
7 changed files with 990 additions and 1033 deletions

View File

@ -4,56 +4,15 @@ import (
"fmt"
"io/ioutil"
"os"
"path"
"path/filepath"
"text/tabwriter"
. "gopkg.in/check.v1"
)
func (s *TSuite) TestGetLanguageByContentH(c *C) {
s.testGetLanguageByContent(c, "Objective-C")
s.testGetLanguageByContent(c, "C++")
s.testGetLanguageByContent(c, "C")
s.testGetLanguageByContent(c, "Common Lisp")
s.testGetLanguageByContent(c, "Cool")
s.testGetLanguageByContent(c, "OpenCL")
s.testGetLanguageByContent(c, "Groff")
s.testGetLanguageByContent(c, "PicoLisp")
s.testGetLanguageByContent(c, "PicoLisp")
s.testGetLanguageByContent(c, "NewLisp")
s.testGetLanguageByContent(c, "Lex")
s.testGetLanguageByContent(c, "TeX")
s.testGetLanguageByContent(c, "Visual Basic")
s.testGetLanguageByContent(c, "Matlab")
s.testGetLanguageByContent(c, "Mathematica")
s.testGetLanguageByContent(c, "Prolog")
s.testGetLanguageByContent(c, "Perl")
s.testGetLanguageByContent(c, "Perl6")
s.testGetLanguageByContent(c, "Hack")
}
func (s *TSuite) testGetLanguageByContent(c *C, expected string) {
files, err := filepath.Glob(path.Join(".linguist/samples", expected, "*"))
c.Assert(err, IsNil)
for _, file := range files {
s, _ := os.Stat(file)
if s.IsDir() {
continue
}
content, _ := ioutil.ReadFile(file)
obtained, _ := GetLanguageByContent(path.Base(file), content)
if obtained == OtherLanguage {
continue
}
c.Check(obtained, Equals, expected, Commentf(file))
}
}
func (s *TSuite) TestGetLanguageByContentLinguistCorpus(c *C) {
c.Skip("report")
var total, failed, ok, other, unsafe int
w := new(tabwriter.Writer)