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

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: incoporated falken's comment and add expected.txt for virtual/off-main-thread-fetch 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/fetch/chromium/data-saver-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 var CHECK_PATH = './resources/check-save-data-header.php';
8 var METHODS = ['GET', 'POST', 'PUT'];
9 var REQUESTS =
10 METHODS.map(method => new Request(CHECK_PATH, {method: method}));
11
12 promise_test(t => {
13 window.internals.settings.setDataSaverEnabled(false);
14 return Promise.all(REQUESTS.map(request => fetch(request.clone())))
15 .then(responses => Promise.all(responses.map(response => response.text())))
16 .then(texts => {
17 for (var i = 0; i < METHODS.length; ++i) {
18 assert_equals(
19 texts[i], 'No Save-Data',
20 'Save-Data header should not be sent when disabled. method: ' +
21 METHODS[i]);
22 }
23 });
24 }, 'fetch() from document with Data-Saver disabled.');
25
26 promise_test(t => {
27 window.internals.settings.setDataSaverEnabled(true);
28 return Promise.all(REQUESTS.map(request => fetch(request.clone())))
29 .then(responses => Promise.all(responses.map(response => response.text())))
30 .then(texts => {
31 for (var i = 0; i < METHODS.length; ++i) {
32 assert_equals(
33 texts[i], 'Save-Data: on',
34 'Save-Data header should be sent when disabled. method: ' +
35 METHODS[i]);
36 }
37 });
38 }, 'fetch() from document with Data-Saver enabled.');
39
40 promise_test(t => {
41 window.internals.settings.setDataSaverEnabled(false);
42 var worker =
43 new Worker('./resources/data-saver-worker.php?dedicated-disabled');
44 return new Promise(resolve =>
45 worker.addEventListener('message', resolve))
46 .then(msg => {
47 var result = msg.data;
48 assert_equals(
49 result['worker_script_header'], 'No Save-Data',
50 'Save-Data header should not be sent for worker script when ' +
51 'disabled.');
52 for (var i = 0; i < METHODS.length; ++i) {
53 assert_equals(
54 result[METHODS[i]], 'No Save-Data',
55 'Save-Data header should not be sent when disabled. method: ' +
56 METHODS[i]);
57 }
58 });
59 }, 'fetch() from dedicated worker with Data-Saver disabled.');
60
61 promise_test(t => {
62 window.internals.settings.setDataSaverEnabled(true);
63 var worker =
64 new Worker('./resources/data-saver-worker.php?dedicated-enabled');
65 return new Promise(resolve =>
66 worker.addEventListener('message', resolve))
67 .then(msg => {
68 var result = msg.data;
69 assert_equals(
70 result['worker_script_header'], 'Save-Data: on',
71 'Save-Data header should be sent for worker script when enabled.');
72 for (var i = 0; i < METHODS.length; ++i) {
73 assert_equals(
74 result[METHODS[i]], 'Save-Data: on',
75 'Save-Data header should be sent when enabled. method: ' +
76 METHODS[i]);
77 }
78 });
79 }, 'fetch() from dedicated worker with Data-Saver enabled.');
80
81 promise_test(t => {
82 window.internals.settings.setDataSaverEnabled(false);
83 var worker =
84 new SharedWorker('./resources/data-saver-worker.php?shared-disabled');
85 return new Promise(resolve => {
86 worker.port.addEventListener('message', resolve);
87 worker.port.start();
88 })
89 .then(msg => {
90 var result = msg.data;
91 assert_equals(
92 result['worker_script_header'], 'No Save-Data',
93 'Save-Data header should not be sent for worker script when ' +
94 'disabled.');
95 for (var i = 0; i < METHODS.length; ++i) {
96 assert_equals(
97 result[METHODS[i]], 'No Save-Data',
98 'Save-Data header should not be sent when disabled. method: ' +
99 METHODS[i]);
100 }
101 });
102 }, 'fetch() from shared worker with Data-Saver disabled.');
103
104 promise_test(t => {
105 window.internals.settings.setDataSaverEnabled(true);
106 var worker =
107 new SharedWorker('./resources/data-saver-worker.php?shared-enabled');
108 return new Promise(resolve => {
109 worker.port.addEventListener('message', resolve);
110 worker.port.start();
111 })
112 .then(msg => {
113 var result = msg.data;
114 assert_equals(
115 result['worker_script_header'], 'Save-Data: on',
116 'Save-Data header should be sent for worker script when enabled.');
117 for (var i = 0; i < METHODS.length; ++i) {
118 assert_equals(
119 result[METHODS[i]], 'Save-Data: on',
120 'Save-Data header should be sent when enabled. method: ' +
121 METHODS[i]);
122 }
123 });
124 }, 'fetch() from shared worker with Data-Saver enabled.');
125
126 </script>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/fetch/chromium/data-saver-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698