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 logging
6import shutil
7import tempfile
8
9from measurements import screenshot
10from telemetry import benchmark
11from telemetry.page import page_test
12from telemetry.unittest import options_for_unittests
13from telemetry.unittest import page_test_test_case
14
15
16class ScreenshotUnitTest(page_test_test_case.PageTestTestCase):
17  def setUp(self):
18    self._options = options_for_unittests.GetCopy()
19    self._options.png_outdir = tempfile.mkdtemp('_png_test')
20
21  def tearDown(self):
22    shutil.rmtree(self._options.png_outdir)
23
24  @benchmark.Disabled('win')  # http://crbug.com/386572
25  def testScreenshot(self):
26    ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html')
27    measurement = screenshot.Screenshot()
28    try:
29      results = self.RunMeasurement(measurement, ps, options=self._options)
30    except page_test.TestNotSupportedOnPlatformFailure as failure:
31      logging.warning(str(failure))
32      return
33
34    saved_picture_count = results.FindAllPageSpecificValuesNamed(
35        'saved_picture_count')
36    self.assertEquals(len(saved_picture_count), 1)
37    self.assertGreater(saved_picture_count[0].GetRepresentativeNumber(), 0)
38