/* Copyright (c) 2010, Diaspora Inc. This file is * licensed under the Affero General Public License version 3 or later. See * the COPYRIGHT file. */ describe("View", function() { it("is the object that helps the UI", function() { expect(typeof View === "object").toBeTruthy(); }); describe("initialize", function() { it("is called on DOM ready", function() { spyOn(View, "initialize"); $(View.initialize); expect(View.initialize).toHaveBeenCalled(); }); }); describe("publisher", function() { beforeEach(function() { $("#jasmine_content").html( '<div id="publisher">' + '<form action="/status_messages" class="new_status_message" id="new_status_message" method="post">' + '<textarea id="status_message_text" name="status_message[text]"></textarea>' + '</form>' + '</div>' ); }); }); describe("search", function() { beforeEach(function() { $("#jasmine_content").html( '<input id="q" name="q" placeholder="Search" results="5" type="search" class="">' ); }); describe("focus", function() { it("adds the class 'active' when the user focuses the text field", function() { View.initialize(); $(View.search.selector).focus(); expect($(View.search.selector)).toHaveClass("active"); }); }); describe("blur", function() { it("removes the class 'active' when the user blurs the text field", function() { View.initialize(); $(View.search.selector).focus().blur(); expect($(View.search.selector)).not.toHaveClass("active"); }); }); }); describe("tooltips", function() { describe("bindAll", function() { //Someone shorten this plz <3 it("enumerates through the tooltips object, called the method 'bind' on any sibling that is not the bindAll method", function() { spyOn($, "noop"); View.initialize(); View.tooltips.myToolTip = { bind: $.noop }; View.tooltips.bindAll(); expect($.noop).toHaveBeenCalled(); }); }); }); });