~mvo/click/click-check-libs

« back to all changes in this revision

Viewing changes to click/tests/test_framework.py

  • Committer: Colin Watson
  • Date: 2014-07-10 13:30:24 UTC
  • mfrom: (487.1.2 improve-coverage)
  • Revision ID: cjwatson@canonical.com-20140710133024-937uyza9k0e3y1re
[r=mvo] Add many more unit tests to fill in some gaps in the coverage report.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
 
28
28
from gi.repository import Click
29
29
 
30
 
from click.tests.helpers import TestCase
 
30
from click.tests.helpers import TestCase, touch
31
31
 
32
32
 
33
33
class TestClickFramework(TestCase):
78
78
                ["ubuntu-sdk-13.10", "ubuntu-sdk-14.04", "ubuntu-sdk-14.10"],
79
79
                sorted(f.props.name for f in Click.Framework.get_frameworks()))
80
80
 
 
81
    def test_get_frameworks_nonexistent(self):
 
82
        with self.run_in_subprocess(
 
83
                "click_get_frameworks_dir") as (enter, preloads):
 
84
            enter()
 
85
            frameworks_dir = os.path.join(self.temp_dir, "nonexistent")
 
86
            preloads["click_get_frameworks_dir"].side_effect = (
 
87
                lambda: self.make_string(frameworks_dir))
 
88
            self.assertEqual([], Click.Framework.get_frameworks())
 
89
 
 
90
    def test_get_frameworks_not_directory(self):
 
91
        with self.run_in_subprocess(
 
92
                "click_get_frameworks_dir") as (enter, preloads):
 
93
            enter()
 
94
            path = os.path.join(self.temp_dir, "file")
 
95
            touch(path)
 
96
            preloads["click_get_frameworks_dir"].side_effect = (
 
97
                lambda: self.make_string(path))
 
98
            self.assertEqual([], Click.Framework.get_frameworks())
 
99
 
 
100
    def test_get_frameworks_ignores_other_files(self):
 
101
        with self.run_in_subprocess(
 
102
                "click_get_frameworks_dir") as (enter, preloads):
 
103
            enter()
 
104
            frameworks_dir = os.path.join(self.temp_dir, "frameworks")
 
105
            Click.ensuredir(frameworks_dir)
 
106
            touch(os.path.join(frameworks_dir, "file"))
 
107
            preloads["click_get_frameworks_dir"].side_effect = (
 
108
                lambda: self.make_string(frameworks_dir))
 
109
            self.assertEqual([], Click.Framework.get_frameworks())
 
110
 
 
111
    def test_get_frameworks_ignores_unopenable_files(self):
 
112
        with self.run_in_subprocess(
 
113
                "click_get_frameworks_dir") as (enter, preloads):
 
114
            enter()
 
115
            frameworks_dir = os.path.join(self.temp_dir, "frameworks")
 
116
            Click.ensuredir(frameworks_dir)
 
117
            os.symlink(
 
118
                "nonexistent", os.path.join(frameworks_dir, "foo.framework"))
 
119
            preloads["click_get_frameworks_dir"].side_effect = (
 
120
                lambda: self.make_string(frameworks_dir))
 
121
            self.assertEqual([], Click.Framework.get_frameworks())
 
122
 
81
123
    def test_fields(self):
82
124
        with self.run_in_subprocess(
83
125
                "click_get_frameworks_dir") as (enter, preloads):