github.com/jurelou/go-magic@v0.0.0-20230518182705-f2995a311800/errors_test.go (about) 1 package magic 2 3 import ( 4 "reflect" 5 "testing" 6 ) 7 8 func TestError(t *testing.T) { 9 mgc, err := New() 10 if err != nil { 11 t.Fatalf("unable to create new Magic type: %s", err.Error()) 12 } 13 defer mgc.Close() 14 15 err = mgc.error() 16 func(v interface{}) { 17 if _, ok := v.(*Error); !ok { 18 t.Fatalf("not a Error type: %s", reflect.TypeOf(v).String()) 19 } 20 }(err) 21 } 22 23 // func TestError_Error(t *testing.T) { 24 // var v string 25 26 // mgc, err := New() 27 // if err != nil { 28 // t.Fatalf("unable to create new Magic type: %s", err.Error()) 29 // } 30 // defer mgc.Close() 31 32 // v = "magic: an unknown error has occurred" 33 // if n := Version(); n < 518 && n >= 514 { 34 // // A few releases of libmagic were having issues. 35 // v = "magic: no magic files loaded" 36 // } 37 38 // err = mgc.error() 39 // if ok := compareStrings(err.Error(), v); !ok { 40 // t.Errorf("value given %q, want %q", err.Error(), v) 41 // } 42 43 // v = "the quick brown fox jumps over the lazy dog" 44 45 // err = &Error{0, v} 46 // if ok := compareStrings(err.Error(), fmt.Sprintf("magic: %s", v)); !ok { 47 // t.Errorf("value given %q, want %q", err.Error(), v) 48 // } 49 // } 50 51 // func TestError_Errno(t *testing.T) { 52 // var v int 53 54 // mgc, err := New() 55 // if err != nil { 56 // t.Fatalf("unable to create new Magic type: %s", err.Error()) 57 // } 58 // defer mgc.Close() 59 60 // v = -1 61 // if n := Version(); n < 518 && n >= 514 { 62 // // A few releases of libmagic were having issues. 63 // v = 0 64 // } 65 66 // err = mgc.error() 67 // if err.(*Error).Errno != v { 68 // t.Errorf("value given %d, want %d", err.(*Error).Errno, v) 69 // } 70 71 // v = 42 72 73 // err = &Error{v, ""} 74 // if err.(*Error).Errno != v { 75 // t.Errorf("value given %d, want %d", err.(*Error).Errno, v) 76 // } 77 // } 78 79 // func TestError_Message(t *testing.T) { 80 // var v string 81 82 // mgc, err := New() 83 // if err != nil { 84 // t.Fatalf("unable to create new Magic type: %s", err.Error()) 85 // } 86 // defer mgc.Close() 87 88 // v = "an unknown error has occurred" 89 // if n := Version(); n < 518 && n >= 514 { 90 // // A few releases of libmagic were having issues. 91 // v = "no magic files loaded" 92 // } 93 94 // err = mgc.error() 95 // if ok := compareStrings(err.(*Error).Message, v); !ok { 96 // t.Errorf("value given %q, want %q", err.(*Error).Message, v) 97 // } 98 99 // v = "the quick brown fox jumps over the lazy dog" 100 101 // err = &Error{0, v} 102 // if ok := compareStrings(err.(*Error).Message, v); !ok { 103 // t.Errorf("value given %q, want %q", err.(*Error).Message, v) 104 // } 105 // }