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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/fetch/chromium/data-saver.html

Issue 2884183002: Add Data-Saver LayoutTest for Worker and SharedWorker (Closed)
Patch Set: Created 3 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 <html>
2 <title>Tests for 'Save-Data' header.</title>
3 <script src="/resources/testharness.js"></script>
4 <script src="/resources/testharnessreport.js"></script>
5 <script>
6
7
8 var CHECK_PATH = './resources/check-save-data-header.php';
9 var methods = ['GET', 'POST', 'PUT'];
10 var requests =
11 methods.map(method => new Request(CHECK_PATH, {method: method}));
falken 2017/05/16 08:45:52 METHODS and REQUESTS so it's easier to tell they a
horo 2017/05/16 10:25:22 Done.
12
13 promise_test(t => {
14 window.internals.settings.setDataSaverEnabled(false);
15 return Promise.all(requests.map(request => fetch(request.clone())))
16 .then(responses => Promise.all(responses.map(response => response.text())))
17 .then(texts => {
18 for (var i = 0; i < methods.length; ++i) {
19 assert_equals(
20 texts[i], 'No Save-Data',
21 'Save-Data header should not be sent when disabled. method: ' +
22 methods[i]);
23 }
24 });
25 }, 'fetch() from document with Data-Saver disabled.');
26
27 promise_test(t => {
28 window.internals.settings.setDataSaverEnabled(true);
29 return Promise.all(requests.map(request => fetch(request.clone())))
30 .then(responses => Promise.all(responses.map(response => response.text())))
31 .then(texts => {
32 for (var i = 0; i < methods.length; ++i) {
33 assert_equals(
34 texts[i], 'Save-Data: on',
35 'Save-Data header should be sent when disabled. method: ' +
36 methods[i]);
37 }
38 });
39 }, 'fetch() from document with Data-Saver enabled.');
40
41 promise_test(t => {
42 window.internals.settings.setDataSaverEnabled(false);
43 var worker =
44 new Worker('./resources/data-saver-worker.php?dedicated-disabled')
falken 2017/05/16 08:45:52 semi-colon
horo 2017/05/16 10:25:22 Done.
45 return new Promise(resolve =>
46 worker.addEventListener('message', resolve))
47 .then(msg => {
48 var result = msg.data;
49 assert_equals(
50 result['worker_script_header'], 'No Save-Data',
51 'Save-Data header should not be sent for worker script when ' +
52 'disabled.');
53 for (var i = 0; i < methods.length; ++i) {
54 assert_equals(
55 result[methods[i]], 'No Save-Data',
56 'Save-Data header should not be sent when disabled. method: ' +
57 methods[i]);
58 }
59 });
60 }, 'fetch() from dedicated worker with Data-Saver disabled.');
61
62 promise_test(t => {
63 window.internals.settings.setDataSaverEnabled(true);
64 var worker =
65 new Worker('./resources/data-saver-worker.php?dedicated-enabled')
falken 2017/05/16 08:45:52 semi-colon
horo 2017/05/16 10:25:22 Done.
66 return new Promise(resolve =>
67 worker.addEventListener('message', resolve))
68 .then(msg => {
69 var result = msg.data;
70 assert_equals(
71 result['worker_script_header'], 'Save-Data: on',
72 'Save-Data header should be sent for worker script when enabled.');
73 for (var i = 0; i < methods.length; ++i) {
74 assert_equals(
75 result[methods[i]], 'Save-Data: on',
76 'Save-Data header should be sent when enabled. method: ' +
77 methods[i]);
78 }
79 });
80 }, 'fetch() from dedicated worker with Data-Saver enabled.');
81
82 promise_test(t => {
83 window.internals.settings.setDataSaverEnabled(false);
84 var worker =
85 new SharedWorker('./resources/data-saver-worker.php?shared-disabled')
86 return new Promise(resolve => {
87 worker.port.addEventListener('message', resolve);
88 worker.port.start();
89 })
90 .then(msg => {
91 var result = msg.data;
92 assert_equals(
93 result['worker_script_header'], 'No Save-Data',
94 'Save-Data header should not be sent for worker script when ' +
95 'disabled.');
96 for (var i = 0; i < methods.length; ++i) {
97 assert_equals(
98 result[methods[i]], 'No Save-Data',
99 'Save-Data header should not be sent when disabled. method: ' +
100 methods[i]);
101 }
102 });
103 }, 'fetch() from shared worker with Data-Saver disabled.');
104
105 promise_test(t => {
106 window.internals.settings.setDataSaverEnabled(true);
107 var worker =
108 new SharedWorker('./resources/data-saver-worker.php?shared-enabled')
109 return new Promise(resolve => {
110 worker.port.addEventListener('message', resolve);
111 worker.port.start();
112 })
113 .then(msg => {
114 var result = msg.data;
115 assert_equals(
116 result['worker_script_header'], 'Save-Data: on',
117 'Save-Data header should be sent for worker script when enabled.');
118 for (var i = 0; i < methods.length; ++i) {
119 assert_equals(
120 result[methods[i]], 'Save-Data: on',
121 'Save-Data header should be sent when enabled. method: ' +
122 methods[i]);
123 }
124 });
125 }, 'fetch() from shared worker with Data-Saver enabled.');
126
127 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698