removeClass.test.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. describe("replaceClass", function () {
  2. var stubMatrix = { a: 1, b: 1, c: 1, d: 1, e: 1, f: 1 };
  3. beforeEach(function () {
  4. $(document.body).append("<div id=\"moo\"></div>");
  5. });
  6. it("should replace a css class", function () {
  7. var el=document.getElementById("moo");
  8. el.className="foobar";
  9. $(el).replaceClass("foobar","bar");
  10. expect($(el).hasClass("bar")).to.be.true;
  11. expect($(el).hasClass("foobar")).to.be.false;
  12. });
  13. it("should do nothing to the classes", function () {
  14. var el=document.getElementById("moo");
  15. el.className="foobar";
  16. $(el).replaceClass();
  17. expect($(el).hasClass("bar")).to.be.false;
  18. expect($(el).hasClass("foobar")).to.be.true;
  19. });
  20. it("Should add the class",function(){
  21. var el=document.getElementById("moo");
  22. el.className="foobar";
  23. $(el).replaceClass("","bar");
  24. expect($(el).hasClass("bar")).to.be.true;
  25. expect($(el).hasClass("foobar")).to.be.true;
  26. });
  27. it("should replace a css class when multiple classes exist", function () {
  28. var el=document.getElementById("moo");
  29. el.className="foobar temp stuff";
  30. $(el).replaceClass("foobar","bar");
  31. expect($(el).hasClass("bar")).to.be.true;
  32. expect($(el).hasClass("temp")).to.be.true;
  33. expect($(el).hasClass("stuff")).to.be.true;
  34. expect($(el).hasClass("foobar")).to.be.false;
  35. });
  36. it("should replace multiple classess", function () {
  37. var el=document.getElementById("moo");
  38. el.className="foobar temp";
  39. $(el).replaceClass("foobar temp","bar has");
  40. expect($(el).hasClass("bar")).to.be.true;
  41. expect($(el).hasClass("has")).to.be.true;
  42. expect($(el).hasClass("foobar")).to.be.false;
  43. expect($(el).hasClass("temp")).to.be.false;
  44. });
  45. });