| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../webdriver-bootstrap.js"></script> |
| <script src="deps.js"></script> |
| <script type="text/javascript" src="../scripts/htmlutils.js"></script> |
| <script type="text/javascript" src="../scripts/selenium-logging.js"></script> |
| <script type="text/javascript" src="../scripts/selenium-browserbot.js"></script> |
| <script type="text/javascript"> |
| goog.require('bot.dom'); |
| goog.require('core.firefox'); |
| goog.require('goog.testing.jsunit'); |
| </script> |
| <script type="text/javascript"> |
| var browserVersion = {}; |
| |
| var browserbot; |
| |
| function setUp() { |
| browserbot = new MozillaBrowserBot(window); |
| } |
| |
| function assertStyleIs(locator, expectedStyle) { |
| var actualStyle = browserbot.findAttribute(locator, 'style'); |
| if (expectedStyle == null) { |
| assertNull(actualStyle); |
| } else { |
| assertEquals(expectedStyle, actualStyle); |
| } |
| } |
| |
| function testStyleAttributeReturnsCssText() { |
| assertStyleIs('id=child@style', 'visibility: inherit;'); |
| } |
| |
| function testStyleAttributeReturnsWithTrailingSemicolon() { |
| assertStyleIs('id=parent@style', 'visibility: visible;'); |
| } |
| |
| // TODO(simon): Renable this test |
| function xtestShouldReturnNullIfElementDoesNotHaveAStyleAttribute() { |
| assertStyleIs('xpath=//body@style', null); |
| } |
| |
| // TODO(simon): Renable this test |
| function xtestShouldReturnNullIfElementHasAnEmptyStyleAttribute() { |
| assertStyleIs('id=empty-style@style', null); |
| } |
| |
| function testEmptyAttributesShouldNotBeInterpretedAsBeingNull() { |
| var value = browserbot.findAttribute("id=hasAttributes@emptyAttr"); |
| assertTrue(value === ''); |
| } |
| |
| function testShouldReturnNullWhenElementsAreMissing() { |
| var value = browserbot.findAttribute("id=hasAttributes@nope"); |
| assertTrue(goog.isNull(value)); |
| } |
| |
| </script> |
| <style type="text/css"> |
| #child { |
| height: 20px |
| } |
| </style> |
| </head> |
| <body> <!-- DO NOT PUT A STYLE ATTRIBUTE ON BODY! --> |
| |
| <div id="empty-style" style="">i have no style!</div> |
| |
| <div id="parent" style="visibility: visible">A parent div |
| <div id="child" style="visibility: inherit;display:;">A child div</div> |
| </div> |
| |
| <span id="hasAttributes" emptyAttr="">This is a span</span> |
| </body> |
| </html> |