
FAIL selectionStart on an input[type=hidden] returns null Type error
FAIL selectionEnd on an input[type=hidden] returns null Type error
FAIL selectionDirection on an input[type=hidden] returns null Type error
FAIL assigning selectionStart on an input[type=hidden] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=hidden] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=hidden] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=hidden] throws InvalidStateError 
FAIL setSelectionRange on an input[type=hidden] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=email] returns null assert_equals: expected (object) null but got (number) 0
FAIL selectionEnd on an input[type=email] returns null assert_equals: expected (object) null but got (number) 0
FAIL selectionDirection on an input[type=email] returns null assert_equals: expected (object) null but got (string) "none"
FAIL assigning selectionStart on an input[type=email] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" did not throw
FAIL assigning selectionEnd on an input[type=email] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" did not throw
FAIL assigning selectionDirection on an input[type=email] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" did not throw
PASS setRangeText on an input[type=email] throws InvalidStateError 
FAIL setSelectionRange on an input[type=email] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" did not throw
FAIL selectionStart on an input[type=datetime-local] returns null Type error
FAIL selectionEnd on an input[type=datetime-local] returns null Type error
FAIL selectionDirection on an input[type=datetime-local] returns null Type error
FAIL assigning selectionStart on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=datetime-local] throws InvalidStateError 
FAIL setSelectionRange on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=date] returns null Type error
FAIL selectionEnd on an input[type=date] returns null Type error
FAIL selectionDirection on an input[type=date] returns null Type error
FAIL assigning selectionStart on an input[type=date] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=date] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=date] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=date] throws InvalidStateError 
FAIL setSelectionRange on an input[type=date] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=month] returns null Type error
FAIL selectionEnd on an input[type=month] returns null Type error
FAIL selectionDirection on an input[type=month] returns null Type error
FAIL assigning selectionStart on an input[type=month] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=month] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=month] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=month] throws InvalidStateError 
FAIL setSelectionRange on an input[type=month] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=week] returns null Type error
FAIL selectionEnd on an input[type=week] returns null Type error
FAIL selectionDirection on an input[type=week] returns null Type error
FAIL assigning selectionStart on an input[type=week] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=week] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=week] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=week] throws InvalidStateError 
FAIL setSelectionRange on an input[type=week] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=time] returns null Type error
FAIL selectionEnd on an input[type=time] returns null Type error
FAIL selectionDirection on an input[type=time] returns null Type error
FAIL assigning selectionStart on an input[type=time] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=time] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=time] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=time] throws InvalidStateError 
FAIL setSelectionRange on an input[type=time] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=number] returns null assert_equals: expected (object) null but got (number) 0
FAIL selectionEnd on an input[type=number] returns null assert_equals: expected (object) null but got (number) 0
FAIL selectionDirection on an input[type=number] returns null assert_equals: expected (object) null but got (string) "none"
FAIL assigning selectionStart on an input[type=number] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" did not throw
FAIL assigning selectionEnd on an input[type=number] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" did not throw
FAIL assigning selectionDirection on an input[type=number] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" did not throw
PASS setRangeText on an input[type=number] throws InvalidStateError 
FAIL setSelectionRange on an input[type=number] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" did not throw
FAIL selectionStart on an input[type=range] returns null Type error
FAIL selectionEnd on an input[type=range] returns null Type error
FAIL selectionDirection on an input[type=range] returns null Type error
FAIL assigning selectionStart on an input[type=range] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=range] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=range] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=range] throws InvalidStateError 
FAIL setSelectionRange on an input[type=range] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=color] returns null Type error
FAIL selectionEnd on an input[type=color] returns null Type error
FAIL selectionDirection on an input[type=color] returns null Type error
FAIL assigning selectionStart on an input[type=color] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=color] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=color] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=color] throws InvalidStateError 
FAIL setSelectionRange on an input[type=color] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=checkbox] returns null Type error
FAIL selectionEnd on an input[type=checkbox] returns null Type error
FAIL selectionDirection on an input[type=checkbox] returns null Type error
FAIL assigning selectionStart on an input[type=checkbox] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=checkbox] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=checkbox] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=checkbox] throws InvalidStateError 
FAIL setSelectionRange on an input[type=checkbox] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=radio] returns null Type error
FAIL selectionEnd on an input[type=radio] returns null Type error
FAIL selectionDirection on an input[type=radio] returns null Type error
FAIL assigning selectionStart on an input[type=radio] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=radio] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=radio] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=radio] throws InvalidStateError 
FAIL setSelectionRange on an input[type=radio] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=file] returns null Type error
FAIL selectionEnd on an input[type=file] returns null Type error
FAIL selectionDirection on an input[type=file] returns null Type error
FAIL assigning selectionStart on an input[type=file] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=file] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=file] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=file] throws InvalidStateError 
FAIL setSelectionRange on an input[type=file] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=submit] returns null Type error
FAIL selectionEnd on an input[type=submit] returns null Type error
FAIL selectionDirection on an input[type=submit] returns null Type error
FAIL assigning selectionStart on an input[type=submit] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=submit] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=submit] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=submit] throws InvalidStateError 
FAIL setSelectionRange on an input[type=submit] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=image] returns null Type error
FAIL selectionEnd on an input[type=image] returns null Type error
FAIL selectionDirection on an input[type=image] returns null Type error
FAIL assigning selectionStart on an input[type=image] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=image] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=image] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=image] throws InvalidStateError 
FAIL setSelectionRange on an input[type=image] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=reset] returns null Type error
FAIL selectionEnd on an input[type=reset] returns null Type error
FAIL selectionDirection on an input[type=reset] returns null Type error
FAIL assigning selectionStart on an input[type=reset] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=reset] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=reset] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=reset] throws InvalidStateError 
FAIL setSelectionRange on an input[type=reset] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL selectionStart on an input[type=button] returns null Type error
FAIL selectionEnd on an input[type=button] returns null Type error
FAIL selectionDirection on an input[type=button] returns null Type error
FAIL assigning selectionStart on an input[type=button] throws InvalidStateError assert_throws: function "function (){
        el.selectionStart = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionEnd on an input[type=button] throws InvalidStateError assert_throws: function "function (){
        el.selectionEnd = 0;
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
FAIL assigning selectionDirection on an input[type=button] throws InvalidStateError assert_throws: function "function (){
        el.selectionDirection = 'none';
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS setRangeText on an input[type=button] throws InvalidStateError 
FAIL setSelectionRange on an input[type=button] throws InvalidStateError assert_throws: function "function (){
        el.setSelectionRange(0, 1);
      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
