1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
7 from tvcm import style_sheet
8 from tvcm import project as project_module
9 from tvcm import resource_loader
10 from tvcm import fake_fs
11 from tvcm import module
13 class StyleSheetUnittest(unittest.TestCase):
16 fs.AddFile('/src/foo/x.css', """
18 background-image: url(../images/bar.jpeg);
21 fs.AddFile('/src/images/bar.jpeg', 'hello world')
23 project = project_module.Project(['/src/'],
24 include_tvcm_paths=False)
25 loader = resource_loader.ResourceLoader(project)
27 foo_x = loader.load_style_sheet('foo.x')
28 self.assertEquals(1, len(foo_x.images))
31 self.assertEquals('/src/images/bar.jpeg', r0.absolute_path)
33 inlined = foo_x.contents_with_inlined_images
36 background-image: url(data:image/jpeg;base64,%s);
38 """ % base64.standard_b64encode('hello world'), inlined)
42 def testURLResolveFails(self):
44 fs.AddFile('/src/foo/x.css', """
46 background-image: url(../images/missing.jpeg);
50 project = project_module.Project(['/src/'],
51 include_tvcm_paths=False)
52 loader = resource_loader.ResourceLoader(project)
54 self.assertRaises(module.DepsException,
55 lambda: loader.load_style_sheet('foo.x'))