Test reflecting boolean attributes.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS e = make('area'); e.removeAttribute('nohref'); e.noHref is false
PASS e = make('area'); e.setAttribute('nohref', ''); e.noHref is true
PASS e = make('area'); e.setAttribute('nohref', 'x'); e.noHref = false; e.getAttribute('nohref') is null
PASS e = make('area'); e.setAttribute('nohref', 'x'); e.noHref = true; e.getAttribute('nohref') is ''
PASS e = make('dir'); e.removeAttribute('compact'); e.compact is false
PASS e = make('dir'); e.setAttribute('compact', ''); e.compact is true
PASS e = make('dir'); e.setAttribute('compact', 'x'); e.compact = false; e.getAttribute('compact') is null
PASS e = make('dir'); e.setAttribute('compact', 'x'); e.compact = true; e.getAttribute('compact') is ''
PASS e = make('dl'); e.removeAttribute('compact'); e.compact is false
PASS e = make('dl'); e.setAttribute('compact', ''); e.compact is true
PASS e = make('dl'); e.setAttribute('compact', 'x'); e.compact = false; e.getAttribute('compact') is null
PASS e = make('dl'); e.setAttribute('compact', 'x'); e.compact = true; e.getAttribute('compact') is ''
PASS e = make('form'); e.removeAttribute('novalidate'); e.noValidate is false
PASS e = make('form'); e.setAttribute('novalidate', ''); e.noValidate is true
PASS e = make('form'); e.setAttribute('novalidate', 'x'); e.noValidate = false; e.getAttribute('novalidate') is null
PASS e = make('form'); e.setAttribute('novalidate', 'x'); e.noValidate = true; e.getAttribute('novalidate') is ''
PASS e = make('frame'); e.removeAttribute('noresize'); e.noResize is false
PASS e = make('frame'); e.setAttribute('noresize', ''); e.noResize is true
PASS e = make('frame'); e.setAttribute('noresize', 'x'); e.noResize = false; e.getAttribute('noresize') is null
PASS e = make('frame'); e.setAttribute('noresize', 'x'); e.noResize = true; e.getAttribute('noresize') is ''
PASS e = make('hr'); e.removeAttribute('noshade'); e.noShade is false
PASS e = make('hr'); e.setAttribute('noshade', ''); e.noShade is true
PASS e = make('hr'); e.setAttribute('noshade', 'x'); e.noShade = false; e.getAttribute('noshade') is null
PASS e = make('hr'); e.setAttribute('noshade', 'x'); e.noShade = true; e.getAttribute('noshade') is ''
PASS e = make('iframe'); e.removeAttribute('allowfullscreen'); e.allowFullscreen is false
PASS e = make('iframe'); e.setAttribute('allowfullscreen', ''); e.allowFullscreen is true
PASS e = make('iframe'); e.setAttribute('allowfullscreen', 'x'); e.allowFullscreen = false; e.getAttribute('allowfullscreen') is null
PASS e = make('iframe'); e.setAttribute('allowfullscreen', 'x'); e.allowFullscreen = true; e.getAttribute('allowfullscreen') is ''
PASS e = make('img'); e.removeAttribute('ismap'); e.isMap is false
PASS e = make('img'); e.setAttribute('ismap', ''); e.isMap is true
PASS e = make('img'); e.setAttribute('ismap', 'x'); e.isMap = false; e.getAttribute('ismap') is null
PASS e = make('img'); e.setAttribute('ismap', 'x'); e.isMap = true; e.getAttribute('ismap') is ''
PASS e = make('input'); e.removeAttribute('autofocus'); e.autofocus is false
PASS e = make('input'); e.setAttribute('autofocus', ''); e.autofocus is true
PASS e = make('input'); e.setAttribute('autofocus', 'x'); e.autofocus = false; e.getAttribute('autofocus') is null
PASS e = make('input'); e.setAttribute('autofocus', 'x'); e.autofocus = true; e.getAttribute('autofocus') is ''
PASS e = make('input'); e.removeAttribute('checked'); e.defaultChecked is false
PASS e = make('input'); e.setAttribute('checked', ''); e.defaultChecked is true
PASS e = make('input'); e.setAttribute('checked', 'x'); e.defaultChecked = false; e.getAttribute('checked') is null
PASS e = make('input'); e.setAttribute('checked', 'x'); e.defaultChecked = true; e.getAttribute('checked') is ''
PASS e = make('input'); e.removeAttribute('disabled'); e.disabled is false
PASS e = make('input'); e.setAttribute('disabled', ''); e.disabled is true
PASS e = make('input'); e.setAttribute('disabled', 'x'); e.disabled = false; e.getAttribute('disabled') is null
PASS e = make('input'); e.setAttribute('disabled', 'x'); e.disabled = true; e.getAttribute('disabled') is ''
PASS e = make('input'); e.removeAttribute('formnovalidate'); e.formNoValidate is false
PASS e = make('input'); e.setAttribute('formnovalidate', ''); e.formNoValidate is true
PASS e = make('input'); e.setAttribute('formnovalidate', 'x'); e.formNoValidate = false; e.getAttribute('formnovalidate') is null
PASS e = make('input'); e.setAttribute('formnovalidate', 'x'); e.formNoValidate = true; e.getAttribute('formnovalidate') is ''
PASS e = make('input'); e.removeAttribute('multiple'); e.multiple is false
PASS e = make('input'); e.setAttribute('multiple', ''); e.multiple is true
PASS e = make('input'); e.setAttribute('multiple', 'x'); e.multiple = false; e.getAttribute('multiple') is null
PASS e = make('input'); e.setAttribute('multiple', 'x'); e.multiple = true; e.getAttribute('multiple') is ''
PASS e = make('input'); e.removeAttribute('readonly'); e.readOnly is false
PASS e = make('input'); e.setAttribute('readonly', ''); e.readOnly is true
PASS e = make('input'); e.setAttribute('readonly', 'x'); e.readOnly = false; e.getAttribute('readonly') is null
PASS e = make('input'); e.setAttribute('readonly', 'x'); e.readOnly = true; e.getAttribute('readonly') is ''
PASS e = make('input'); e.removeAttribute('required'); e.required is false
PASS e = make('input'); e.setAttribute('required', ''); e.required is true
PASS e = make('input'); e.setAttribute('required', 'x'); e.required = false; e.getAttribute('required') is null
PASS e = make('input'); e.setAttribute('required', 'x'); e.required = true; e.getAttribute('required') is ''
PASS e = make('link'); e.removeAttribute('disabled'); e.disabled is false
PASS e = make('link'); e.setAttribute('disabled', ''); e.disabled is true
PASS e = make('link'); e.setAttribute('disabled', 'x'); e.disabled = false; e.getAttribute('disabled') is null
PASS e = make('link'); e.setAttribute('disabled', 'x'); e.disabled = true; e.getAttribute('disabled') is ''
PASS e = make('menu'); e.removeAttribute('compact'); e.compact is false
PASS e = make('menu'); e.setAttribute('compact', ''); e.compact is true
PASS e = make('menu'); e.setAttribute('compact', 'x'); e.compact = false; e.getAttribute('compact') is null
PASS e = make('menu'); e.setAttribute('compact', 'x'); e.compact = true; e.getAttribute('compact') is ''
PASS e = make('object'); e.removeAttribute('declare'); e.declare is false
PASS e = make('object'); e.setAttribute('declare', ''); e.declare is true
PASS e = make('object'); e.setAttribute('declare', 'x'); e.declare = false; e.getAttribute('declare') is null
PASS e = make('object'); e.setAttribute('declare', 'x'); e.declare = true; e.getAttribute('declare') is ''
PASS e = make('ol'); e.removeAttribute('compact'); e.compact is false
PASS e = make('ol'); e.setAttribute('compact', ''); e.compact is true
PASS e = make('ol'); e.setAttribute('compact', 'x'); e.compact = false; e.getAttribute('compact') is null
PASS e = make('ol'); e.setAttribute('compact', 'x'); e.compact = true; e.getAttribute('compact') is ''
PASS e = make('option'); e.removeAttribute('selected'); e.defaultSelected is false
PASS e = make('option'); e.setAttribute('selected', ''); e.defaultSelected is true
PASS e = make('option'); e.setAttribute('selected', 'x'); e.defaultSelected = false; e.getAttribute('selected') is null
PASS e = make('option'); e.setAttribute('selected', 'x'); e.defaultSelected = true; e.getAttribute('selected') is ''
PASS e = make('script'); e.removeAttribute('defer'); e.defer is false
PASS e = make('script'); e.setAttribute('defer', ''); e.defer is true
PASS e = make('script'); e.setAttribute('defer', 'x'); e.defer = false; e.getAttribute('defer') is null
PASS e = make('script'); e.setAttribute('defer', 'x'); e.defer = true; e.getAttribute('defer') is ''
PASS e = make('select'); e.removeAttribute('multiple'); e.multiple is false
PASS e = make('select'); e.setAttribute('multiple', ''); e.multiple is true
PASS e = make('select'); e.setAttribute('multiple', 'x'); e.multiple = false; e.getAttribute('multiple') is null
PASS e = make('select'); e.setAttribute('multiple', 'x'); e.multiple = true; e.getAttribute('multiple') is ''
PASS e = make('td'); e.removeAttribute('nowrap'); e.noWrap is false
PASS e = make('td'); e.setAttribute('nowrap', ''); e.noWrap is true
PASS e = make('td'); e.setAttribute('nowrap', 'x'); e.noWrap = false; e.getAttribute('nowrap') is null
PASS e = make('td'); e.setAttribute('nowrap', 'x'); e.noWrap = true; e.getAttribute('nowrap') is ''
PASS e = make('ul'); e.removeAttribute('compact'); e.compact is false
PASS e = make('ul'); e.setAttribute('compact', ''); e.compact is true
PASS e = make('ul'); e.setAttribute('compact', 'x'); e.compact = false; e.getAttribute('compact') is null
PASS e = make('ul'); e.setAttribute('compact', 'x'); e.compact = true; e.getAttribute('compact') is ''
PASS e = make('video'); e.removeAttribute('autoplay'); e.autoplay is false
PASS e = make('video'); e.setAttribute('autoplay', ''); e.autoplay is true
PASS e = make('video'); e.setAttribute('autoplay', 'x'); e.autoplay = false; e.getAttribute('autoplay') is null
PASS e = make('video'); e.setAttribute('autoplay', 'x'); e.autoplay = true; e.getAttribute('autoplay') is ''
PASS e = make('video'); e.removeAttribute('controls'); e.controls is false
PASS e = make('video'); e.setAttribute('controls', ''); e.controls is true
PASS e = make('video'); e.setAttribute('controls', 'x'); e.controls = false; e.getAttribute('controls') is null
PASS e = make('video'); e.setAttribute('controls', 'x'); e.controls = true; e.getAttribute('controls') is ''
PASS e = make('video'); e.removeAttribute('loop'); e.loop is false
PASS e = make('video'); e.setAttribute('loop', ''); e.loop is true
PASS e = make('video'); e.setAttribute('loop', 'x'); e.loop = false; e.getAttribute('loop') is null
PASS e = make('video'); e.setAttribute('loop', 'x'); e.loop = true; e.getAttribute('loop') is ''
PASS successfullyParsed is true
TEST COMPLETE