2017-07-02 16:54:55 +02:00
package structs
2017-06-18 02:11:58 +02:00
import (
"path"
"testing"
2017-06-18 03:07:04 +02:00
"reflect"
2017-06-18 02:11:58 +02:00
"github.com/NyaaPantsu/nyaa/config"
)
// run before config/parse.go:init()
var _ = func ( ) ( _ struct { } ) {
2017-07-02 16:54:55 +02:00
config . ConfigPath = path . Join ( ".." , ".." , ".." , config . ConfigPath )
config . DefaultConfigPath = path . Join ( ".." , ".." , ".." , config . DefaultConfigPath )
2017-06-18 02:11:58 +02:00
config . Parse ( )
return
} ( )
func TestParseCategories ( t * testing . T ) {
cat := ParseCategories ( "" )
if len ( cat ) > 0 {
t . Fatal ( "ParseCategories with empty arg doesn't return an empty array" )
}
cat = ParseCategories ( "5050" )
if len ( cat ) > 0 {
t . Fatal ( "ParseCategories with wrong arg doesn't return an empty array" )
}
cat = ParseCategories ( "50_50" )
if len ( cat ) > 0 {
t . Fatal ( "ParseCategories with wrong arg doesn't return an empty array" )
}
cat = ParseCategories ( "3_13" )
if len ( cat ) == 0 {
t . Fatal ( "ParseCategories with good arg return an empty array" )
}
cat = ParseCategories ( "3_13,3_5" )
2017-06-18 03:07:04 +02:00
catEqual := [ ] * Category {
& Category {
Main : 3 ,
Sub : 13 ,
} ,
& Category {
Main : 3 ,
Sub : 5 ,
} ,
}
if ! reflect . DeepEqual ( cat , catEqual ) {
2017-06-18 02:11:58 +02:00
t . Fatal ( "ParseCategories with good arg doesn't return the right array" )
}
cat = ParseCategories ( "3_13,3_5,5_50" )
2017-06-18 03:07:04 +02:00
if ! reflect . DeepEqual ( cat , catEqual ) {
2017-06-18 02:11:58 +02:00
t . Fatal ( "ParseCategories doesn't filter the wrong categories" )
}
2017-06-18 03:07:04 +02:00
2017-06-18 02:11:58 +02:00
}