1+ import { imageView2 , imageMogr2 , watermark , imageInfo } from '../image' ;
2+ import { urlSafeBase64Encode } from "../base64" ;
3+
4+ import { request } from "../utils" ;
5+ jest . mock ( "../utils" )
6+ describe ( "image func test" , ( ) => {
7+ let domain = "http://otxza7yo2.bkt.clouddn.com" ;
8+ let key = "test.png" ;
9+
10+ test ( "imageView2" , ( ) => {
11+ let m = {
12+ "fop" : "imageView2" ,
13+ "mode" : 2 ,
14+ "h" : 450 ,
15+ "q" : 100
16+ }
17+ let url = imageView2 ( m , key , domain )
18+ expect ( url ) . toBe (
19+ "http://otxza7yo2.bkt.clouddn.com/" + key + "?" +
20+ "imageView2/" + encodeURIComponent ( m . mode ) +
21+ "/h" + "/" + encodeURIComponent ( m . h ) +
22+ "/q" + "/" + encodeURIComponent ( m . q )
23+ )
24+ } ) ;
25+
26+ test ( "imageMogr2" , ( ) => {
27+ let m = {
28+ thumbnail : 1 ,
29+ strip : true ,
30+ gravity : 1 ,
31+ crop : 1 ,
32+ quality : 1 ,
33+ rotate : 1 ,
34+ format : 1 ,
35+ blur : 1
36+ } ;
37+
38+ let url = imageMogr2 ( m , key , domain ) ;
39+ expect ( url ) . toBe (
40+ "http://otxza7yo2.bkt.clouddn.com/" + key + "?imageMogr2/" +
41+ "thumbnail/1/strip/gravity/1/quality/1/crop/1/rotate/1/format/1/blur/1"
42+ )
43+ } ) ;
44+
45+ test ( "watermark" , ( ) => {
46+ let m = {
47+ fop : "watermark" ,
48+ mode : 1 ,
49+ image : "http://www.b1.qiniudn.com/images/logo-2.png" ,
50+ dissolve : 100 ,
51+ dx : 100 ,
52+ dy : 100
53+ } ;
54+ let url = watermark ( m , key , domain ) ;
55+ expect ( url ) . toBe (
56+ "http://otxza7yo2.bkt.clouddn.com/" + key + "?" +
57+ "watermark/" + m . mode + "/image/" + urlSafeBase64Encode ( m . image ) +
58+ "/dissolve/100/dx/100/dy/100"
59+ ) ;
60+ m . mode = 3 ;
61+ expect ( ( ) => {
62+ watermark ( m , key , domain )
63+ } ) . toThrow ( "mode is wrong" )
64+ } ) ;
65+
66+ test ( "imageInfo" , ( ) => {
67+ let info = imageInfo ( key , domain )
68+ let url = domain + "/" + key + "?imageInfo" ;
69+ expect ( request . mock . calls [ 0 ] ) . toEqual ( [ url , { method : "GET" } ] )
70+ } )
71+ } )
0 commit comments