browser_jsterm_helper_dollar.js (1803B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 const TEST_URI = `data:text/html,<!DOCTYPE html> 7 <main> 8 <ul> 9 <li>First</li> 10 <li>Second</li> 11 </ul> 12 <ul id="myList"> 13 <li id="myListItem1" class="inMyList">First</li> 14 <li id="myListItem2" class="inMyList">Second</li> 15 </ul> 16 <aside>Sidebar</aside> 17 </main> 18 `; 19 20 add_task(async function () { 21 const hud = await openNewTabAndConsole(TEST_URI); 22 23 let message = await executeAndWaitForResultMessage( 24 hud, 25 "$('main')", 26 "<main>" 27 ); 28 ok(message, "`$('main')` worked"); 29 30 message = await executeAndWaitForResultMessage( 31 hud, 32 "$('main > ul > li')", 33 "<li>" 34 ); 35 ok(message, "`$('main > ul > li')` worked"); 36 37 message = await executeAndWaitForResultMessage( 38 hud, 39 "$('main > ul > li').tagName", 40 "LI" 41 ); 42 ok(message, "`$` result can be used right away"); 43 44 message = await executeAndWaitForResultMessage(hud, "$('div')", "null"); 45 ok(message, "`$('div')` does return null"); 46 47 message = await executeAndWaitForErrorMessage( 48 hud, 49 "$(':foo')", 50 "':foo' is not a valid selector" 51 ); 52 ok(message, "`$(':foo')` returns an error message"); 53 54 message = await executeAndWaitForResultMessage( 55 hud, 56 "$('li', document.querySelector('ul#myList'))", 57 '<li id="myListItem1" class="inMyList">' 58 ); 59 ok(message, "`$('li', document.querySelector('ul#myList'))` worked"); 60 61 message = await executeAndWaitForErrorMessage( 62 hud, 63 "$('li', $(':foo'))", 64 "':foo' is not a valid selector" 65 ); 66 ok(message, "`$('li', $(':foo'))` returns an error message"); 67 68 message = await executeAndWaitForResultMessage( 69 hud, 70 "$('li', $('div'))", 71 "<li>" 72 ); 73 ok(message, "`$('li', $('div'))` worked"); 74 });