Tests that scripts panel UI elements work as intended.


Running: testInitialLoad
Navigator:
top
  example.com
    (index)
  (no domain)
    bar.js
    baz.js
    foo.js
    foobar.js

Running: testReset
Navigator:
top
  example.com
    (index)
  (no domain)
    bar.js
    baz.js
    foo.js
Revealing in navigator.
Navigator:
top
  example.com
    (index)
  (no domain)
    bar.js
    baz.js
    foo.js
Navigator:
top
  example.com
    (index)
Navigator:
top
  example.com
    (index)
  (no domain)
    bar.js

Running: testDebuggerUISourceCodeAddedAndRemoved
Navigator:
top
  example.com
    (index)
  (no domain)
    foo.js
Navigator:
top
  example.com
    (index)
  (no domain)
    foo.js
    source.js

