| Server IP : 127.0.1.1 / Your IP : 216.73.216.152 Web Server : Apache/2.4.52 (Ubuntu) System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/2792866/cwd/lib/python3/dist-packages/twisted/test/ |
Upload File : |
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Test cases for formmethod module.
"""
from twisted.python import formmethod
from twisted.trial import unittest
class ArgumentTests(unittest.TestCase):
def argTest(self, argKlass, testPairs, badValues, *args, **kwargs):
arg = argKlass("name", *args, **kwargs)
for val, result in testPairs:
self.assertEqual(arg.coerce(val), result)
for val in badValues:
self.assertRaises(formmethod.InputError, arg.coerce, val)
def test_argument(self):
"""
Test that corce correctly raises NotImplementedError.
"""
arg = formmethod.Argument("name")
self.assertRaises(NotImplementedError, arg.coerce, "")
def testString(self):
self.argTest(formmethod.String, [("a", "a"), (1, "1"), ("", "")], ())
self.argTest(
formmethod.String, [("ab", "ab"), ("abc", "abc")], ("2", ""), min=2
)
self.argTest(
formmethod.String, [("ab", "ab"), ("a", "a")], ("223213", "345x"), max=3
)
self.argTest(
formmethod.String,
[("ab", "ab"), ("add", "add")],
("223213", "x"),
min=2,
max=3,
)
def testInt(self):
self.argTest(
formmethod.Integer, [("3", 3), ("-2", -2), ("", None)], ("q", "2.3")
)
self.argTest(
formmethod.Integer, [("3", 3), ("-2", -2)], ("q", "2.3", ""), allowNone=0
)
def testFloat(self):
self.argTest(
formmethod.Float, [("3", 3.0), ("-2.3", -2.3), ("", None)], ("q", "2.3z")
)
self.argTest(
formmethod.Float,
[("3", 3.0), ("-2.3", -2.3)],
("q", "2.3z", ""),
allowNone=0,
)
def testChoice(self):
choices = [("a", "apple", "an apple"), ("b", "banana", "ook")]
self.argTest(
formmethod.Choice,
[("a", "apple"), ("b", "banana")],
("c", 1),
choices=choices,
)
def testFlags(self):
flags = [("a", "apple", "an apple"), ("b", "banana", "ook")]
self.argTest(
formmethod.Flags,
[(["a"], ["apple"]), (["b", "a"], ["banana", "apple"])],
(["a", "c"], ["fdfs"]),
flags=flags,
)
def testBoolean(self):
tests = [("yes", 1), ("", 0), ("False", 0), ("no", 0)]
self.argTest(formmethod.Boolean, tests, ())
def test_file(self):
"""
Test the correctness of the coerce function.
"""
arg = formmethod.File("name", allowNone=0)
self.assertEqual(arg.coerce("something"), "something")
self.assertRaises(formmethod.InputError, arg.coerce, None)
arg2 = formmethod.File("name")
self.assertIsNone(arg2.coerce(None))
def testDate(self):
goodTests = {
("2002", "12", "21"): (2002, 12, 21),
("1996", "2", "29"): (1996, 2, 29),
("", "", ""): None,
}.items()
badTests = [
("2002", "2", "29"),
("xx", "2", "3"),
("2002", "13", "1"),
("1999", "12", "32"),
("2002", "1"),
("2002", "2", "3", "4"),
]
self.argTest(formmethod.Date, goodTests, badTests)
def testRangedInteger(self):
goodTests = {"0": 0, "12": 12, "3": 3}.items()
badTests = ["-1", "x", "13", "-2000", "3.4"]
self.argTest(formmethod.IntegerRange, goodTests, badTests, 0, 12)
def testVerifiedPassword(self):
goodTests = {("foo", "foo"): "foo", ("ab", "ab"): "ab"}.items()
badTests = [
("ab", "a"),
("12345", "12345"),
("", ""),
("a", "a"),
("a",),
("a", "a", "a"),
]
self.argTest(formmethod.VerifiedPassword, goodTests, badTests, min=2, max=4)