OLD | NEW |
---|---|
(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 (function() { | |
6 | |
7 'use strict'; | |
8 | |
9 module('client_session'); | |
10 | |
11 function size(width, height) { | |
12 return {width: width, height: height}; | |
13 } | |
14 | |
15 function dpi(x, y) { | |
16 return {x: x, y: y}; | |
17 } | |
18 | |
19 test('choosePluginSize() chooses sensible sizes', | |
20 function() { | |
21 // Client and host w/ same DPI. | |
Jamie
2015/02/04 23:18:30
I think these test cases need descriptions to make
Wez
2015/02/06 01:29:43
Yeah, I think splitting into a set of distinct tes
| |
22 var pluginSize = remoting.ClientSession.choosePluginSize( | |
23 size(640, 480), 1.0, size(640, 480), dpi(96, 96), 1.0, false, true); | |
24 QUnit.deepEqual(pluginSize, size(640, 480)); | |
25 | |
26 pluginSize = remoting.ClientSession.choosePluginSize( | |
27 size(1280, 900), 1.0, size(640, 480), dpi(96, 96), 1.0, false, true); | |
28 QUnit.deepEqual(pluginSize, size(640, 480)); | |
29 | |
30 pluginSize = remoting.ClientSession.choosePluginSize( | |
31 size(1280, 1024), 1.0, size(640, 480), dpi(96, 96), 1.0, false, true); | |
32 QUnit.deepEqual(pluginSize, size(1280, 960)); | |
33 | |
34 // High DPI client, low DPI host. | |
35 pluginSize = remoting.ClientSession.choosePluginSize( | |
36 size(640, 450), 2.0, size(640, 480), dpi(96, 96), 1.0, false, true); | |
37 QUnit.deepEqual(pluginSize, size(600, 450)); | |
Jamie
2015/02/04 23:18:30
It took me a while to work out where the 600 came
Wez
2015/02/06 01:29:43
Acknowledged.
| |
38 | |
39 pluginSize = remoting.ClientSession.choosePluginSize( | |
40 size(640, 480), 2.0, size(640, 480), dpi(96, 96), 1.0, false, true); | |
41 QUnit.deepEqual(pluginSize, size(640, 480)); | |
42 | |
43 // High DPI host, low DPI client. | |
44 pluginSize = remoting.ClientSession.choosePluginSize( | |
45 size(640, 480), 1.0, size(640, 480), dpi(192, 192), 1.0, false, true); | |
46 QUnit.deepEqual(pluginSize, size(640, 480)); | |
47 | |
48 pluginSize = remoting.ClientSession.choosePluginSize( | |
49 size(640, 480), 1.0, size(1024, 768), dpi(192, 192), 1.0, false, true); | |
50 QUnit.deepEqual(pluginSize, size(640, 480)); | |
51 | |
52 pluginSize = remoting.ClientSession.choosePluginSize( | |
53 size(1024, 768), 1.0, size(640, 480), dpi(192, 192), 1.0, false, true); | |
54 QUnit.deepEqual(pluginSize, size(640, 480)); | |
55 | |
56 // High DPI host, high DPI client. | |
57 pluginSize = remoting.ClientSession.choosePluginSize( | |
58 size(640, 480), 2.0, size(640, 480), dpi(192, 192), 1.0, false, true); | |
59 QUnit.deepEqual(pluginSize, size(640, 480)); | |
60 | |
61 pluginSize = remoting.ClientSession.choosePluginSize( | |
62 size(640, 480), 2.0, size(1024, 768), dpi(192, 192), 1.0, false, true); | |
63 QUnit.deepEqual(pluginSize, size(512, 384)); | |
64 | |
65 pluginSize = remoting.ClientSession.choosePluginSize( | |
66 size(1024, 768), 2.0, size(640, 480), dpi(192, 192), 1.0, false, true); | |
67 QUnit.deepEqual(pluginSize, size(960, 720)); | |
68 | |
69 // 150% DPI host, high DPI client. | |
70 pluginSize = remoting.ClientSession.choosePluginSize( | |
71 size(640, 480), 2.0, size(640, 480), dpi(144, 144), 1.0, false, true); | |
72 QUnit.deepEqual(pluginSize, size(640, 480)); | |
73 | |
74 pluginSize = remoting.ClientSession.choosePluginSize( | |
75 size(640, 480), 2.0, size(1024, 768), dpi(144, 144), 1.0, false, true); | |
76 QUnit.deepEqual(pluginSize, size(512, 384)); | |
77 | |
78 pluginSize = remoting.ClientSession.choosePluginSize( | |
79 size(1024, 768), 2.0, size(640, 480), dpi(144, 144), 1.0, false, true); | |
80 QUnit.deepEqual(pluginSize, size(960, 720)); | |
81 | |
82 // Shrink-to-fit disabled. | |
83 pluginSize = remoting.ClientSession.choosePluginSize( | |
84 size(640, 480), 1.0, size(640, 480), dpi(96, 96), 1.0, false, false); | |
85 QUnit.deepEqual(pluginSize, size(640, 480)); | |
86 | |
87 pluginSize = remoting.ClientSession.choosePluginSize( | |
88 size(1280, 1024), 1.0, size(640, 480), dpi(96, 96), 1.0, false, false); | |
89 QUnit.deepEqual(pluginSize, size(1280, 960)); | |
90 | |
91 pluginSize = remoting.ClientSession.choosePluginSize( | |
92 size(640, 480), 1.0, size(1280, 1024), dpi(96, 96), 1.0, false, false); | |
93 QUnit.deepEqual(pluginSize, size(1280, 1024)); | |
94 | |
95 pluginSize = remoting.ClientSession.choosePluginSize( | |
96 size(640, 480), 2.0, size(1280, 1024), dpi(96, 96), 1.0, false, false); | |
97 QUnit.deepEqual(pluginSize, size(1280, 1024)); | |
98 | |
99 // Full-screen multi-monitor handling. | |
100 }); | |
101 | |
102 })(); | |
OLD | NEW |