ϪfBdZddlmZddlmZddlmZGddeZy)zY Tests for L{twisted.internet.abstract}, a collection of APIs for implementing reactors. ) annotations) isIPv6Address)SynchronousTestCasec@eZdZdZd dZd dZd dZd dZd dZd dZ y) IPv6AddressTestszw Tests for L{isIPv6Address}, a function for determining if a particular string is an IPv6 address literal. c8|jtdy)zB The empty string is not an IPv6 address literal. N assertFalserselfs E/usr/lib/python3/dist-packages/twisted/internet/test/test_abstract.py test_emptyzIPv6AddressTests.test_emptys r*+c8|jtdy)zA A single C{":"} is not an IPv6 address literal. :Nr r s r test_colonzIPv6AddressTests.test_colons s+,rc8|jtdy)z@ C{"::1"} is the IPv6 loopback address literal. z::1N assertTruerr s r test_loopbackzIPv6AddressTests.test_loopback s  e,-rc|jtd|jtd|jtdy)z An otherwise valid IPv6 address literal may also include a C{"%"} followed by an arbitrary scope identifier. z fe80::1%eth0 fe80::2%1z fe80::3%en2Nrr s r test_scopeIDzIPv6AddressTests.test_scopeID&s7  n56  k23  m45rc|jtd|jtd|jtdy)zv An otherwise invalid IPv6 address literal is still invalid with a trailing scope identifier. z%eth0z:%eth0 hello%eth0Nr r s rtest_invalidWithScopeIDz(IPv6AddressTests.test_invalidWithScopeID/s= w/0 x01 |45rc|jtd|jtd|jtd|jtd|jtdy)zQ L{isIPv6Address} evaluates ASCII-encoded bytes as well as text. s fe80::2%1ru䌡rs hello%eth0N)rrr r s rtest_unicodeAndBytesz%IPv6AddressTests.test_unicodeAndBytes8s_  l34  k23 x01 |45 }56rN)returnNone) __name__ __module__ __qualname____doc__rrrrrrrrrrs% , - . 66 7rrN)r% __future__rtwisted.internet.abstractrtwisted.trial.unittestrrr&rrr*s"#3647*47r