<!--
MochiKit is dual-licensed software. It is available under the terms of the
MIT License, or the Academic Free License version 2.1. The full text of
each license is included below.
-->
<!-- Code revised from MochiKit demo code -->
<html>
<head>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Base.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Iter.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/DOM.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Style.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Logging.js"></script>
<script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Iter.js"></script>
</head>
<body>
<pre id="test">
<script type="text/javascript">
var StringMap = function() {};
a = new StringMap();
a.foo = "bar";
b = new StringMap();
b.foo = "bar";
try {
compare(a, b);
alert( false, "bad comparison registered!?" );
} catch (e) {
alert( e instanceof TypeError, "bad comparison raised TypeError" );
}
alert( repr(a), "[object Object]", "default repr for StringMap" );
var isStringMap = function () {
for (var i = 0; i < arguments.length; i++) {
if (!(arguments[i] instanceof StringMap)) {
return false;
}
}
return true;
};
registerRepr("stringMap",
isStringMap,
function (obj) {
return "StringMap(" + repr(items(obj)) + ")";
}
);
alert( repr(a), "StringMap([["foo", "bar"]])", "repr worked" );
</script>
</pre>
</body>
</html>