286
286
var node = self.childWidgets[0].nodeById('foo');
287
287
self.assertEquals(node.className, 'foo');
288
288
self.assertEquals(node.tagName.toLowerCase(), 'span');
292
* Test that nodeById throws NodeNotFound when the node cannot be located.
294
function test_nodeByIdNotFound(self) {
295
var _find = function () { return self.childWidgets[0].nodeById('nonexistent'); };
296
self.assertThrows(Divmod.Runtime.NodeNotFound, _find);
299
function addDynamicWidget(self, child) {
300
var d = child.callRemote('getDynamicWidget');
302
function (widgetInfo) {
303
return child.addChildWidgetFromWidgetInfo(widgetInfo);
309
* Test that nodeById is able to locate nodes in a dynamically instantiated
310
* widget that has not yet been added as a child somewhere in the browser
313
function test_nodeByIdInDynamicOrphan(self) {
314
var child = self.childWidgets[1];
315
var d = self.addDynamicWidget(child);
318
var node = widget.nodeById('foo');
319
self.assertEquals(node.className, 'foo');
320
self.assertEquals(node.tagName.toLowerCase(), 'span');
326
* Test that nodeById is able to locate nodes in a dynamically instantiated
327
* widget that has already been added as a child somewhere in the browser
330
function test_nodeByIdInDynamicChild(self) {
331
var child = self.childWidgets[1];
332
var d = self.addDynamicWidget(child);
335
child.node.appendChild(widget.node);
336
var node = widget.nodeById('foo');
337
self.assertEquals(node.className, 'foo');
338
self.assertEquals(node.tagName.toLowerCase(), 'span');
343
function test_nodeByIdNotFoundInDynamicOrphan(self) {
344
var child = self.childWidgets[1];
345
var d = self.addDynamicWidget(child);
348
var _find = function () { return widget.nodeById('nonexistent'); };
349
self.assertThrows(Divmod.Runtime.NodeNotFound, _find);