OLD | NEW |
| (Empty) |
1 <!-- | |
2 Copyright 2014 Google Inc. All Rights Reserved. | |
3 | |
4 Licensed under the Apache License, Version 2.0 (the "License"); | |
5 you may not use this file except in compliance with the License. | |
6 You may obtain a copy of the License at | |
7 | |
8 http://www.apache.org/licenses/LICENSE-2.0 | |
9 | |
10 Unless required by applicable law or agreed to in writing, software | |
11 distributed under the License is distributed on an "AS IS" BASIS, | |
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 See the License for the specific language governing permissions and | |
14 limitations under the License. | |
15 --> | |
16 | |
17 <!DOCTYPE html><meta charset="UTF-8"> | |
18 <script src="../bootstrap.js"></script> | |
19 <script> | |
20 "use strict"; | |
21 | |
22 var useAncient = function(deprecationDate) { | |
23 _WebAnimationsTestingUtilities._deprecated('Ancient', deprecationDate, | |
24 'Please use Modern instead.'); | |
25 }; | |
26 | |
27 var useOld = function(deprecationDate) { | |
28 _WebAnimationsTestingUtilities._deprecated('Old', deprecationDate, | |
29 'Please use New instead.'); | |
30 }; | |
31 | |
32 var useSuperseded = function(deprecationDate) { | |
33 _WebAnimationsTestingUtilities._deprecated('Superseded', deprecationDate, | |
34 'See Replacement.'); | |
35 }; | |
36 | |
37 test(function() { | |
38 var deprecationDate = new Date(); | |
39 deprecationDate.setDate(deprecationDate.getDate() - 85); | |
40 var cutoffDate = new Date(deprecationDate); | |
41 cutoffDate.setMonth(cutoffDate.getMonth() + 3); // 3 months grace period | |
42 | |
43 var warnings = []; | |
44 var savedConsoleWarn = console.warn; | |
45 try { | |
46 console.warn = function(message) { | |
47 warnings.push(message); | |
48 }; | |
49 | |
50 var firstExpectedWarning = 'Web Animations: Old is deprecated and will stop
working on ' + cutoffDate.toDateString() + '. Please use New instead.'; | |
51 var secondExpectedWarning = 'Web Animations: Superseded is deprecated and wi
ll stop working on ' + cutoffDate.toDateString() + '. See Replacement.'; | |
52 | |
53 useOld(deprecationDate); | |
54 assert_equals(warnings.length, 1); | |
55 assert_equals(warnings[0], firstExpectedWarning); | |
56 | |
57 useOld(deprecationDate); | |
58 assert_equals(warnings.length, 1); | |
59 | |
60 useSuperseded(deprecationDate); | |
61 assert_equals(warnings.length, 2); | |
62 assert_equals(warnings[1], secondExpectedWarning); | |
63 | |
64 useSuperseded(deprecationDate); | |
65 assert_equals(warnings.length, 2); | |
66 } finally { | |
67 console.warn = savedConsoleWarn; | |
68 } | |
69 }, 'Warn the first time each recently deprecated feature is used'); | |
70 | |
71 test(function() { | |
72 var deprecationDate = new Date(new Date()); | |
73 deprecationDate.setDate(deprecationDate.getDate() - 95); | |
74 | |
75 for (var i = 0; i < 2; ++i) { | |
76 try { | |
77 useAncient(); | |
78 assert_true(false); | |
79 } catch (e) { | |
80 assert_equals(e.message, 'Ancient is no longer supported. Please use Moder
n instead.'); | |
81 } | |
82 } | |
83 }, 'Throw each time an anciently deprecated feature is used'); | |
84 | |
85 </script> | |
OLD | NEW |