HTML and CSS Reference
In-Depth Information
The next test, shown in Listing 15.5, expects setView to be a function.
Listing 15.5 Expecting setView to be a function
"test should have setView method": function () {
assertFunction(userController.setView);
}
Listing 15.6 adds an empty method to pass the test.
Listing 15.6 Adding an empty setView method
(function () {
function setView(element) {}
tddjs.namespace("chat").userFormController = {
setView: setView
};
}());
15.2.1.2 Adding a Class
The first actual behavior we'll test for is that the “js-chat” class name is added
to the DOM element, as seen in Listing 15.7. Note that the test requires
the Object.create implementation from Chapter 7, Objects and Prototypal
Inheritance, in lib/object.js to run smoothly across browsers.
Listing 15.7 Expecting the view to have its class name set
TestCase("UserFormControllerSetViewTest", {
"test should add js-chat class": function () {
var controller = Object.create(userController);
var element = {};
controller.setView(element);
assertClassName("js-chat", element);
}
});
The first thing that sticks out about this test is that it contains no DOM elements.
It does, however, use the assertClassName assertion, which checks if an element
has the given class name. This assertion is generic, and only checks that the object
defines a string property className and that one of its space separated values
matches the provided string.
 
Search WWH ::




Custom Search