object.html revision 0dca577a07715960da42d47787eecc25b285182f
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore<html>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore<head>
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore<title>YUI Object Tests</title>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore</head>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore<body class="yui-skin-sam">
eb86457f85638a9eb7c4d5f84eb367d24061abfbAdam Moore<h1>Object Tests</h1>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore<p><input type="button" value="Run Tests" id="btnRun" disabled="true" /></p>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore<script type="text/javascript" src="/build/yui/yui.js"></script>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore<script type="text/javascript">
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore(function() {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore YUI({
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore base: "/build/",
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore filter: "debug",
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore logExclude: {
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore attribute: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore dom: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore node: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore event: true,
0dca577a07715960da42d47787eecc25b285182fAdam Moore deprecated: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore base: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore widget: true,
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore selector: true
35cf6dd5c2320d93c353e64d1b4aa8c50ebf7722Adam Moore },
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore useConsole: true
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore }).use("dump", "test", "console", "event-custom", function(Y) {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore var button = Y.get('#btnRun');
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore // Set up the page
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore button.set("disabled", false);
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.on("click", function() {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Test.Runner.run();
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore }, button);
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
0771d781138a507b3e657573703f511291640bf3Adam Moore // var myConsole = new Y.Console().render();
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore var o = {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore a1: {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore a2: {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore a3: 'a'
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore }
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore },
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore b1: {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore b2: 'b'
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore },
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore c1: 'c'
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore }
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
0dca577a07715960da42d47787eecc25b285182fAdam Moore var testCase = new Y.Test.Case({
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore name: "Object tests",
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
0dca577a07715960da42d47787eecc25b285182fAdam Moore test_deep_getValue: function() {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Assert.areEqual('c', Y.Object.getValue(o, 'c1'));
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Assert.areEqual('a', Y.Object.getValue(o, ['a1', 'a2', 'a3']));
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Assert.areEqual(undefined, Y.Object.getValue(o, ['b1', 'b2', 'b3']));
0dca577a07715960da42d47787eecc25b285182fAdam Moore Y.Assert.areEqual(undefined, Y.Object.getValue(null, ['b1', 'b2', 'b3']));
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore },
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
0dca577a07715960da42d47787eecc25b285182fAdam Moore test_deep_setValue: function() {
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Object.setValue(o, 'c1', 'changed_c');
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Object.setValue(o, ['a1', 'a2', 'a3'], 'changed_a');
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Object.setValue(o, ['b1', 'b2', 'b3'], 'changed_b');
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Assert.areEqual('changed_c', Y.Object.getValue(o, 'c1'));
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Assert.areEqual('changed_a', Y.Object.getValue(o, ['a1', 'a2', 'a3']));
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Assert.areEqual(undefined, Y.Object.getValue(o, ['b1', 'b2', 'b3']));
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore }
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore });
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore
0dca577a07715960da42d47787eecc25b285182fAdam Moore Y.Test.Runner.add(testCase);
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore Y.Test.Runner.run();
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore });
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore})();
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore</script>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore</body>
3395e5fc071521d4e6b258ef4c7c0ef38601b94eAdam Moore</html>