| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| .topLevel { |
| width: 400px; |
| scroll-snap-type: x proximity; |
| scroll-snap-align: start end; |
| scroll-padding: 10%; |
| scroll-snap-margin: 5px 5px 10px 10px; |
| } |
| |
| .horizontalGallery { |
| width: 400px; |
| height: 50px; |
| overflow-y: hidden; |
| overflow-x: auto; |
| } |
| |
| .horizontalGalleryDrawer { |
| width: 3000px; |
| height: 50px; |
| } |
| |
| .colorBox { |
| height: 50px; |
| width: 400px; |
| float: left; |
| } |
| |
| .noInherit { |
| scroll-snap-type: both mandatory; |
| scroll-snap-align: center; |
| scroll-padding: 20px; |
| scroll-snap-margin: 0 1px; |
| } |
| |
| .inheritType { |
| scroll-snap-type: inherit; |
| scroll-snap-align: center; |
| scroll-padding: 20px; |
| scroll-snap-margin: 0 1px; |
| } |
| |
| .inheritAlign { |
| scroll-snap-type: both mandatory; |
| scroll-snap-align: inherit; |
| scroll-padding: 20px; |
| scroll-snap-margin: 0 1px; |
| } |
| |
| .inheritPadding { |
| scroll-snap-type: both mandatory; |
| scroll-snap-align: center; |
| scroll-padding: inherit; |
| scroll-snap-margin: 0 1px; |
| } |
| |
| .inheritMargin { |
| scroll-snap-type: both mandatory; |
| scroll-snap-align: center; |
| scroll-padding: 20px; |
| scroll-snap-margin: inherit; |
| } |
| |
| .inheritAll { |
| scroll-snap-type: inherit; |
| scroll-snap-align: inherit; |
| scroll-padding: inherit; |
| scroll-snap-margin: inherit; |
| } |
| |
| .inheritNone { } |
| |
| #item0 { background-color: red; } |
| #item1 { background-color: green; } |
| #item2 { background-color: blue; } |
| #item3 { background-color: aqua; } |
| #item4 { background-color: yellow; } |
| #item5 { background-color: fuchsia; } |
| </style> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <div class="topLevel"> |
| <div id="noInherit" class="horizontalGallery noInherit"> |
| <div class="horizontalGalleryDrawer"> |
| <div id="item0" class="colorBox"></div> |
| <div id="item1" class="colorBox"></div> |
| <div id="item2" class="colorBox"></div> |
| <div id="item3" class="colorBox"></div> |
| <div id="item4" class="colorBox"></div> |
| <div id="item5" class="colorBox"></div> |
| </div> |
| </div> |
| <div id="inheritType" class="horizontalGallery inheritType" style="scroll-snap-type: inherit;"> |
| <div class="horizontalGalleryDrawer"> |
| <div id="item0" class="colorBox"></div> |
| <div id="item1" class="colorBox"></div> |
| <div id="item2" class="colorBox"></div> |
| <div id="item3" class="colorBox"></div> |
| <div id="item4" class="colorBox"></div> |
| <div id="item5" class="colorBox"></div> |
| </div> |
| </div> |
| <div id="inheritAlign" class="horizontalGallery inheritAlign" style="scroll-snap-align: inherit;"> |
| <div class="horizontalGalleryDrawer"> |
| <div id="item0" class="colorBox"></div> |
| <div id="item1" class="colorBox"></div> |
| <div id="item2" class="colorBox"></div> |
| <div id="item3" class="colorBox"></div> |
| <div id="item4" class="colorBox"></div> |
| <div id="item5" class="colorBox"></div> |
| </div> |
| </div> |
| <div id="inheritPadding" class="horizontalGallery inheritPadding" style="scroll-padding: inherit;"> |
| <div class="horizontalGalleryDrawer"> |
| <div id="item0" class="colorBox"></div> |
| <div id="item1" class="colorBox"></div> |
| <div id="item2" class="colorBox"></div> |
| <div id="item3" class="colorBox"></div> |
| <div id="item4" class="colorBox"></div> |
| <div id="item5" class="colorBox"></div> |
| </div> |
| </div> |
| <div id="inheritMargin" class="horizontalGallery inheritMargin" style="scroll-snap-margin: inherit;"> |
| <div class="horizontalGalleryDrawer"> |
| <div id="item0" class="colorBox"></div> |
| <div id="item1" class="colorBox"></div> |
| <div id="item2" class="colorBox"></div> |
| <div id="item3" class="colorBox"></div> |
| <div id="item4" class="colorBox"></div> |
| <div id="item5" class="colorBox"></div> |
| </div> |
| </div> |
| <div id="inheritAll" class="horizontalGallery inheritAll" style="scroll-snap-type: inherit; scroll-snap-align: inherit; scroll-padding: inherit; scroll-snap-margin: inherit;"> |
| <div class="horizontalGalleryDrawer"> |
| <div id="item0" class="colorBox"></div> |
| <div id="item1" class="colorBox"></div> |
| <div id="item2" class="colorBox"></div> |
| <div id="item3" class="colorBox"></div> |
| <div id="item4" class="colorBox"></div> |
| <div id="item5" class="colorBox"></div> |
| </div> |
| </div> |
| <div id="inheritNone" class="horizontalGallery inheritNone"> |
| <div class="horizontalGalleryDrawer"> |
| <div id="item0" class="colorBox"></div> |
| <div id="item1" class="colorBox"></div> |
| <div id="item2" class="colorBox"></div> |
| <div id="item3" class="colorBox"></div> |
| <div id="item4" class="colorBox"></div> |
| <div id="item5" class="colorBox"></div> |
| </div> |
| </div> |
| </div> |
| <div id="console"></div> |
| <script> |
| description("Tests 'inherit' on scroll snap properties."); |
| |
| var noInherit = document.getElementById('noInherit'); |
| shouldBeEmptyString("noInherit.style['scroll-snap-type']"); |
| shouldBeEqualToString("window.getComputedStyle(noInherit).getPropertyValue('scroll-snap-type')", "both mandatory"); |
| shouldBeEmptyString("noInherit.style['scroll-snap-align']"); |
| shouldBeEqualToString("window.getComputedStyle(noInherit).getPropertyValue('scroll-snap-align')", "center"); |
| shouldBeEmptyString("noInherit.style['scroll-padding']"); |
| shouldBeEmptyString("noInherit.style['scroll-padding-left']"); |
| shouldBeEmptyString("noInherit.style['scroll-padding-right']"); |
| shouldBeEmptyString("noInherit.style['scroll-padding-top']"); |
| shouldBeEmptyString("noInherit.style['scroll-padding-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(noInherit).getPropertyValue('scroll-padding')", "20px"); |
| shouldBeEmptyString("noInherit.style['scroll-snap-margin']"); |
| shouldBeEmptyString("noInherit.style['scroll-snap-margin-left']"); |
| shouldBeEmptyString("noInherit.style['scroll-snap-margin-right']"); |
| shouldBeEmptyString("noInherit.style['scroll-snap-margin-top']"); |
| shouldBeEmptyString("noInherit.style['scroll-snap-margin-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(noInherit).getPropertyValue('scroll-snap-margin')", "0px 1px"); |
| debug(""); |
| |
| var inheritType = document.getElementById('inheritType'); |
| shouldBeEqualToString("inheritType.style['scroll-snap-type']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritType).getPropertyValue('scroll-snap-type')", "x"); |
| shouldBeEmptyString("inheritType.style['scroll-snap-align']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritType).getPropertyValue('scroll-snap-align')", "center"); |
| shouldBeEmptyString("inheritType.style['scroll-padding']"); |
| shouldBeEmptyString("inheritType.style['scroll-padding-left']"); |
| shouldBeEmptyString("inheritType.style['scroll-padding-right']"); |
| shouldBeEmptyString("inheritType.style['scroll-padding-top']"); |
| shouldBeEmptyString("inheritType.style['scroll-padding-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritType).getPropertyValue('scroll-padding')", "20px"); |
| shouldBeEmptyString("inheritType.style['scroll-snap-margin']"); |
| shouldBeEmptyString("inheritType.style['scroll-snap-margin-left']"); |
| shouldBeEmptyString("inheritType.style['scroll-snap-margin-right']"); |
| shouldBeEmptyString("inheritType.style['scroll-snap-margin-top']"); |
| shouldBeEmptyString("inheritType.style['scroll-snap-margin-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritType).getPropertyValue('scroll-snap-margin')", "0px 1px"); |
| debug(""); |
| |
| var inheritAlign = document.getElementById('inheritAlign'); |
| shouldBeEmptyString("inheritAlign.style['scroll-snap-type']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAlign).getPropertyValue('scroll-snap-type')", "both mandatory"); |
| shouldBeEqualToString("inheritAlign.style['scroll-snap-align']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAlign).getPropertyValue('scroll-snap-align')", "start end"); |
| shouldBeEmptyString("inheritAlign.style['scroll-padding']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-padding-left']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-padding-right']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-padding-top']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-padding-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAlign).getPropertyValue('scroll-padding')", "20px"); |
| shouldBeEmptyString("inheritAlign.style['scroll-snap-margin']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-snap-margin-left']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-snap-margin-right']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-snap-margin-top']"); |
| shouldBeEmptyString("inheritAlign.style['scroll-snap-margin-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAlign).getPropertyValue('scroll-snap-margin')", "0px 1px"); |
| debug(""); |
| |
| var inheritPadding = document.getElementById('inheritPadding'); |
| shouldBeEmptyString("inheritPadding.style['scroll-snap-type']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritPadding).getPropertyValue('scroll-snap-type')", "both mandatory"); |
| shouldBeEmptyString("inheritPadding.style['scroll-snap-align']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritPadding).getPropertyValue('scroll-snap-align')", "center"); |
| shouldBeEqualToString("inheritPadding.style['scroll-padding']", "inherit"); |
| shouldBeEqualToString("inheritPadding.style['scroll-padding-left']", "inherit"); |
| shouldBeEqualToString("inheritPadding.style['scroll-padding-right']", "inherit"); |
| shouldBeEqualToString("inheritPadding.style['scroll-padding-top']", "inherit"); |
| shouldBeEqualToString("inheritPadding.style['scroll-padding-bottom']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritPadding).getPropertyValue('scroll-padding')", "10%"); |
| shouldBeEmptyString("inheritPadding.style['scroll-snap-margin']"); |
| shouldBeEmptyString("inheritPadding.style['scroll-snap-margin-left']"); |
| shouldBeEmptyString("inheritPadding.style['scroll-snap-margin-right']"); |
| shouldBeEmptyString("inheritPadding.style['scroll-snap-margin-top']"); |
| shouldBeEmptyString("inheritPadding.style['scroll-snap-margin-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritPadding).getPropertyValue('scroll-snap-margin')", "0px 1px"); |
| debug(""); |
| |
| var inheritMargin = document.getElementById('inheritMargin'); |
| shouldBeEmptyString("inheritMargin.style['scroll-snap-type']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritMargin).getPropertyValue('scroll-snap-type')", "both mandatory"); |
| shouldBeEmptyString("inheritMargin.style['scroll-snap-align']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritMargin).getPropertyValue('scroll-snap-align')", "center"); |
| shouldBeEmptyString("inheritMargin.style['scroll-padding']"); |
| shouldBeEmptyString("inheritMargin.style['scroll-padding-left']"); |
| shouldBeEmptyString("inheritMargin.style['scroll-padding-right']"); |
| shouldBeEmptyString("inheritMargin.style['scroll-padding-top']"); |
| shouldBeEmptyString("inheritMargin.style['scroll-padding-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritMargin).getPropertyValue('scroll-padding')", "20px"); |
| shouldBeEqualToString("inheritMargin.style['scroll-snap-margin']", "inherit"); |
| shouldBeEqualToString("inheritMargin.style['scroll-snap-margin-left']", "inherit"); |
| shouldBeEqualToString("inheritMargin.style['scroll-snap-margin-right']", "inherit"); |
| shouldBeEqualToString("inheritMargin.style['scroll-snap-margin-top']", "inherit"); |
| shouldBeEqualToString("inheritMargin.style['scroll-snap-margin-bottom']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritMargin).getPropertyValue('scroll-snap-margin')", "5px 5px 10px 10px"); |
| debug(""); |
| |
| var inheritAll = document.getElementById('inheritAll'); |
| shouldBeEqualToString("inheritAll.style['scroll-snap-type']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAll).getPropertyValue('scroll-snap-type')", "x"); |
| shouldBeEqualToString("inheritAll.style['scroll-snap-align']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAll).getPropertyValue('scroll-snap-align')", "start end"); |
| shouldBeEqualToString("inheritAll.style['scroll-padding']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-padding-left']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-padding-right']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-padding-top']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-padding-bottom']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAll).getPropertyValue('scroll-padding')", "10%"); |
| shouldBeEqualToString("inheritAll.style['scroll-snap-margin']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-snap-margin-left']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-snap-margin-right']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-snap-margin-top']", "inherit"); |
| shouldBeEqualToString("inheritAll.style['scroll-snap-margin-bottom']", "inherit"); |
| shouldBeEqualToString("window.getComputedStyle(inheritAll).getPropertyValue('scroll-snap-margin')", "5px 5px 10px 10px"); |
| debug(""); |
| |
| var inheritNone = document.getElementById('inheritNone'); |
| shouldBeEmptyString("inheritNone.style['scroll-snap-type']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritNone).getPropertyValue('scroll-snap-type')", "none"); |
| shouldBeEmptyString("inheritNone.style['scroll-snap-align']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritNone).getPropertyValue('scroll-snap-align')", "none"); |
| shouldBeEmptyString("inheritNone.style['scroll-padding']"); |
| shouldBeEmptyString("inheritNone.style['scroll-padding-left']"); |
| shouldBeEmptyString("inheritNone.style['scroll-padding-right']"); |
| shouldBeEmptyString("inheritNone.style['scroll-padding-top']"); |
| shouldBeEmptyString("inheritNone.style['scroll-padding-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritNone).getPropertyValue('scroll-padding')", "auto"); |
| shouldBeEmptyString("inheritNone.style['scroll-snap-margin']"); |
| shouldBeEmptyString("inheritNone.style['scroll-snap-margin-left']"); |
| shouldBeEmptyString("inheritNone.style['scroll-snap-margin-right']"); |
| shouldBeEmptyString("inheritNone.style['scroll-snap-margin-top']"); |
| shouldBeEmptyString("inheritNone.style['scroll-snap-margin-bottom']"); |
| shouldBeEqualToString("window.getComputedStyle(inheritNone).getPropertyValue('scroll-snap-margin')", "0px"); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |
| |