Home | History | Annotate | Download | only in renderer
      1 // Copyright (c) 2010 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 
      5 #include "content/test/image_decoder_test.h"
      6 #include "third_party/WebKit/public/web/WebImageDecoder.h"
      7 
      8 class BMPImageDecoderTest : public ImageDecoderTest {
      9  public:
     10   BMPImageDecoderTest() : ImageDecoderTest("bmp") { }
     11 
     12  protected:
     13   virtual blink::WebImageDecoder* CreateWebKitImageDecoder() const OVERRIDE {
     14     return new blink::WebImageDecoder(blink::WebImageDecoder::TypeBMP);
     15   }
     16 
     17   // The BMPImageDecoderTest tests are really slow under Valgrind.
     18   // Thus it is split into fast and slow versions. The threshold is
     19   // set to 10KB because the fast test can finish under Valgrind in
     20   // less than 30 seconds.
     21   static const int64 kThresholdSize = 10240;
     22 };
     23 
     24 TEST_F(BMPImageDecoderTest, DecodingFast) {
     25   TestDecoding(TEST_SMALLER, kThresholdSize);
     26 }
     27 
     28 #if defined(THREAD_SANITIZER)
     29 // BMPImageDecoderTest.DecodingSlow always times out under ThreadSanitizer v2.
     30 #define MAYBE_DecodingSlow DISABLED_DecodingSlow
     31 #else
     32 #define MAYBE_DecodingSlow DecodingSlow
     33 #endif
     34 TEST_F(BMPImageDecoderTest, MAYBE_DecodingSlow) {
     35   TestDecoding(TEST_BIGGER, kThresholdSize);
     36 }
     37