Skip to content
This repository was archived by the owner on Jul 13, 2019. It is now read-only.

Commit 451f1f9

Browse files
committed
1 parent ddd4ee2 commit 451f1f9

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

cpplint_unittest.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,22 @@ def testCleanseLine(self):
10061006
cpplint.CleanseComments('f(a, /**/b/**/, c);'))
10071007

10081008
def testRawStrings(self):
1009+
self.TestMultiLineLint(
1010+
"""
1011+
int main() {
1012+
struct A {
1013+
A(std::string s, A&& a);
1014+
};
1015+
}""",
1016+
'RValue references are an unapproved C++ feature. [build/c++11] [3]')
1017+
1018+
self.TestMultiLineLint(
1019+
"""
1020+
template <class T, class D = default_delete<T>> class unique_ptr {
1021+
public:
1022+
unique_ptr(unique_ptr&& u) noexcept;
1023+
};""",
1024+
'RValue references are an unapproved C++ feature. [build/c++11] [3]')
10091025
self.TestMultiLineLint(
10101026
"""
10111027
void Func() {
@@ -2577,6 +2593,9 @@ def testRvalueReference(self):
25772593
self.TestLint('const a&& b = c;', rvalue_error)
25782594
self.TestLint('struct a&& b = c;', rvalue_error)
25792595
self.TestLint('decltype(a)&& b = c;', rvalue_error)
2596+
self.TestLint('A(int s, A&& a);', rvalue_error)
2597+
self.TestLint('A(std::string s, A&& a);', rvalue_error)
2598+
self.TestLint('unique_ptr(unique_ptr&& u) noexcept;', rvalue_error)
25802599

25812600
# Cast expressions
25822601
self.TestLint('a = const_cast<b&&>(c);', rvalue_error)
@@ -5440,6 +5459,12 @@ def testTemplate(self):
54405459
self.assertTrue(isinstance(self.nesting_state.stack[0], cpplint._ClassInfo))
54415460
self.assertEquals(self.nesting_state.stack[0].name, 'K')
54425461

5462+
def testTemplateDefaultArg(self):
5463+
self.UpdateWithLines([
5464+
'template <class T, class D = default_delete<T>> class unique_ptr {',])
5465+
self.assertEquals(len(self.nesting_state.stack), 1)
5466+
self.assertTrue(self.nesting_state.stack[0], isinstance(self.nesting_state.stack[0], cpplint._ClassInfo))
5467+
54435468
def testTemplateInnerClass(self):
54445469
self.UpdateWithLines(['class A {',
54455470
' public:'])

0 commit comments

Comments
 (0)