diff --git a/benchmark_test.go b/benchmark_test.go index 00ea694..df7f6db 100644 --- a/benchmark_test.go +++ b/benchmark_test.go @@ -140,7 +140,7 @@ func BenchmarkClassifyTotal(b *testing.B) { b.Run("Classify()_TOTAL", func(b *testing.B) { for n := 0; n < b.N; n++ { for _, sample := range samples { - o = DefaultClassifier.Classify(sample.content, nil) + o = defaultClassifier.Classify(sample.content, nil) } overcomeLanguages = o @@ -195,7 +195,7 @@ func BenchmarkClassifyPerSample(b *testing.B) { for _, sample := range samples { b.Run("Classify()_SAMPLE_"+sample.filename, func(b *testing.B) { for n := 0; n < b.N; n++ { - o = DefaultClassifier.Classify(sample.content, nil) + o = defaultClassifier.Classify(sample.content, nil) } overcomeLanguages = o diff --git a/common.go b/common.go index 058d884..866a36f 100644 --- a/common.go +++ b/common.go @@ -26,8 +26,8 @@ var DefaultStrategies = []Strategy{ GetLanguagesByClassifier, } -// DefaultClassifier is a Naive Bayes classifier trained on Linguist samples. -var DefaultClassifier Classifier = &classifier{ +// defaultClassifier is a Naive Bayes classifier trained on Linguist samples. +var defaultClassifier Classifier = &classifier{ languagesLogProbabilities: data.LanguagesLogProbabilities, tokensLogProbabilities: data.TokensLogProbabilities, tokensTotal: data.TokensTotal, @@ -92,7 +92,7 @@ func GetLanguageByContent(filename string, content []byte) (language string, saf } // GetLanguageByClassifier returns the most probably language detected for the given content. It uses -// DefaultClassifier, if no candidates are provided it returns OtherLanguage. +// defaultClassifier, if no candidates are provided it returns OtherLanguage. func GetLanguageByClassifier(content []byte, candidates []string) (language string, safe bool) { return getLanguageByStrategy(GetLanguagesByClassifier, "", content, candidates) } @@ -413,14 +413,14 @@ func GetLanguagesByContent(filename string, content []byte, _ []string) []string return heuristic.Match(content) } -// GetLanguagesByClassifier uses DefaultClassifier as a Classifier and returns a sorted slice of possible languages ordered by +// GetLanguagesByClassifier uses defaultClassifier as a Classifier and returns a sorted slice of possible languages ordered by // decreasing language's probability. If there are not candidates it returns nil. It complies with the signature to be a Strategy type. func GetLanguagesByClassifier(filename string, content []byte, candidates []string) (languages []string) { if len(candidates) == 0 { return nil } - return GetLanguagesBySpecificClassifier(content, candidates, DefaultClassifier) + return GetLanguagesBySpecificClassifier(content, candidates, defaultClassifier) } // GetLanguagesBySpecificClassifier returns a slice of possible languages. It takes in a Classifier to be used. diff --git a/common_test.go b/common_test.go index 2404ea1..3b1c323 100644 --- a/common_test.go +++ b/common_test.go @@ -335,13 +335,13 @@ func (s *EnryTestSuite) TestGetLanguagesBySpecificClassifier() { classifier Classifier expected string }{ - {name: "TestGetLanguagesByClassifier_1", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: []string{"python", "ruby", "c", "c++"}, classifier: DefaultClassifier, expected: "C"}, - {name: "TestGetLanguagesByClassifier_2", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: nil, classifier: DefaultClassifier, expected: "C"}, - {name: "TestGetLanguagesByClassifier_3", filename: filepath.Join(s.samplesDir, "C/main.c"), candidates: []string{}, classifier: DefaultClassifier, expected: "C"}, - {name: "TestGetLanguagesByClassifier_4", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: []string{"python", "ruby", "c++"}, classifier: DefaultClassifier, expected: "C++"}, - {name: "TestGetLanguagesByClassifier_5", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: []string{"ruby"}, classifier: DefaultClassifier, expected: "Ruby"}, - {name: "TestGetLanguagesByClassifier_6", filename: filepath.Join(s.samplesDir, "Python/django-models-base.py"), candidates: []string{"python", "ruby", "c", "c++"}, classifier: DefaultClassifier, expected: "Python"}, - {name: "TestGetLanguagesByClassifier_7", filename: os.DevNull, candidates: nil, classifier: DefaultClassifier, expected: "XML"}, + {name: "TestGetLanguagesByClassifier_1", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: []string{"python", "ruby", "c", "c++"}, classifier: defaultClassifier, expected: "C"}, + {name: "TestGetLanguagesByClassifier_2", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: nil, classifier: defaultClassifier, expected: "C"}, + {name: "TestGetLanguagesByClassifier_3", filename: filepath.Join(s.samplesDir, "C/main.c"), candidates: []string{}, classifier: defaultClassifier, expected: "C"}, + {name: "TestGetLanguagesByClassifier_4", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: []string{"python", "ruby", "c++"}, classifier: defaultClassifier, expected: "C++"}, + {name: "TestGetLanguagesByClassifier_5", filename: filepath.Join(s.samplesDir, "C/blob.c"), candidates: []string{"ruby"}, classifier: defaultClassifier, expected: "Ruby"}, + {name: "TestGetLanguagesByClassifier_6", filename: filepath.Join(s.samplesDir, "Python/django-models-base.py"), candidates: []string{"python", "ruby", "c", "c++"}, classifier: defaultClassifier, expected: "Python"}, + {name: "TestGetLanguagesByClassifier_7", filename: os.DevNull, candidates: nil, classifier: defaultClassifier, expected: "XML"}, } for _, test := range test {