Merged dimensions with core
[jquery.git] / test / unit / dimensions.js
diff --git a/test/unit/dimensions.js b/test/unit/dimensions.js
new file mode 100644 (file)
index 0000000..af35850
--- /dev/null
@@ -0,0 +1,85 @@
+module("dimensions");
+
+test("innerWidth()", function() {
+       expect(3);
+
+       var $div = $("#nothiddendiv");
+       // set styles
+       $div.css({
+               margin: 10,
+               border: "2px solid #fff",
+               width: 30
+       });
+       
+       equals($div.innerWidth(), 30, "Test with margin and border");
+       $div.css("padding", "20px");
+       equals($div.innerWidth(), 70, "Test with margin, border and padding");
+       $div.hide();
+       equals($div.innerWidth(), 70, "Test hidden div");
+       
+       // reset styles
+       $div.css({ display: "", border: "", padding: "", width: "", height: "" });
+});
+
+test("innerHeight()", function() {
+       expect(3);
+       
+       var $div = $("#nothiddendiv");
+       // set styles
+       $div.css({
+               margin: 10,
+               border: "2px solid #fff",
+               height: 30
+       });
+       
+       equals($div.innerHeight(), 30, "Test with margin and border");
+       $div.css("padding", "20px");
+       equals($div.innerHeight(), 70, "Test with margin, border and padding");
+       $div.hide();
+       equals($div.innerHeight(), 70, "Test hidden div");
+       
+       // reset styles
+       $div.css({ display: "", border: "", padding: "", width: "", height: "" });
+});
+
+test("outerWidth()", function() {
+       expect(6);
+       
+       var $div = $("#nothiddendiv");
+       $div.css("width", 30);
+       
+       equals($div.outerWidth(), 30, "Test with only width set");
+       $div.css("padding", "20px");
+       equals($div.outerWidth(), 70, "Test with padding");
+       $div.css("border", "2px solid #fff");
+       equals($div.outerWidth(), 74, "Test with padding and border");
+       $div.css("margin", "10px");
+       equals($div.outerWidth(), 74, "Test with padding, border and margin without margin option");
+       equals($div.outerWidth(true), 94, "Test with padding, border and margin with margin option");
+       $div.hide();
+       equals($div.outerWidth(true), 94, "Test hidden div with padding, border and margin with margin option");
+       
+       // reset styles
+       $div.css({ display: "", border: "", padding: "", width: "", height: "" });
+});
+
+test("outerHeight()", function() {
+       expect(6);
+       
+       var $div = $("#nothiddendiv");
+       $div.css("height", 30);
+       
+       equals($div.outerHeight(), 30, "Test with only width set");
+       $div.css("padding", "20px");
+       equals($div.outerHeight(), 70, "Test with padding");
+       $div.css("border", "2px solid #fff");
+       equals($div.outerHeight(), 74, "Test with padding and border");
+       $div.css("margin", "10px");
+       equals($div.outerHeight(), 74, "Test with padding, border and margin without margin option");
+       equals($div.outerHeight(true), 94, "Test with padding, border and margin with margin option");
+       $div.hide();
+       equals($div.outerHeight(true), 94, "Test hidden div with padding, border and margin with margin option");
+       
+       // reset styles
+       $div.css({ display: "", border: "", padding: "", width: "", height: "" });
+});
\ No newline at end of file