Home | History | Annotate | Download | only in tests
      1 // Copyright (c) 2013 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 "base/memory/scoped_ptr.h"
      6 
      7 void TestDeclarations() {
      8   scoped_ptr<int> a(NULL), b(new int), c(NULL);
      9   scoped_ptr_malloc<int> d(NULL);
     10 }
     11 
     12 void TestNew() {
     13   scoped_ptr<int>* a = new scoped_ptr<int>(NULL),
     14                    *b = new scoped_ptr<int>(new int),
     15                    *c = new scoped_ptr<int>(NULL);
     16 }
     17 
     18 class TestInitializers {
     19  public:
     20   TestInitializers() : a(NULL) {}
     21   TestInitializers(bool) : a(NULL), b(NULL), e(NULL) {}
     22   TestInitializers(double)
     23       : a(NULL), b(new int), c(), f(static_cast<int*>(malloc(sizeof(int)))) {}
     24 
     25  private:
     26   scoped_ptr<int> a;
     27   scoped_ptr<int> b;
     28   scoped_ptr<int> c;
     29   scoped_ptr_malloc<int> d;
     30   scoped_ptr_malloc<int> e;
     31   scoped_ptr_malloc<int> f;
     32 };
     33 
     34 scoped_ptr<int> TestTemporaries(scoped_ptr<int> a, scoped_ptr<int> b) {
     35   scoped_ptr<int> c =
     36       TestTemporaries(scoped_ptr<int>(NULL), scoped_ptr<int>(new int));
     37   return scoped_ptr<int>(NULL);
     38 }
     39 
     40