blob: 03855b51286785d47367197fccc4c07495439774 [file] [log] [blame]
var findTypeForExpression = $vm.findTypeForExpression;
load("./driver/driver.js");
function wrapper()
{
function A() { };
function B() { };
function C() { };
var theA = new A;
var theB = new B;
var theC = new C;
var hierarchyTest = new B;
hierarchyTest = new C;
var secondHierarchyTest = Object.create(theB);
secondHierarchyTest = Object.create(theC);
var secondB = Object.create(theB);
B.prototype.__proto__ = A.prototype;
C.prototype.__proto__ = A.prototype;
}
wrapper();
// ====== End test cases ======
types = findTypeForExpression(wrapper, "theA = n");
assert(types.globalTypeSet.displayTypeName === "A", "variable 'theA' should have displayTypeName 'A'");
assert(types.instructionTypeSet.displayTypeName === "A", "variable 'theA' should have displayTypeName 'A'");
types = findTypeForExpression(wrapper, "theB = n");
assert(types.globalTypeSet.displayTypeName === "B", "variable 'theB' should have displayTypeName 'B'");
assert(types.instructionTypeSet.displayTypeName === "B", "variable 'theB' should have displayTypeName 'B'");
types = findTypeForExpression(wrapper, "theC = n");
assert(types.globalTypeSet.displayTypeName === "C", "variable 'theC' should have displayTypeName 'C'");
assert(types.instructionTypeSet.displayTypeName === "C", "variable 'theC' should have displayTypeName 'C'");
types = findTypeForExpression(wrapper, "hierarchyTest = new B;");
assert(types.globalTypeSet.displayTypeName === "A", "variable 'hierarchyTest' should have displayTypeName 'A'");
types = findTypeForExpression(wrapper, "hierarchyTest = new C;");
assert(types.globalTypeSet.displayTypeName === "A", "variable 'hierarchyTest' should have displayTypeName 'A'");
types = findTypeForExpression(wrapper, "secondHierarchyTest = Object.create(theB);");
assert(types.globalTypeSet.displayTypeName === "A", "variable 'secondHierarchyTest' should have displayTypeName 'A'");
types = findTypeForExpression(wrapper, "secondHierarchyTest = Object.create(theC);");
assert(types.globalTypeSet.displayTypeName === "A", "variable 'secondHierarchyTest' should have displayTypeName 'A'");
types = findTypeForExpression(wrapper, "secondB");
assert(types.globalTypeSet.displayTypeName === "B", "variable 'secondB' should have displayTypeName 'B'");