diff options
author | cbentzel@chromium.org <cbentzel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-23 10:06:47 +0000 |
---|---|---|
committer | cbentzel@chromium.org <cbentzel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-23 10:06:47 +0000 |
commit | 9fefee68b27573a37c00bd428d62b72eecbc8993 (patch) | |
tree | ec3769c452ad84dc1f347b8b1d116d1e6979b5b6 /base/scoped_temp_dir_unittest.cc | |
parent | 27c8112304862f884ad63f90b192a86866d4deda (diff) | |
download | chromium_src-9fefee68b27573a37c00bd428d62b72eecbc8993.zip chromium_src-9fefee68b27573a37c00bd428d62b72eecbc8993.tar.gz chromium_src-9fefee68b27573a37c00bd428d62b72eecbc8993.tar.bz2 |
ScopedTempDir does not allow multiple Create* or Set calls without intervening Delete/Take calls.
BUG=None
TEST=base_unittests --gtest_filter="*ScopedTempDir*", all other tests pass.
Review URL: http://codereview.chromium.org/3980006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63641 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/scoped_temp_dir_unittest.cc')
-rw-r--r-- | base/scoped_temp_dir_unittest.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/base/scoped_temp_dir_unittest.cc b/base/scoped_temp_dir_unittest.cc index 4be0d07..cf5fed3 100644 --- a/base/scoped_temp_dir_unittest.cc +++ b/base/scoped_temp_dir_unittest.cc @@ -73,3 +73,17 @@ TEST(ScopedTempDir, UniqueTempDirUnderPath) { } EXPECT_FALSE(file_util::DirectoryExists(test_path)); } + +TEST(ScopedTempDir, MultipleInvocations) { + ScopedTempDir dir; + EXPECT_TRUE(dir.CreateUniqueTempDir()); + EXPECT_FALSE(dir.CreateUniqueTempDir()); + dir.Delete(); + EXPECT_TRUE(dir.CreateUniqueTempDir()); + EXPECT_FALSE(dir.CreateUniqueTempDir()); + ScopedTempDir other_dir; + other_dir.Set(dir.Take()); + EXPECT_TRUE(dir.CreateUniqueTempDir()); + EXPECT_FALSE(dir.CreateUniqueTempDir()); + EXPECT_FALSE(other_dir.CreateUniqueTempDir()); +} |