use Moonshine::Test qw/:all/;

use Moonshine::Util qw/valid_attributes_for_tag/;

moon_test_one(
    meth      => \&Moonshine::Util::valid_attributes_for_tag,
    args      => [ 'p' ],
    args_list => 1,
    test      => 'ref',
    expected  => [
          'accesskey',
          'class',
          'content',
          'dir',
          'id',
          'itemid',
          'itemprop',
          'itemref',
          'itemscope',
          'itemtype',
          'lang',
          'onblur',
          'onchange',
          'onclick',
          'ondblclick',
          'onfocus',
          'onkeydown',
          'onkeypress',
          'onkeyup',
          'onload',
          'onmousedown',
          'onmousemove',
          'onmouseout',
          'onmouseover',
          'onmouseup',
          'onreset',
          'onselect',
          'onsubmit',
          'rel',
          'rev',
          'role',
          'style',
          'tabindex',
          'title',
          'translate',
          'xml:lang',
          'xmlns',
          'contenteditable',
          'contextmenu',
          'draggable',
          'dropzone',
          'hidden',
          'onabort',
          'oncanplay',
          'oncanplaythrough',
          'oncontextmenu',
          'oncuechange',
          'ondrag',
          'ondragend',
          'ondragenter',
          'ondragleave',
          'ondragover',
          'ondragstart',
          'ondrop',
          'ondurationchange',
          'onemptied',
          'onended',
          'onerror',
          'oninput',
          'oninvalid',
          'onloadeddata',
          'onloadedmetadata',
          'onloadstart',
          'onmousewheel',
          'onpause',
          'onplay',
          'onplaying',
          'onprogress',
          'onratechange',
          'onreadystatechange',
          'onscroll',
          'onseeked',
          'onseeking',
          'onshow',
          'onstalled',
          'onsuspend',
          'ontimeupdate',
          'onvolumechange',
          'onwaiting',
          'spellcheck',
          'aria-activedescendant',
          'aria-atomic',
          'aria-autocomplete',
          'aria-busy',
          'aria-checked',
          'aria-controls',
          'aria-describedby',
          'aria-disabled',
          'aria-dropeffect',
          'aria-expanded',
          'aria-flowto',
          'aria-grabbed',
          'aria-haspopup',
          'aria-hidden',
          'aria-invalid',
          'aria-label',
          'aria-labelledby',
          'aria-level',
          'aria-live',
          'aria-multiline',
          'aria-multiselectable',
          'aria-orientation',
          'aria-owns',
          'aria-posinset',
          'aria-pressed',
          'aria-readonly',
          'aria-relevant',
          'aria-required',
          'aria-selected',
          'aria-setsize',
          'aria-sort',
          'aria-valuemax',
          'aria-valuemin',
          'aria-valuenow',
          'aria-valuetext',
          'about',
          'datatype',
          'inlist',
          'prefix',
          'property',
          'resource',
          'typeof',
          'vocab'
        ],
);

moon_test_one(
    meth      => \&Moonshine::Util::valid_attributes_for_tag,
    args      => [ 'p', standard => 'html5' ],
    args_list => 1,
    test      => 'ref',
    expected  => [
          'accesskey',
          'class',
          'content',
          'dir',
          'id',
          'itemid',
          'itemprop',
          'itemref',
          'itemscope',
          'itemtype',
          'lang',
          'onblur',
          'onchange',
          'onclick',
          'ondblclick',
          'onfocus',
          'onkeydown',
          'onkeypress',
          'onkeyup',
          'onload',
          'onmousedown',
          'onmousemove',
          'onmouseout',
          'onmouseover',
          'onmouseup',
          'onreset',
          'onselect',
          'onsubmit',
          'rel',
          'rev',
          'role',
          'style',
          'tabindex',
          'title',
          'translate',
          'xml:lang',
          'xmlns',
          'contenteditable',
          'contextmenu',
          'draggable',
          'dropzone',
          'hidden',
          'onabort',
          'oncanplay',
          'oncanplaythrough',
          'oncontextmenu',
          'oncuechange',
          'ondrag',
          'ondragend',
          'ondragenter',
          'ondragleave',
          'ondragover',
          'ondragstart',
          'ondrop',
          'ondurationchange',
          'onemptied',
          'onended',
          'onerror',
          'oninput',
          'oninvalid',
          'onloadeddata',
          'onloadedmetadata',
          'onloadstart',
          'onmousewheel',
          'onpause',
          'onplay',
          'onplaying',
          'onprogress',
          'onratechange',
          'onreadystatechange',
          'onscroll',
          'onseeked',
          'onseeking',
          'onshow',
          'onstalled',
          'onsuspend',
          'ontimeupdate',
          'onvolumechange',
          'onwaiting',
          'spellcheck',
          'aria-activedescendant',
          'aria-atomic',
          'aria-autocomplete',
          'aria-busy',
          'aria-checked',
          'aria-controls',
          'aria-describedby',
          'aria-disabled',
          'aria-dropeffect',
          'aria-expanded',
          'aria-flowto',
          'aria-grabbed',
          'aria-haspopup',
          'aria-hidden',
          'aria-invalid',
          'aria-label',
          'aria-labelledby',
          'aria-level',
          'aria-live',
          'aria-multiline',
          'aria-multiselectable',
          'aria-orientation',
          'aria-owns',
          'aria-posinset',
          'aria-pressed',
          'aria-readonly',
          'aria-relevant',
          'aria-required',
          'aria-selected',
          'aria-setsize',
          'aria-sort',
          'aria-valuemax',
          'aria-valuemin',
          'aria-valuenow',
          'aria-valuetext',
          'about',
          'datatype',
          'inlist',
          'prefix',
          'property',
          'resource',
          'typeof',
          'vocab'
        ],
);

sunrise(2, '(ツ)');

1;
