blob: d9ce9973b41b7db1da9cc009c829456aef1ce43c [file] [log] [blame]
<!doctype html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../assert_selection.js"></script>
<script src="spellcheck_test.js"></script>
<script>
// This test verifies if the "spellcheck" attribute is implemented as written in
// its specification.
spellcheck_test(
'<div spellcheck="true"><input type="text" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input type="text" value="#zz#."></div>',
'INPUT type=text is checked when it does not have spellcheck attribute and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="text" spellcheck="true" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck="true" type="text" value="#zz#."></div>',
'INPUT type=text is checked when it has spellcheck=true and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="text" spellcheck="false" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck="false" type="text" value="zz."></div>',
'INPUT type=text is not checked when it has spellcheck=false and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="text" spellcheck="invalidValue" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck="invalidValue" type="text" value="#zz#."></div>',
'INPUT type=text is checked when it has spellcheck attribute with invalid value and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="text" spellcheck value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck type="text" value="#zz#."></div>',
'INPUT type=text is checked when it has spellcheck attribute with empty value and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="search" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input type="search" value="#zz#."></div>',
'INPUT type=search is checked when it does not have spellcheck attribute and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="search" spellcheck="true" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck="true" type="search" value="#zz#."></div>',
'INPUT type=search is checked when it has spellcheck=true and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="search" spellcheck="false" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck="false" type="search" value="zz."></div>',
'INPUT type=search is not checked when it has spellcheck=false and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="search" spellcheck="invalidValue" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck="invalidValue" type="search" value="#zz#."></div>',
'INPUT type=search is checked when it has spellcheck attribute with invalid value and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="true"><input type="search" spellcheck value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="true"><input spellcheck type="search" value="#zz#."></div>',
'INPUT type=search is checked when it has spellcheck attribute with empty value and its parent has spellcheck=true.');
spellcheck_test(
'<div spellcheck="false"><input type="text" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input type="text" value="zz."></div>',
'INPUT type=text is not checked when it does not have spellcheck attribute and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="text" spellcheck="true" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck="true" type="text" value="#zz#."></div>',
'INPUT type=text is checked when it has spellcheck=true and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="text" spellcheck="false" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck="false" type="text" value="zz."></div>',
'INPUT type=text is not checked when it has spellcheck=false and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="text" spellcheck="invalidValue" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck="invalidValue" type="text" value="zz."></div>',
'INPUT type=text is not checked when it has spellcheck attribute with invalid value and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="text" spellcheck value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck type="text" value="#zz#."></div>',
'INPUT type=text is checked when it has spellcheck attribute with empty value and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="search" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input type="search" value="zz."></div>',
'INPUT type=search is not checked when it does not have spellcheck attribute and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="search" spellcheck="true" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck="true" type="search" value="#zz#."></div>',
'INPUT type=search is checked when it has spellcheck=true and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="search" spellcheck="false" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck="false" type="search" value="zz."></div>',
'INPUT type=search is not checked when it has spellcheck=false and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="search" spellcheck="invalidValue" value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck="invalidValue" type="search" value="zz."></div>',
'INPUT type=search is not checked when it has spellcheck attribute with invalid value and its parent has spellcheck=false.');
spellcheck_test(
'<div spellcheck="false"><input type="search" spellcheck value="zz."></div>',
document => document.querySelector('input').focus(),
'<div spellcheck="false"><input spellcheck type="search" value="#zz#."></div>',
'INPUT type=search is checked when it has spellcheck attribute with empty value and its parent has spellcheck=false.');
</script>