# Path: wdom/options.py
# def level_to_int(level: Union[str, int]) -> int:
# def set_loglevel(level: Union[int, str, None] = None) -> None:
# def parse_command_line() -> Namespace:
# 
# Path: wdom/tag.py
# class Tag(WdomElement):
# class NestedTag(Tag):
# class Input(Tag, HTMLInputElement):
# class Textarea(Tag, HTMLTextAreaElement):  # noqa: D204
# class Script(Tag, HTMLScriptElement):  # noqa: D204
# class RawHtmlNode(Tag):
#     def __init__(self, *args: Any, attrs: Dict[str, _AttrValueType] = None,
#                  **kwargs: Any) -> None:
#     def _clone_node(self) -> 'Tag':
#     def type(self) -> _AttrValueType:  # noqa: D102
#     def type(self, val: str) -> None:  # noqa: D102
#     def __init__(self, *args: Any, **kwargs: Any) -> None:
#     def appendChild(self, child: Node) -> Node:  # noqa: D102
#     def insertBefore(self, child: Node, ref_node: Node) -> Node:  # noqa: D102
#     def removeChild(self, child: Node) -> Node:  # noqa: D102
#     def replaceChild(self, new_child: Node, old_child: Node
#                      ) -> Node:  # noqa: D102
#     def childNodes(self) -> NodeList:  # noqa: D102
#     def empty(self) -> None:  # noqa: D102
#     def textContent(self, text: str) -> None:  # type: ignore
#     def html(self) -> str:
#     def innerHTML(self) -> str:
#     def innerHTML(self, html: str) -> None:
# def NewTagClass(class_name: str, tag: str = None,
#                 bases: Union[type, Iterable] = (Tag, ),
#                 **kwargs: Any) -> type:
#     def __init__(self, *args: Any, **kwargs: Any) -> None:
#     def value(self) -> str:
#     def value(self, value: str) -> None:
#     def __init__(self, *args: Any, type: str = 'text/javascript',
#                  **kwargs: Any) -> None:
#     def __init__(self, *args: Any, **kwargs: Any) -> None:
# H1 = NewTagClass('H1')
# H2 = NewTagClass('H2')
# H3 = NewTagClass('H3')
# H4 = NewTagClass('H4')
# H5 = NewTagClass('H5')
# H6 = NewTagClass('H6')
# P = NewTagClass('P')
# A = NewTagClass('A', 'a', (Tag, HTMLAnchorElement))
# U = NewTagClass('U')
# 
# Path: tests/base.py
# class TestCase(unittest.TestCase):
#     """Base class for testing wdom modules.
# 
#     This class is a sub class of the ``unittest.TestCase``. After all test
#     methods, reset wdom's global objects like document, application, and
#     elements. If you use ``tearDown`` method, do not forget to call
#     ``super().tearDown()``.
#     """
# 
#     def setUp(self) -> None:
#         """Reset WDOM states."""
#         super().setUp()
#         reset()
# 
#     def tearDown(self) -> None:
#         """Reset WDOM states."""
#         reset()
#         super().tearDown()
# 
#     def assertIsTrue(self, bl: bool) -> None:
#         """Check arg is exactly True, not truthy."""
#         self.assertIs(bl, True)
# 
#     def assertIsFalse(self, bl: bool) -> None:
#         """Check arg is exactly False, not falsy."""
#         self.assertIs(bl, False)


import sys
import logging
import unittest
from copy import copy
from importlib import reload
from parameterized import parameterized
from wdom.options import parse_command_line, config, set_loglevel
from wdom import tag
from .base import TestCase
        from wdom.themes import default
        from wdom.themes import bootstrap3
#!/usr/bin/env python3
# -*- coding: utf-8 -*-





_argv = copy(sys.argv)
_config = copy(vars(config))


def reset_options():
    sys.argv = copy(_argv)
    for k, v in _config.items():
        setattr(config, k, v)


class TestOptions(TestCase):
    def tearDown(self):
        reset_options()
        super().tearDown()

    def test_default_loglevel(self):

