| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| description('Test the behavior of pattern attribute and pattern DOM property.'); |
| |
| var input = document.createElement('input'); |
| input.type = 'text'; |
| |
| // No pattern attribute. |
| shouldBe('input.pattern', '""'); |
| |
| // Set a string value. |
| input.pattern = 'foo'; |
| shouldBe('input.getAttribute("pattern")', '"foo"'); |
| input.setAttribute('pattern', 'bar'); |
| shouldBe('input.pattern', '"bar"'); |
| |
| // Null. |
| input.pattern = null; |
| shouldBeEqualToString('input.pattern', 'null'); |
| shouldBeEqualToString('input.getAttribute("pattern")', 'null'); |
| input.setAttribute('pattern', null); |
| shouldBe('input.pattern', '"null"'); |
| |
| // Undefined. |
| input.pattern = undefined; |
| shouldBe('input.pattern', '"undefined"'); |
| shouldBe('input.getAttribute("pattern")', '"undefined"'); |
| input.setAttribute('pattern', undefined); |
| shouldBe('input.pattern', '"undefined"'); |
| |
| // Non-string. |
| input.pattern = 256; |
| shouldBe('input.pattern', '"256"'); |
| shouldBe('input.getAttribute("pattern")', '"256"'); |
| input.setAttribute('pattern', 256); |
| shouldBe('input.pattern', '"256"'); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |