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.
4
5import shutil
6import tempfile
7
8from measurements import skpicture_printer
9from telemetry.unittest import options_for_unittests
10from telemetry.unittest import page_test_test_case
11from telemetry.unittest import test
12
13
14class SkpicturePrinterUnitTest(page_test_test_case.PageTestTestCase):
15  def setUp(self):
16    self._options = options_for_unittests.GetCopy()
17    self._options.skp_outdir = tempfile.mkdtemp('_skp_test')
18
19  def tearDown(self):
20    shutil.rmtree(self._options.skp_outdir)
21
22  @test.Disabled('android')
23  def testSkpicturePrinter(self):
24    ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html')
25    measurement = skpicture_printer.SkpicturePrinter()
26    results = self.RunMeasurement(measurement, ps, options=self._options)
27
28    # Picture printing is not supported on all platforms.
29    if results.failures:
30      assert 'not supported' in results.failures[0].exc_info[1].message
31      return
32
33    saved_picture_count = results.FindAllPageSpecificValuesNamed(
34        'saved_picture_count')
35    self.assertEquals(len(saved_picture_count), 1)
36    self.assertGreater(saved_picture_count[0].GetRepresentativeNumber(), 0)
37