# Path: wdom/options.py
# def level_to_int(level: Union[str, int]) -> int:
# def set_loglevel(level: Union[int, str, None] = None) -> None:
# def parse_command_line() -> Namespace:
# 
# Path: wdom/tag.py
# class Tag(WdomElement):
# class NestedTag(Tag):
# class Input(Tag, HTMLInputElement):
# class Textarea(Tag, HTMLTextAreaElement):  # noqa: D204
# class Script(Tag, HTMLScriptElement):  # noqa: D204
# class RawHtmlNode(Tag):
#     def __init__(self, *args: Any, attrs: Dict[str, _AttrValueType] = None,
#                  **kwargs: Any) -> None:
#     def _clone_node(self) -> 'Tag':
#     def type(self) -> _AttrValueType:  # noqa: D102
#     def type(self, val: str) -> None:  # noqa: D102
#     def __init__(self, *args: Any, **kwargs: Any) -> None:
#     def appendChild(self, child: Node) -> Node:  # noqa: D102
#     def insertBefore(self, child: Node, ref_node: Node) -> Node:  # noqa: D102
#     def removeChild(self, child: Node) -> Node:  # noqa: D102
#     def replaceChild(self, new_child: Node, old_child: Node
#                      ) -> Node:  # noqa: D102
#     def childNodes(self) -> NodeList:  # noqa: D102
#     def empty(self) -> None:  # noqa: D102
#     def textContent(self, text: str) -> None:  # type: ignore
#     def html(self) -> str:
#     def innerHTML(self) -> str:
#     def innerHTML(self, html: str) -> None:
# def NewTagClass(class_name: str, tag: str = None,
#                 bases: Union[type, Iterable] = (Tag, ),
#                 **kwargs: Any) -> type:
#     def __init__(self, *args: Any, **kwargs: Any) -> None:
#     def value(self) -> str:
#     def value(self, value: str) -> None:
#     def __init__(self, *args: Any, type: str = 'text/javascript',
#                  **kwargs: Any) -> None:
#     def __init__(self, *args: Any, **kwargs: Any) -> None:
# H1 = NewTagClass('H1')
# H2 = NewTagClass('H2')
# H3 = NewTagClass('H3')
# H4 = NewTagClass('H4')
# H5 = NewTagClass('H5')
# H6 = NewTagClass('H6')
# P = NewTagClass('P')
# A = NewTagClass('A', 'a', (Tag, HTMLAnchorElement))
# U = NewTagClass('U')
# 
# Path: tests/base.py
# class TestCase(unittest.TestCase):
#     """Base class for testing wdom modules.
# 
#     This class is a sub class of the ``unittest.TestCase``. After all test
#     methods, reset wdom's global objects like document, application, and
#     elements. If you use ``tearDown`` method, do not forget to call
#     ``super().tearDown()``.
#     """
# 
#     def setUp(self) -> None:
#         """Reset WDOM states."""
#         super().setUp()
#         reset()
# 
#     def tearDown(self) -> None:
#         """Reset WDOM states."""
#         reset()
#         super().tearDown()
# 
#     def assertIsTrue(self, bl: bool) -> None:
#         """Check arg is exactly True, not truthy."""
#         self.assertIs(bl, True)
# 
#     def assertIsFalse(self, bl: bool) -> None:
#         """Check arg is exactly False, not falsy."""
#         self.assertIs(bl, False)


# Path: tests/test_options.py
import sys
import logging
import unittest
from copy import copy
from importlib import reload
from parameterized import parameterized
from wdom.options import parse_command_line, config, set_loglevel
from wdom import tag
from .base import TestCase
        from wdom.themes import default
        from wdom.themes import bootstrap3

#!/usr/bin/env python3
# -*- coding: utf-8 -*-





_argv = copy(sys.argv)
_config = copy(vars(config))


def reset_options():
    sys.argv = copy(_argv)
    for k, v in _config.items():
        setattr(config, k, v)


class TestOptions(TestCase):
    def tearDown(self):
        reset_options()
        super().tearDown()

    def test_default_loglevel(self):

        parse_command_line()