Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: ui/file_manager/image_loader/image_loader_unittest.js

Issue 1137993007: Crop image at image_loader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6 * Test case:
7 * - Source image: 200x50
8 * - Target: max size is 100x100
9 */
10 function testNormalImage() {
11 var source = new Image();
12 source.width = 200;
13 source.height = 50;
14 var options = {
15 maxWidth: 100,
16 maxHeight: 100
17 };
18 var result = ImageLoader.calculateCopyParameters(source, options);
19 assertEquals(0, result.source.x);
20 assertEquals(0, result.source.y);
21 assertEquals(200, result.source.width);
22 assertEquals(50, result.source.height);
23 assertEquals(0, result.target.x);
24 assertEquals(0, result.target.y);
25 assertEquals(100, result.target.width);
26 assertEquals(25, result.target.height);
27 assertEquals(100, result.canvas.width);
28 assertEquals(25, result.canvas.height);
29 };
30
31 /**
32 * Test case:
33 * - Source image: 50x200 90 deg clock-wise rotated image.
34 * - Target: max size is 100x100
35 */
36 function testRotatedImage() {
37 var source = new Image();
38 source.width = 50;
39 source.height = 200;
40 var options = {
41 maxWidth: 100,
42 maxHeight: 100,
43 orientation: 1
44 };
45 var result = ImageLoader.calculateCopyParameters(source, options);
46 assertEquals(0, result.source.x);
47 assertEquals(0, result.source.y);
48 assertEquals(50, result.source.width);
49 assertEquals(200, result.source.height);
50 assertEquals(0, result.target.x);
51 assertEquals(0, result.target.y);
52 assertEquals(25, result.target.width);
53 assertEquals(100, result.target.height);
54 assertEquals(100, result.canvas.width);
55 assertEquals(25, result.canvas.height);
56 }
57
58 /**
59 * Test case:
60 * - Source image: 800x100
61 * - Target: 50x50 cropped image.
62 */
63 function testCroppedImage() {
64 var source = new Image();
65 source.width = 800;
66 source.height = 100;
67 var options = {
68 width: 50,
69 height: 50,
70 crop: true
71 };
72 var result = ImageLoader.calculateCopyParameters(source, options);
73 assertEquals(350, result.source.x);
74 assertEquals(0, result.source.y);
75 assertEquals(100, result.source.width);
76 assertEquals(100, result.source.height);
77 assertEquals(0, result.target.x);
78 assertEquals(0, result.target.y);
79 assertEquals(50, result.target.width);
80 assertEquals(50, result.target.height);
81 assertEquals(50, result.canvas.width);
82 assertEquals(50, result.canvas.height);
83 }
84
85 /**
86 * Test case:
87 * - Source image: 200x25
88 * - Target: 50x50 cropped image.
89 */
90 function testCroppedImageWithResize() {
91 var source = new Image();
92 source.width = 200;
93 source.height = 25;
94 var options = {
95 width: 50,
96 height: 50,
97 crop: true
98 };
99 var result = ImageLoader.calculateCopyParameters(source, options);
100 assertEquals(87, result.source.x);
101 assertEquals(0, result.source.y);
102 assertEquals(25, result.source.width);
103 assertEquals(25, result.source.height);
104 assertEquals(0, result.target.x);
105 assertEquals(0, result.target.y);
106 assertEquals(50, result.target.width);
107 assertEquals(50, result.target.height);
108 assertEquals(50, result.canvas.width);
109 assertEquals(50, result.canvas.height);
110 }
111
112 /**
113 * Test case:
114 * - Source image: 20x10
115 * - Target: 50x50 cropped image.
116 */
117 function testCroppedTinyImage() {
118 var source = new Image();
119 source.width = 20;
120 source.height = 10;
121 var options = {
122 width: 50,
123 height: 50,
124 crop: true
125 };
126 var result = ImageLoader.calculateCopyParameters(source, options);
127 assertEquals(5, result.source.x);
128 assertEquals(0, result.source.y);
129 assertEquals(10, result.source.width);
130 assertEquals(10, result.source.height);
131 assertEquals(0, result.target.x);
132 assertEquals(0, result.target.y);
133 assertEquals(50, result.target.width);
134 assertEquals(50, result.target.height);
135 assertEquals(50, result.canvas.width);
136 assertEquals(50, result.canvas.height);
137 }
138
139 /**
140 * Test case:
141 * - Source image: 100x400 90 degree clock-wise rotated.
142 * - Target: 50x50 cropped image
143 */
144 function testCroppedRotatedImage() {
145 var source = new Image();
146 source.width = 100;
147 source.height = 400;
148 var options = {
149 width: 50,
150 height: 50,
151 crop: true,
152 orientation: 1
153 };
154 var result = ImageLoader.calculateCopyParameters(source, options);
155 assertEquals(0, result.source.x);
156 assertEquals(150, result.source.y);
157 assertEquals(100, result.source.width);
158 assertEquals(100, result.source.height);
159 assertEquals(0, result.target.x);
160 assertEquals(0, result.target.y);
161 assertEquals(50, result.target.width);
162 assertEquals(50, result.target.height);
163 assertEquals(50, result.canvas.width);
164 assertEquals(50, result.canvas.height);
165 }
OLDNEW
« no previous file with comments | « ui/file_manager/image_loader/image_loader_unittest.html ('k') | ui/file_manager/image_loader/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698