diff --git a/mozilla/dom/tests/js/tables/changeCaption.js b/mozilla/dom/tests/js/tables/changeCaption.js new file mode 100644 index 00000000000..348bbb294cf --- /dev/null +++ b/mozilla/dom/tests/js/tables/changeCaption.js @@ -0,0 +1,68 @@ +/* -*- Mode: js; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. + */ + +// Find the BODY element +function findBody(node) +{ + // XXX A better way to do this would be to use getElementsByTagName(), but + // it isn't implemented yet... + if (node.getTagName() == "BODY") { + return node; + } + + var children = node.getChildNodes() + return findBody(children.getNextNode()) +} + +// Given the body element, find the first table element +function findTable(body) +{ + // XXX A better way to do this would be to use getElementsByTagName(), but + // it isn't implemented yet... + var children = body.getChildNodes() + var child = children.getNextNode() + while (child) { + if (child.getNodeType() == 2) { + if (child.getTagName() == "TABLE") { + break; + } + } + + child = children.getNextNode() + } + + return child; +} + +// Change the table's caption +function changeCaption(table) +{ + // Get the first element. This is the caption (maybe). We really should + // check... + var caption = table.getFirstChild() + + // Get the caption text + var text = caption.getFirstChild() + + // Append some text + text.append(" NEW TEXT") +} + +changeCaption(findTable(findBody(document.documentElement))) + diff --git a/mozilla/dom/tests/js/tables/changeCell.js b/mozilla/dom/tests/js/tables/changeCell.js new file mode 100644 index 00000000000..d7508776973 --- /dev/null +++ b/mozilla/dom/tests/js/tables/changeCell.js @@ -0,0 +1,93 @@ +/* -*- Mode: js; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. + * + * The Original Code is Mozilla Communicator client code. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. + */ + +// Find the BODY element +function findBody(node) +{ + // XXX A better way to do this would be to use getElementsByTagName(), but + // it isn't implemented yet... + if (node.getTagName() == "BODY") { + return node; + } + + var children = node.getChildNodes() + return findBody(children.getNextNode()) +} + +// Given the body element, find the first table element +function findTable(body) +{ + // XXX A better way to do this would be to use getElementsByTagName(), but + // it isn't implemented yet... + var children = body.getChildNodes() + var child = children.getNextNode() + while (child) { + if (child.getNodeType() == 2) { + if (child.getTagName() == "TABLE") { + break; + } + } + + child = children.getNextNode() + } + + return child; +} + +// Given a table element, find the first table body +function findTableBody(table) +{ + // XXX A better way to do this would be to use getElementsByTagName(), but + // it isn't implemented yet... + var children = table.getChildNodes() + var child = children.getNextNode() + while (child) { + if (child.getNodeType() == 2) { + if (child.getTagName() == "TBODY") { + break; + } + } + + child = children.getNextNode() + } + + return child; +} + +// Change the text of the first table cell +function changeCell(table) +{ + // Get a table body + var body = findTableBody(table) + + // The table body's first child is a table row + var row = body.getFirstChild() + + // The row's first child is a table cell + var cell = row.getFirstChild() + + // Get the cell's text + var text = cell.getFirstChild() + + // Append some text + text.append(" NEW TEXT") +} + +changeCell(findTable(findBody(document.documentElement))) +