summaryrefslogtreecommitdiffstats
path: root/content/browser/debugger/manual_tests/heap-profiler-test-snapshots-comparison.html
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/debugger/manual_tests/heap-profiler-test-snapshots-comparison.html')
-rw-r--r--content/browser/debugger/manual_tests/heap-profiler-test-snapshots-comparison.html83
1 files changed, 83 insertions, 0 deletions
diff --git a/content/browser/debugger/manual_tests/heap-profiler-test-snapshots-comparison.html b/content/browser/debugger/manual_tests/heap-profiler-test-snapshots-comparison.html
new file mode 100644
index 0000000..3a419d4e
--- /dev/null
+++ b/content/browser/debugger/manual_tests/heap-profiler-test-snapshots-comparison.html
@@ -0,0 +1,83 @@
+<html>
+ <head>
+ <title>Heap Profiler: heap snapshots comparison test</title>
+ <script type="text/javascript">
+ var aHolder = [], bHolder = [], cHolder = [], dHolder = [];
+
+ function A(x) {
+ this.x = x;
+ }
+
+ function B(x) {
+ this.x = x;
+ }
+
+ function C() {}
+
+ var i;
+ for (i = 0; i < 100; ++i) {
+ var b = new B('hello');
+ bHolder.push(b);
+ aHolder.push(new A(b));
+ b = null;
+ }
+ for (i = 0; i < 25; ++i) {
+ cHolder.push(new C());
+ }
+
+ function D() {}
+
+ function changeStuff() {
+ if (aHolder.length > 0) {
+ aHolder.splice(aHolder.length - 25, 25);
+ }
+ for (i = 0; i < 25; ++i) {
+ bHolder.push(new B('hello'));
+ }
+ cHolder = [];
+ for (i = 0; i < 25; ++i) {
+ dHolder.push(new D());
+ }
+ }
+ </script>
+ </head>
+ <body>
+ This is the test for heap snapshot comparison functionality.
+ <br>
+ <br>
+ To use this test:
+ <ul>
+ <li>load file in the browser;
+ <li>open DevTools (Ctrl+Shift+I on Win/Linux, Command+Option+I on Mac);
+ <li>go to 'Profiles' page;
+ <li>press 'Take heap snapshot' button
+ (eye icon on the left side of the status bar);
+ <li>press
+ <input type="button" name="changeStuff" value="this button" onclick="changeStuff()" />;
+ <li>press 'Take heap snapshot' button again;
+ </ul>
+ <br>
+ On the left pane under 'Heap snapshots' section, items called
+ 'Snapshot 1' and 'Snapshot 2' must appear. Select 'Snapshot 2'.
+ Ensure that absolute values are shown (not percents).
+ <br>
+ <br>
+ TEST 1. Verify the following:
+ <ul>
+ <li>the value in '+/- Count' column for 'A' must be '-25';
+ <li>after expanding 'A' item, the value in '+/- Count' column
+ for 'Array' child entry must also be '-25';
+ <li>the value in '+/- Count' column for 'B' must be '+25';
+ <li>after expanding 'B' item, the value in '+/- Count' column
+ for 'Array' child entry must also be '+25'; the value for 'A'
+ child must be '-25';
+ </ul>
+ <br>
+ TEST 2. Change display to percent view (using the percent button on the
+ status bar). Verify the following:
+ <ul>
+ <li>values in '+/- Count' and '+/- Size' columns for 'C' must be 'deleted';
+ <li>values in '+/- Count' and '+/- Size' columns for 'D' must be 'new';
+ </ul>
+ </body>
+</html>