Bug 468916 - make modifyLogin() smarter than just remove+add. r=zpao, r=gavin
[wine-gecko.git] / testing / mochitest / MochiKit / MockDOM.js
blob3f8654a987192163587a719ef33b4023ee1c2cf4
1 /***
3 MochiKit.MockDOM 1.4
5 See <http://mochikit.com/> for documentation, downloads, license, etc.
7 (c) 2005 Bob Ippolito. All rights Reserved.
9 ***/
11 if (typeof(MochiKit) == "undefined") {
12 MochiKit = {};
15 if (typeof(MochiKit.MockDOM) == "undefined") {
16 MochiKit.MockDOM = {};
19 MochiKit.MockDOM.NAME = "MochiKit.MockDOM";
20 MochiKit.MockDOM.VERSION = "1.4";
22 MochiKit.MockDOM.__repr__ = function () {
23 return "[" + this.NAME + " " + this.VERSION + "]";
26 /** @id MochiKit.MockDOM.toString */
27 MochiKit.MockDOM.toString = function () {
28 return this.__repr__();
31 /** @id MochiKit.MockDOM.createDocument */
32 MochiKit.MockDOM.createDocument = function () {
33 var doc = new MochiKit.MockDOM.MockElement("DOCUMENT");
34 doc.body = doc.createElement("BODY");
35 doc.appendChild(doc.body);
36 return doc;
39 /** @id MochiKit.MockDOM.MockElement */
40 MochiKit.MockDOM.MockElement = function (name, data) {
41 this.tagName = this.nodeName = name.toUpperCase();
42 if (typeof(data) == "string") {
43 this.nodeValue = data;
44 this.nodeType = 3;
45 } else {
46 this.nodeType = 1;
47 this.childNodes = [];
49 if (name.substring(0, 1) == "<") {
50 var nameattr = name.substring(
51 name.indexOf('"') + 1, name.lastIndexOf('"'));
52 name = name.substring(1, name.indexOf(" "));
53 this.tagName = this.nodeName = name.toUpperCase();
54 this.setAttribute("name", nameattr);
58 MochiKit.MockDOM.MockElement.prototype = {
59 /** @id MochiKit.MockDOM.MockElement.prototype.createElement */
60 createElement: function (tagName) {
61 return new MochiKit.MockDOM.MockElement(tagName);
63 /** @id MochiKit.MockDOM.MockElement.prototype.createTextNode */
64 createTextNode: function (text) {
65 return new MochiKit.MockDOM.MockElement("text", text);
67 /** @id MochiKit.MockDOM.MockElement.prototype.setAttribute */
68 setAttribute: function (name, value) {
69 this[name] = value;
71 /** @id MochiKit.MockDOM.MockElement.prototype.getAttribute */
72 getAttribute: function (name) {
73 return this[name];
75 /** @id MochiKit.MockDOM.MockElement.prototype.appendChild */
76 appendChild: function (child) {
77 this.childNodes.push(child);
79 /** @id MochiKit.MockDOM.MockElement.prototype.toString */
80 toString: function () {
81 return "MockElement(" + this.tagName + ")";
85 /** @id MochiKit.MockDOM.EXPORT_OK */
86 MochiKit.MockDOM.EXPORT_OK = [
87 "mockElement",
88 "createDocument"
91 /** @id MochiKit.MockDOM.EXPORT */
92 MochiKit.MockDOM.EXPORT = [
93 "document"
96 MochiKit.MockDOM.__new__ = function () {
97 this.document = this.createDocument();
100 MochiKit.MockDOM.__new__();