option-label-value.js (3009B)
1 function test_option(member) { 2 test(function() { 3 var option = document.createElement("option"); 4 assert_equals(option[member], ""); 5 }, "No children, no " + member); 6 7 test(function() { 8 var option = document.createElement("option"); 9 option.setAttribute(member, "") 10 assert_equals(option[member], ""); 11 }, "No children, empty " + member); 12 13 test(function() { 14 var option = document.createElement("option"); 15 option.setAttribute(member, member) 16 assert_equals(option[member], member); 17 }, "No children, " + member); 18 19 test(function() { 20 var option = document.createElement("option"); 21 option.setAttributeNS("http://www.example.com/", member, member) 22 assert_equals(option[member], ""); 23 }, "No children, namespaced " + member); 24 25 test(function() { 26 var option = document.createElement("option"); 27 option.appendChild(document.createTextNode(" child ")); 28 assert_equals(option[member], "child"); 29 }, "Single child, no " + member); 30 31 test(function() { 32 var option = document.createElement("option"); 33 option.appendChild(document.createTextNode(" child ")); 34 option.setAttribute(member, "") 35 assert_equals(option[member], ""); 36 }, "Single child, empty " + member); 37 38 test(function() { 39 var option = document.createElement("option"); 40 option.appendChild(document.createTextNode(" child ")); 41 option.setAttribute(member, member) 42 assert_equals(option[member], member); 43 }, "Single child, " + member); 44 45 test(function() { 46 var option = document.createElement("option"); 47 option.appendChild(document.createTextNode(" child ")); 48 option.setAttributeNS("http://www.example.com/", member, member) 49 assert_equals(option[member], "child"); 50 }, "Single child, namespaced " + member); 51 52 test(function() { 53 var option = document.createElement("option"); 54 option.appendChild(document.createTextNode(" child ")); 55 option.appendChild(document.createTextNode(" node ")); 56 assert_equals(option[member], "child node"); 57 }, "Two children, no " + member); 58 59 test(function() { 60 var option = document.createElement("option"); 61 option.appendChild(document.createTextNode(" child ")); 62 option.appendChild(document.createTextNode(" node ")); 63 option.setAttribute(member, "") 64 assert_equals(option[member], ""); 65 }, "Two children, empty " + member); 66 67 test(function() { 68 var option = document.createElement("option"); 69 option.appendChild(document.createTextNode(" child ")); 70 option.appendChild(document.createTextNode(" node ")); 71 option.setAttribute(member, member) 72 assert_equals(option[member], member); 73 }, "Two children, " + member); 74 75 test(function() { 76 var option = document.createElement("option"); 77 option.appendChild(document.createTextNode(" child ")); 78 option.appendChild(document.createTextNode(" node ")); 79 option.setAttributeNS("http://www.example.com/", member, member) 80 assert_equals(option[member], "child node"); 81 }, "Two children, namespaced " + member); 82 }