1# Copyright (c) Twisted Matrix Laboratories.
2# See LICENSE for details.
3
4"""
5Tests for Nevow package sundries.
6"""
7
8from twisted.python.versions import Version
9from twisted.trial.unittest import SynchronousTestCase
10
11import nevow
12
13class VersionTests(SynchronousTestCase):
14    """
15    Tests for the version information exposed by the top-level L{nevow}
16    package.
17    """
18    def test_version(self):
19        """
20        L{nevow.version} is a L{Version} instance
21        """
22        self.assertIsInstance(nevow.version, Version)
23
24
25    def test_name(self):
26        """
27        L{nevow.version} names Nevow.
28        """
29        self.assertEqual("nevow", nevow.version.package)
30
31
32    def test_versionComponents(self):
33        """
34        L{nevow.version} gives the major, minor, and micro version numbers as
35        integers.
36        """
37        self.assertEqual(
38            (int, int, int),
39            tuple(
40                type(info) for info
41                in [nevow.version.major, nevow.version.minor, nevow.version.micro]))
42
43
44    def test_versionInfo(self):
45        """
46        L{nevow.__version_info__} is a L{tuple} giving the same version numbers
47        as L{nevow.version}.
48        """
49        self.assertEqual(
50            nevow.__version_info__,
51            (nevow.version.major, nevow.version.minor, nevow.version.micro))
52
53
54    def test_versionString(self):
55        """
56        L{nevow.__version__} is a L{str} giving at least as much information as
57        is given by L{nevow.__version_info__}.
58        """
59        self.assertIn("%d.%d.%d" % nevow.__version_info__, nevow.__version__)
60