PASS selectionStart on an input[type=text] returns a value 
PASS selectionEnd on an input[type=text] returns a value 
PASS selectionDirection on an input[type=text] returns a value 
PASS assigning selectionStart on an input[type=text] doesn't throw an exception 
PASS assigning selectionEnd on an input[type=text] doesn't throw an exception 
PASS assigning selectionDirection on an input[type=text] doesn't throw an exception 
PASS setRangeText on an input[type=text] doesn't throw an exception 
PASS setSelectionRange on an input[type=text] doesn't throw an exception 
PASS selectionStart on an input[type=search] returns a value 
PASS selectionEnd on an input[type=search] returns a value 
PASS selectionDirection on an input[type=search] returns a value 
PASS assigning selectionStart on an input[type=search] doesn't throw an exception 
PASS assigning selectionEnd on an input[type=search] doesn't throw an exception 
PASS assigning selectionDirection on an input[type=search] doesn't throw an exception 
PASS setRangeText on an input[type=search] doesn't throw an exception 
PASS setSelectionRange on an input[type=search] doesn't throw an exception 
PASS selectionStart on an input[type=tel] returns a value 
PASS selectionEnd on an input[type=tel] returns a value 
PASS selectionDirection on an input[type=tel] returns a value 
PASS assigning selectionStart on an input[type=tel] doesn't throw an exception 
PASS assigning selectionEnd on an input[type=tel] doesn't throw an exception 
PASS assigning selectionDirection on an input[type=tel] doesn't throw an exception 
PASS setRangeText on an input[type=tel] doesn't throw an exception 
PASS setSelectionRange on an input[type=tel] doesn't throw an exception 
PASS selectionStart on an input[type=url] returns a value 
PASS selectionEnd on an input[type=url] returns a value 
PASS selectionDirection on an input[type=url] returns a value 
PASS assigning selectionStart on an input[type=url] doesn't throw an exception 
PASS assigning selectionEnd on an input[type=url] doesn't throw an exception 
PASS assigning selectionDirection on an input[type=url] doesn't throw an exception 
PASS setRangeText on an input[type=url] doesn't throw an exception 
PASS setSelectionRange on an input[type=url] doesn't throw an exception 
PASS selectionStart on an input[type=password] returns a value 
PASS selectionEnd on an input[type=password] returns a value 
PASS selectionDirection on an input[type=password] returns a value 
PASS assigning selectionStart on an input[type=password] doesn't throw an exception 
PASS assigning selectionEnd on an input[type=password] doesn't throw an exception 
PASS assigning selectionDirection on an input[type=password] doesn't throw an exception 
PASS setRangeText on an input[type=password] doesn't throw an exception 
PASS setSelectionRange on an input[type=password] doesn't throw an exception 
PASS selectionStart on an input[type=aninvalidtype] returns a value 
PASS selectionEnd on an input[type=aninvalidtype] returns a value 
PASS selectionDirection on an input[type=aninvalidtype] returns a value 
PASS assigning selectionStart on an input[type=aninvalidtype] doesn't throw an exception 
PASS assigning selectionEnd on an input[type=aninvalidtype] doesn't throw an exception 
PASS assigning selectionDirection on an input[type=aninvalidtype] doesn't throw an exception 
PASS setRangeText on an input[type=aninvalidtype] doesn't throw an exception 
PASS setSelectionRange on an input[type=aninvalidtype] doesn't throw an exception 
PASS selectionStart on an input[type=null] returns a value 
PASS selectionEnd on an input[type=null] returns a value 
PASS selectionDirection on an input[type=null] returns a value 
PASS assigning selectionStart on an input[type=null] doesn't throw an exception 
PASS assigning selectionEnd on an input[type=null] doesn't throw an exception 
PASS assigning selectionDirection on an input[type=null] doesn't throw an exception 
PASS setRangeText on an input[type=null] doesn't throw an exception 
PASS setSelectionRange on an input[type=null] doesn't throw an exception 

