Testcase for Bug http://wkbug.com/98633. The testcase checks if the height of a css table does not exceed the max-height value. The height of the table can be greater than max-height value when either min-height is greater than max-height or computed height of the content is greater than the max-height.


This sub-test checks that when min-height is lesser than max-height, max-height is applied to a table with auto layout.
PASS
This sub-test checks that when min-height is greater than max-height, min-height is applied to a table with auto layout.
PASS
This sub-test checks that max-height with fixed value is applied to a table with auto layout.
PASS
This sub-test checks that max-height with percent value is applied to a table with auto layout.
PASS
This sub-test checks that max-height with viewport percent height value is applied to a table with auto layout.
PASS
This sub-test checks that max-height with viewport percent width value is applied to a table with auto layout.
PASS
This sub-test checks that when content height is greater than max-height, content height is applied to the table with auto layout.

FILLER TEXT TO INCREASE CONTENT HEIGHT.
PASS
This test checks that when height of an auto-table is auto, there is are no asserts. No crash means the test passed.
PASS
This sub-test checks that when min-height is lesser than max-height, max-height is applied to a table with fixed layout.
PASS
This sub-test checks that when min-height is greater than max-height, min-height is applied to a table with fixed layout.
PASS
This sub-test checks that max-height with fixed value is applied to a table with fixed layout.
PASS
This sub-test checks that max-height with percent value is applied to a table with fixed layout.
PASS
This sub-test checks that max-height with viewport percent height value is applied to a table with fixed layout.
PASS
This sub-test checks that max-height with viewport percent width value is applied to a table with fixed layout.
PASS
This sub-test checks that when content height is greater than max-height, content height is applied to a table with fixed layout.

FILLER TEXT TO INCREASE CONTENT HEIGHT.
PASS
This test checks that when height of a fixed table is auto, there is are no asserts. No crash means the test passed.
PASS
