| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <script src="../resources/magnitude-perf.js"></script> | |
| 3 <body> | |
| 4 <script> | |
| 5 | |
| 6 var doc, node, expected; | |
| 7 | |
| 8 function appendDeepTree(magnitude) | |
| 9 { | |
| 10 for (var i = 0; i < magnitude; i++) { | |
| 11 node = node.appendChild(doc.createElement('div')); | |
| 12 } | |
| 13 } | |
| 14 | |
| 15 | |
| 16 // Tests that contains is O(1) for document where the test |node| is in the docu
ment. | |
| 17 | |
| 18 function setup1(magnitude) | |
| 19 { | |
| 20 node = document.body; | |
| 21 doc = document; | |
| 22 expected = true; | |
| 23 appendDeepTree(magnitude); | |
| 24 } | |
| 25 | |
| 26 // Tests that contains is O(1) for document when the test |node| is not in the d
ocument. | |
| 27 | |
| 28 function setup2(magnitude) | |
| 29 { | |
| 30 node = document.createElement('div'); // Not added to the document | |
| 31 doc = document; | |
| 32 expected = false; | |
| 33 appendDeepTree(magnitude); | |
| 34 } | |
| 35 | |
| 36 // Tests that contains is O(1) for document when the test |node| is in a differe
nt document. | |
| 37 | |
| 38 function setup3(magnitude) | |
| 39 { | |
| 40 var iframe = document.body.appendChild(document.createElement('iframe')); | |
| 41 doc = iframe.contentDocument; | |
| 42 node = doc.body; // Different document. | |
| 43 expected = false; | |
| 44 appendDeepTree(magnitude); | |
| 45 } | |
| 46 | |
| 47 function test(magnitude) | |
| 48 { | |
| 49 var actual = document.contains(node); | |
| 50 if (actual !== expected) | |
| 51 throw 'Unexpected return value: ' + actual + ', expected: ' + expected; | |
| 52 } | |
| 53 | |
| 54 Magnitude.description('Tests that document.contains is O(1).'); | |
| 55 Magnitude.tolerance = 0.50; | |
| 56 Magnitude.trim = 2; | |
| 57 Magnitude.run(setup1, test, Magnitude.CONSTANT); | |
| 58 Magnitude.run(setup2, test, Magnitude.CONSTANT); | |
| 59 Magnitude.run(setup3, test, Magnitude.CONSTANT); | |
| 60 | |
| 61 </script> | |
| 62 </body> | |
| OLD | NEW |