oop.html revision 0771d781138a507b3e657573703f511291640bf3
842ae4bd224140319ae7feec1872b93dfd491143fielding<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding<p><input type="button" value="Run Tests" id="btnRun" disabled="true" /></p>
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<script type="text/javascript" src="/build/yui/yui.js"></script>
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd(function() {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding filter: "debug",
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding useConsole: true,
e8f95a682820a599fe41b22977010636be5c2717jim // logInclude: ['event', 'test']
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding //logExclude: ['Dom', 'Selector', 'Node', 'attribute']
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding logExclude: {Dom:true, Selector:true, Node:true, attribute:true, event:true, base:true}
e8f95a682820a599fe41b22977010636be5c2717jim }).use("dump", "test", "console", "event-custom", function(Y) {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding var button = Y.get('#btnRun'),
1b21d7b3d97def358b2e923655edeb16613a1c31gstein ObjectAssert = Y.ObjectAssert;
1b21d7b3d97def358b2e923655edeb16613a1c31gstein // Set up the page
1b21d7b3d97def358b2e923655edeb16613a1c31gstein button.set("disabled", false);
1b21d7b3d97def358b2e923655edeb16613a1c31gstein Y.on("click", function() {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding }, button);
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding // var myConsole = new Y.Console().render();
a877b7d5d03f91d6c93076d9ccf14469c70c648dcoar var testOOP= new Y.Test.Case({
1b21d7b3d97def358b2e923655edeb16613a1c31gstein name: "OOP tests",
a7ad08f37d876bde1a32f0cf793f4799536ab1a5ben testExtend: function() {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding var firedbase = false;
ef5650b61a8e35f3cc93ec07e73efc17ea329894jorton var firedextended = false;
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding var Base = function() {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding Y.log('Base constructor executed');
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding arguments.callee.superclass.constructor.apply(this, arguments);
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm // bind by string in order to allow the subclass
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding base: function() {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding Y.log('base function');
3d96ee83babeec32482c9082c9426340cee8c44dwrowe firedbase = true;
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding var Extended = function() {
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm Y.log('Extended constructor executed');
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding arguments.callee.superclass.constructor.apply(this, arguments);
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding Y.extend(Extended, Base, {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding base: function() {
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding Y.log('extended function');
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm firedextended = true;
066877f1a045103acfdd376d48cdd473c33f409bdougm var b = new Extended();
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding b.fire('testStringFn', 1, 2);
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm Y.Assert.isTrue(firedextended);
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm test_merge: function() {
076ae4ad21f0b3f25e2feabd9886b9500929eb2ejerenkrantz var o1 = { one: "one" },
076ae4ad21f0b3f25e2feabd9886b9500929eb2ejerenkrantz o2 = { two: "two" },
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding o3 = { two: "twofromthree", three: "three" },
066877f1a045103acfdd376d48cdd473c33f409bdougm o4 = { one: "one", two: "twofromthree", three: "three" },
066877f1a045103acfdd376d48cdd473c33f409bdougm o123 = Y.merge(o1, o2, o3);
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding test_mix: function() {
076ae4ad21f0b3f25e2feabd9886b9500929eb2ejerenkrantz 'bool' : false,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding 'nul' : null,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding 'undef': undefined,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding 'T' : 'blabber'
a7ad08f37d876bde1a32f0cf793f4799536ab1a5ben 'bool' : 'oops',
36d38d22e0d385db01f5773a579f44b8f02e4b1fsf 'num' : 'oops',
076ae4ad21f0b3f25e2feabd9886b9500929eb2ejerenkrantz 'nul' : 'oops',
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding 'undef': 'oops',
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding 'T' : 'oops'
066877f1a045103acfdd376d48cdd473c33f409bdougm Y.mix(a, b, false);
076ae4ad21f0b3f25e2feabd9886b9500929eb2ejerenkrantz Y.mix(a, b, true);
9bf4319b4fc7b31295b945215a55e2a92ba57903wrowe test_clone: function() {
36d38d22e0d385db01f5773a579f44b8f02e4b1fsf 'bool' : false,
0f081398cf0eef8cc7c66a535d450110a92dc8aefielding 'nul' : null,
4d7e28c869788fb00bffda29a67f1b10e19f159dnd 'undef': undefined,
4d7e28c869788fb00bffda29a67f1b10e19f159dnd 'T' : 'blabber'
4d7e28c869788fb00bffda29a67f1b10e19f159dnd var b = Y.clone(a);
36d38d22e0d385db01f5773a579f44b8f02e4b1fsf var c = function() {
1f0ca94141196628ecadf1a91f2b60a33349872fnd var _c = 3;
36d38d22e0d385db01f5773a579f44b8f02e4b1fsf c: function() {
36d38d22e0d385db01f5773a579f44b8f02e4b1fsf return _c;
4d7e28c869788fb00bffda29a67f1b10e19f159dnd var d = Y.clone(c);