attribute.html revision 401383eea94bfce43024210092fbc67f86613a19
1117N/A YUI({base:"/build/", filter:"raw", useBrowserConsole:false}).use("base", "console", "test", function(Y) {
1117N/A Y.ObjectAssert.areEqual(o1, o2);
1117N/A Y.ObjectAssert.areEqual(o2, o1);
1117N/A AttrHost.superclass.constructor.apply(this, arguments);
1117N/A AttrHost.NAME = "attHost";
1117N/A validator: Y.Lang.isString
1117N/A AttrHost.superclass.constructor.apply(this, arguments);
1117N/A ExtendedAttrHost.NAME = "extendedAttrHost";
1117N/A return ((value == undefined) || Y.Lang.isString(value));
1117N/A "complex.X.A" : {
1117N/A "complex.Y.A" : {
1117N/A var h = this.createHost();
1117N/A Y.ArrayAssert.itemsAreEqual(expectedEvents, actualEvents);
1117N/A var h = this.createHost({A:"MyAVal"});
1117N/A Y.ArrayAssert.itemsAreEqual(expectedEvents, actualEvents);
1117N/A var h = this.createHost();
1117N/A var expectedEvents = ["Before1MyNewAVal", "Before2MyNewAVal", "After1MyNewAVal", "After2MyNewAVal", "Before1STOPAFTER", "Before2STOPAFTER", "After1STOPAFTER", "Before1STOPBEFORE"];
1117N/A Y.ArrayAssert.itemsAreEqual(expectedEvents, actualEvents);
1117N/A var h = this.createHost({A:"MyAVal", C:"MyCVal", D:"MyDVal"});
1117N/A actualEvents.push("BeforeAChange");
1117N/A actualEvents.push("AfterAChange");
1117N/A actualEvents.push("BeforeCChange");
1117N/A actualEvents.push("BeforeCChange");
1117N/A actualEvents.push("BeforeDChange");
1117N/A actualEvents.push("BeforeDChange");
1117N/A h.set("A", 200); // Invalid - before fired, after not fired [ value can be changed to be made valid ]
1117N/A Y.ArrayAssert.itemsAreEqual(expectedEvents, actualEvents);
1117N/A var h = this.createHost({A:"MyAVal"});
1117N/A var h = this.createHost();
1117N/A var h = this.createHost({A:"MyAVal", B:"MyBVal", C:"MyCVal", D:"MyDVal", E:"MyEVal", DE:"MyDEVal"});
1117N/A var h = this.createHost();
1117N/A var h = this.createHost({A:"MyAVal", B:"MyBVal", C:"MyCVal", D:"MyDVal", E:"MyEVal", DE:"MyDEVal"});
1117N/A var h = this.createHost();
1117N/A areObjectsReallyEqual(expectedVals, h.getAttrs());
1117N/A var h = this.createHost();
1117N/A areObjectsReallyEqual(expectedVals, h.getAttrs(true));
1117N/A var h = this.createHost();
1117N/A Y.Assert.areEqual("MyAVal", h.get("A")); // Validation should prevent the attribute from being set
1117N/A var h = this.createHost();
1117N/A var expectedEvents = ["BeforeTryDAgain", "AfterTryDAgain", "BeforeTryEAgain", "AfterTryEAgain"];
1117N/A var h = this.createHost();
var val = h.get("complex");
Y.each(val, function(v, k) {
var h = this.createHost({
"complex.X.A": 11,
"complex.Y.A": 12,
"complex.Z.A": 13,
"complex.W.A": 14 // Does not exist, not allowed to set
var h = this.createHost();
var h = this.createHost();
var expectedEvents = ["Beforecomplex.X.A", "Aftercomplex.X.A", "Beforecomplex.Y.A", "Aftercomplex.Y.A", "Beforecomplex.Y", "Aftercomplex.Y"];
h.on("complexChange", function(e) {
h.after("complexChange", function(e) {
basicTemplate = Y.merge(basicTemplate, sharedEventTests);
var h = this.createHost();
var h = this.createHost({A:"MyAVal", B:"MyBVal", C:"MyCVal", D:"MyDVal", E:"MyEVal", F:"MyFVal"});
h.set("C", "MyNewCVal");
h.set("D", "MyNewDVal");
h.set("E", "MyNewEVal");
var h = this.createHost();
h.set("A", "MyNewAVal");
h.set("B", "MyNewBVal");
h.set("C", "MyNewCVal");
h.set("D", "MyNewDVal");
h.set("E", "MyNewEVal");
h.set("F", "MyNewFVal");
h.set("DE", "MyNewDEVal");
var h = this.createHost({A:"MyAVal", B:"MyBVal", C:"MyCVal", D:"MyDVal", E:"MyEVal", F:"MyFVal", DE:"MyDEVal"});
h.set("A", "MyNewAVal");
h.set("B", "MyNewBVal");
h.set("C", "MyNewCVal");
h.set("D", "MyNewDVal");
h.set("E", "MyNewEVal");
h.set("F", "MyNewFVal");
h.set("DE", "MyNewDEVal");
h.reset("A");
h.reset("D");
h.reset();
var h = this.createHost();
areObjectsReallyEqual(expectedVals, h.getAttrs());
var h = this.createHost();
areObjectsReallyEqual(expectedVals, h.getAttrs(true));
var h = this.createHost();
h.set("A", "MyAVal");
h.set("A", 100);
h.set("B", "two");
h.set("B", 2);
h.set("B", true);
var h = this.createHost();
var expectedEvents = ["BeforeTryDAgain", "AfterTRYDAGAIN", "BeforeTryEAgain", "AfterTryEAgain" /* e.newVal is not "get" normalized */ ];
h.on("DChange", function(e) {
h.on("EChange", function(e) {
h.after("DChange", function(e) {
h.after("EChange", function(e) {
h.set("D", "MyNewDVal");
h.set("E", "MyNewEVal");
Y.ArrayAssert.itemsAreEqual(expectedEvents, actualEvents);
var h = this.createHost();
var val = h.get("complex");
Y.each(val, function(v, k) {
var h = this.createHost({
"complex.X.A": 11,
"complex.Y.A": 12,
"complex.Z.A": 13,
"complex.W.A": 14 // Does not exist, not allowed to set
var h = this.createHost();
var h = this.createHost();
var expectedEvents = ["Beforecomplex.X.A", "Aftercomplex.X.A", "Beforecomplex.Y.A", "Aftercomplex.Y.A", "Beforecomplex.Y", "Aftercomplex.Y"];
h.on("complexChange", function(e) {
h.after("complexChange", function(e) {
extendedTemplate = Y.merge(extendedTemplate, sharedEventTests);
new Y.Console({
Y.Test.Runner.add(new Y.Test.Case(basicTemplate)); // Running again, to make sure static attributes aren't modified
Y.Test.Runner.add(new Y.Test.Case(extendedTemplate)); // Running again, to make sure static attributes aren't modified