[WK2] selection does not disappear after coping the text
[framework/web/webkit-efl.git] / ManualTests / inspector / hidden-evals.html
1
2 <p><b>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=30212">Bug 30212</a> - Each JS execution in console adds extra item into "scripts" combo</b>
3
4 <p>The following manual test creates functions via <tt>eval()</tt> and the 
5 <tt>Function()</tt> constructor, some functions are named using the 
6 <code>//@sourceURL=</code> directive, some aren't.  Some contain
7 <tt>debugger</tt> commands, some don't.
8
9 <p>The functions named <tt>f_named_X</tt> are 'named' via the 
10 <code>//@sourceURL=</code> directive, the ones named <tt>f_unnamed_X</tt>
11 are not.  The 'named' functions should show up in the Scripts select element used 
12 to select a resource/script to view, the 'unnamed' ones should not.
13
14 <ul>
15 <li><p>open this page with Web Inspector
16 <li><p>switch to the Scripts panel, enabling debug if required
17 <li><p>the available scripts in the select element should be:
18 <ul>
19 <li>(program): f_named_1.eval
20 <li>(program): f_named_2.eval
21 <li>(program): f_named_3.eval
22 <li>hidden-evals.html
23 </ul>
24 <li><p>click this button: <input id=button type=button value="click me">
25 <li><p>debugger should stop in the <code>clickHandler</code> function
26 <li><p>at this point, start stepping <b>into</b> the code
27 <li><p>you should be able to step into functions <code>f_unnamed_1()</code>
28 and <code>f_unnamed_2()</code>.  There are no resource/scripts in the 
29 select element that contain these functions, until you actually are paused 
30 in them.  At that point, entries for these functions will be in the select element,
31 named: "(program)".  After pausing in both functions, there will be two "(program)"
32 entries.
33 <li><p>you should be able to use the next/prev buttons (to the left of the select element)
34 to switch to other resources/scripts that have been opened, including the ones
35 containing these functions
36 <li><p>you should be able to click on the functions that exist in the 'hidden'
37 resources from the Call Stack, and be shown the source; click around the
38 stack trace entries to verify
39 <li><p>rather than stepping into the <code>f_named_3()</code> call, press the
40 resume button
41 <li><p>the debugger should stop in <code>f_named_3()</code> because of the
42 <code>debugger</code> command
43 <li><p>rather than stepping into the <code>f_unnamed_3()</code> call, press the
44 resume button
45 <li><p>the debugger should stop in <code>f_unnamed_3()</code> because of the
46 <code>debugger</code> command.  At this point, a third "(program)" entry for
47 this function is added to the select element.
48 </ul>
49
50 <script>
51
52 function doNothing() { /* allows multi-line functions, easier to debug */ };
53
54 eval([
55     "function f_named_1() {",
56     "   doNothing();",
57     "   return 'named_1';",
58     "}",
59     "//@sourceURL=f_named_1.eval"
60 ].join("\n"));
61
62 eval([
63     "function f_unnamed_1() {",
64     "   doNothing();",
65     "   return 'unnamed_1';",
66     "}"
67 ].join("\n"));
68
69 f_named_2 = Function([
70     "",
71     "   doNothing();",
72     "   return 'named_2';",
73     "//@sourceURL=f_named_2.eval"
74 ].join("\n"));
75
76 f_unnamed_2 = Function([
77     "",
78     "   doNothing();",
79     "   return 'unnamed_2';"
80 ].join("\n"));
81
82 f_named_3 = Function([
83     "",
84     "   debugger;",
85     "   doNothing();",
86     "   return 'named_3';",
87     "//@sourceURL=f_named_3.eval"
88 ].join("\n"));
89
90 f_unnamed_3 = Function([
91     "",
92     "   debugger;",
93     "   doNothing();",
94     "   return 'unnamed_3';"
95 ].join("\n"));
96
97 var button = document.getElementById("button");
98
99 button.addEventListener("click", clickHandler, false);
100
101 function clickHandler() {
102     debugger;
103     f_named_1();
104     f_unnamed_1();
105     f_named_2();
106     f_unnamed_2();
107     
108     // press "resume" at this point
109     console.log("press resume before calling f_named_3()");
110     f_named_3();
111     
112     // press "resume" at this point
113     console.log("press resume before calling f_unnamed_3()");
114     f_unnamed_3();
115 }
116
117 </script>
118 <!-- End -->