Index: LayoutTests/fast/forms/textarea-resize-below-min-size-set.html |
diff --git a/LayoutTests/fast/forms/textarea-resize-below-min-size-set.html b/LayoutTests/fast/forms/textarea-resize-below-min-size-set.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..59ec54fb04c7409979433fe5560b1a61deef8702 |
--- /dev/null |
+++ b/LayoutTests/fast/forms/textarea-resize-below-min-size-set.html |
@@ -0,0 +1,78 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<script src="../../resources/js-test.js"></script> |
+</head> |
+<body> |
+<pre id="console"></pre> |
+<div style="width:800px; height:800px"> |
+<textarea id="textInputID"> |
+Some text |
+</textarea> |
+</div> |
+<script> |
+description("<b>Test for resizing the Textarea below the minimum size set.</b>"); |
+updateSize(); |
+ |
+function log(msg) |
+{ |
+ document.getElementById('console').appendChild(document.createTextNode(msg + '\n')); |
+} |
+ |
+function updateSize() |
+{ |
+ if (window.testRunner) { |
+ var textAreaElement = document.getElementById("textInputID"); |
+ |
+ textAreaElement.style.width = "400px"; |
+ textAreaElement.style.height = "400px"; |
+ textAreaElement.style.minWidth="200px"; |
+ textAreaElement.style.minHeight="200px"; |
+ testDragAndMove("fixed"); |
+ |
+ textAreaElement.style.width = "400px"; |
+ textAreaElement.style.height = "400px"; |
+ textAreaElement.style.minWidth="15vw"; |
+ textAreaElement.style.minHeight="15vh"; |
+ testDragAndMove("relative-viewport"); |
+ |
+ textAreaElement.style.width = "400px"; |
+ textAreaElement.style.height = "400px"; |
+ textAreaElement.style.minWidth="10%"; |
+ textAreaElement.style.minHeight="10%"; |
+ testDragAndMove("percentage"); |
+ |
+ } else |
+ log("\n\nThis test needs window.testRunner and window.eventSender to work. To manually test it, drag the textarea below. \nFor test to pass the width and height of textarea should not go below min-width and min-height\n\n"); |
+} |
+ |
+function testDragAndMove(type) |
+{ |
+ var startX = document.getElementById("textInputID").offsetLeft + 400; |
+ var startY = document.getElementById("textInputID").offsetTop + 400; |
+ |
+ eventSender.dragMode = false; |
+ eventSender.mouseMoveTo(startX,startY); |
+ eventSender.mouseDown(); |
+ // Then drag it. |
+ eventSender.mouseMoveTo(startX - 350, startY - 350); |
+ eventSender.mouseUp(); |
+ |
+ // The min-width/min-height includes padding and border and width/height does not include padding and border. |
+ // So when we set say min-width = 200px it means actual minimum width of box to be 194px (as 2px paddding and 1px border on all side). |
+ // Hence the condition check here for values which are lesser than original value by 6px. |
+ if (type == "fixed") { |
+ shouldBeEqualToString('document.getElementById("textInputID").style.width', '194px'); |
+ shouldBeEqualToString('document.getElementById("textInputID").style.height;', '194px'); |
+ } else if (type == "relative-viewport") { |
+ shouldBeEqualToString('document.getElementById("textInputID").style.width', '114px'); |
+ shouldBeEqualToString('document.getElementById("textInputID").style.height;', '84px'); |
+ } else { |
+ shouldBeEqualToString('document.getElementById("textInputID").style.width', '74px'); |
+ shouldBeEqualToString('document.getElementById("textInputID").style.height;', '74px'); |
+ } |
+ |
+} |
+</script> |
+</body> |
+</html> |