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.
5 // Test file for the empty string clang tool.
9 // Tests for std::string declarations.
10 void TestDeclarations() { std::string
a(""), b("abc"), c(""); }
12 // Tests for std::string allocated with new.
14 std::string
* a
= new std::string(""),
15 *b
= new std::string("abc"),
16 *c
= new std::string(""),
17 *d
= new std::string();
20 // Tests for std::string construction in initializer lists.
21 class TestInitializers
{
23 TestInitializers() : a("") {}
24 TestInitializers(bool) : a(""), b("") {}
25 TestInitializers(double) : a(""), b("cat"), c() {}
33 // Tests for temporary std::strings.
34 void TestTemporaries(const std::string
& reference_argument
,
35 const std::string value_argument
) {
36 TestTemporaries("", "");
37 TestTemporaries(std::string(""), std::string(""));
40 // Tests for temporary std::wstrings.
41 void TestWideTemporaries(const std::wstring
& reference_argument
,
42 const std::wstring value_argument
) {
43 TestWideTemporaries(L
"", L
"");
44 TestWideTemporaries(std::wstring(L
""), std::wstring(L
""));