Beispiel #1
0
class Test_make_content(tests.IrisTest):
    def setUp(self):
        self.cubes = CubeList([stock.simple_3d(), stock.lat_lon_cube()])
        self.cubes[0].rename('name & <html>')
        self.representer = CubeListRepresentation(self.cubes)
        self.content = self.representer.make_content()

    def test_repr_len(self):
        self.assertEqual(len(self.cubes), len(self.content))

    def test_summary_lines(self):
        names = [c.name() for c in self.cubes]
        for name, content in zip(names, self.content):
            name = escape(name)
            self.assertIn(name, content)

    def test__cube_name_summary_consistency(self):
        # Just check the first cube in the CubeList.
        single_cube_html = self.content[0]
        first_contents_line = single_cube_html.split('\n')[1]
        # Get a "prettified" cube name, as it should be in the cubelist repr.
        cube_name = self.cubes[0].name()
        pretty_cube_name = cube_name.strip().replace('_', ' ').title()
        pretty_escaped_name = escape(pretty_cube_name)
        self.assertIn(pretty_escaped_name, single_cube_html)
Beispiel #2
0
class Test_repr_html(tests.IrisTest):
    def setUp(self):
        self.cubes = CubeList([stock.simple_3d(), stock.lat_lon_cube()])
        self.representer = CubeListRepresentation(self.cubes)

    def test_html_length(self):
        html = self.representer.repr_html()
        n_html_elems = html.count('<button')  # One <button> tag per cube.
        self.assertEqual(len(self.cubes), n_html_elems)
class Test_make_content(tests.IrisTest):
    def setUp(self):
        self.cubes = CubeList([stock.simple_3d(), stock.lat_lon_cube()])
        self.representer = CubeListRepresentation(self.cubes)
        self.content = self.representer.make_content()

    def test_repr_len(self):
        self.assertEqual(len(self.cubes), len(self.content))

    def test_summary_lines(self):
        names = [c.name() for c in self.cubes]
        for name, content in zip(names, self.content):
            self.assertIn(name, content)

    def test__cube_name_summary_consistency(self):
        # Just check the first cube in the CubeList.
        single_cube_html = self.content[0]
        first_contents_line = single_cube_html.split('\n')[1]
        # Get the cube name out of the repr html...
        cube_name = first_contents_line.split('>0: ')[1].split('/')[0]
        # ... and prettify it (to be the same as in the following cube repr).
        pretty_cube_name = cube_name.strip().replace('_', ' ').title()
        self.assertIn(pretty_cube_name, single_cube_html)
Beispiel #4
0
 def setUp(self):
     self.cubes = CubeList([stock.simple_3d(), stock.lat_lon_cube()])
     self.representer = CubeListRepresentation(self.cubes)
Beispiel #5
0
 def setUp(self):
     self.cubes = CubeList([stock.simple_3d(), stock.lat_lon_cube()])
     self.cubes[0].rename('name & <html>')
     self.representer = CubeListRepresentation(self.cubes)
     self.content = self.representer.make_content()