diff options
Diffstat (limited to 'src/plugins/cppeditor/testcases')
54 files changed, 379 insertions, 0 deletions
diff --git a/src/plugins/cppeditor/testcases/move-class/complex/complex.pro b/src/plugins/cppeditor/testcases/move-class/complex/complex.pro new file mode 100644 index 0000000000..efdac1a69a --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/complex.pro @@ -0,0 +1,2 @@ +HEADERS = theheader.h +SOURCES = thesource.cpp main.cpp diff --git a/src/plugins/cppeditor/testcases/move-class/complex/complex.pro_expected b/src/plugins/cppeditor/testcases/move-class/complex/complex.pro_expected new file mode 100644 index 0000000000..9a7a013363 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/complex.pro_expected @@ -0,0 +1,4 @@ +HEADERS = theheader.h \ + theclass.h +SOURCES = thesource.cpp main.cpp \ + theclass.cpp diff --git a/src/plugins/cppeditor/testcases/move-class/complex/main.cpp b/src/plugins/cppeditor/testcases/move-class/complex/main.cpp new file mode 100644 index 0000000000..2934727d74 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/main.cpp @@ -0,0 +1,11 @@ +#include "theheader.h" + +namespace Project { +namespace Internal { +bool TheClass::needsDefinition = true; +} +} + +int main() +{ +} diff --git a/src/plugins/cppeditor/testcases/move-class/complex/main.cpp_expected b/src/plugins/cppeditor/testcases/move-class/complex/main.cpp_expected new file mode 100644 index 0000000000..10bdcd280a --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/main.cpp_expected @@ -0,0 +1,11 @@ +#include "theheader.h" + +namespace Project { +namespace Internal { + +} +} + +int main() +{ +} diff --git a/src/plugins/cppeditor/testcases/move-class/complex/theclass.cpp_expected b/src/plugins/cppeditor/testcases/move-class/complex/theclass.cpp_expected new file mode 100644 index 0000000000..5cb8bbb375 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/theclass.cpp_expected @@ -0,0 +1,20 @@ + +#include "theclass.h" + +namespace Project { +namespace Internal { + +bool TheClass::needsDefinition = true; + +class TheClass::Private +{ + void func(); + int m_member = 0; +}; + +void TheClass::defined() {} + +void TheClass::Private::func() {} + +} // namespace Internal +} // namespace Project diff --git a/src/plugins/cppeditor/testcases/move-class/complex/theclass.h_expected b/src/plugins/cppeditor/testcases/move-class/complex/theclass.h_expected new file mode 100644 index 0000000000..c7db776d27 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/theclass.h_expected @@ -0,0 +1,29 @@ +#ifndef PROJECT_INTERNAL_THECLASS_H +#define PROJECT_INTERNAL_THECLASS_H + +namespace Project { +namespace Internal { + +class TheClass +{ +public: + TheClass() = default; + + void defined(); + void undefined(); + + template<typename T> T defaultValue() const; +private: + class Private; + class Undefined; + static inline bool doesNotNeedDefinition = true; + static bool needsDefinition; + int m_value = 0; +}; + +template<typename T> T TheClass::defaultValue() const { return T(); } + +} // namespace Internal +} // namespace Project + +#endif // PROJECT_INTERNAL_THECLASS_H diff --git a/src/plugins/cppeditor/testcases/move-class/complex/theheader.h b/src/plugins/cppeditor/testcases/move-class/complex/theheader.h new file mode 100644 index 0000000000..93f0d47a81 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/theheader.h @@ -0,0 +1,30 @@ +#ifndef THE_HEADER_H +#define THE_HEADER_H + +namespace Project { +namespace Internal { + +class SomeClass {}; +class TheClass +{ +public: + TheClass() = default; + + void defined(); + void undefined(); + + template<typename T> T defaultValue() const; +private: + class Private; + class Undefined; + static inline bool doesNotNeedDefinition = true; + static bool needsDefinition; + int m_value = 0; +}; + +template<typename T> T TheClass::defaultValue() const { return T(); } + +} +} + +#endif diff --git a/src/plugins/cppeditor/testcases/move-class/complex/theheader.h_expected b/src/plugins/cppeditor/testcases/move-class/complex/theheader.h_expected new file mode 100644 index 0000000000..65bf2ec7f4 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/theheader.h_expected @@ -0,0 +1,18 @@ +#ifndef THE_HEADER_H +#define THE_HEADER_H + +#include "theclass.h" + + +namespace Project { +namespace Internal { + +class SomeClass {}; + + + + +} +} + +#endif diff --git a/src/plugins/cppeditor/testcases/move-class/complex/thesource.cpp b/src/plugins/cppeditor/testcases/move-class/complex/thesource.cpp new file mode 100644 index 0000000000..645b6a4b13 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/thesource.cpp @@ -0,0 +1,19 @@ +#include "theheader.h" + +namespace Project { +namespace Internal { + +static void someFunction() {} + +class TheClass::Private +{ + void func(); + int m_member = 0; +}; + +void TheClass::defined() {} + +void TheClass::Private::func() {} + +} +} diff --git a/src/plugins/cppeditor/testcases/move-class/complex/thesource.cpp_expected b/src/plugins/cppeditor/testcases/move-class/complex/thesource.cpp_expected new file mode 100644 index 0000000000..d84f180808 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/complex/thesource.cpp_expected @@ -0,0 +1,15 @@ +#include "theheader.h" + +namespace Project { +namespace Internal { + +static void someFunction() {} + + + + + + + +} +} diff --git a/src/plugins/cppeditor/testcases/move-class/decl-in-source/decl-in-source.pro b/src/plugins/cppeditor/testcases/move-class/decl-in-source/decl-in-source.pro new file mode 100644 index 0000000000..d527c86ef3 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/decl-in-source/decl-in-source.pro @@ -0,0 +1,2 @@ +HEADERS = theheader.h +SOURCES = thesource.cpp diff --git a/src/plugins/cppeditor/testcases/move-class/decl-in-source/decl-in-source.pro_expected b/src/plugins/cppeditor/testcases/move-class/decl-in-source/decl-in-source.pro_expected new file mode 100644 index 0000000000..969d1fdb80 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/decl-in-source/decl-in-source.pro_expected @@ -0,0 +1,3 @@ +HEADERS = theheader.h \ + theclass.h +SOURCES = thesource.cpp diff --git a/src/plugins/cppeditor/testcases/move-class/decl-in-source/theclass.h_expected b/src/plugins/cppeditor/testcases/move-class/decl-in-source/theclass.h_expected new file mode 100644 index 0000000000..4af91c47e3 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/decl-in-source/theclass.h_expected @@ -0,0 +1,11 @@ +#ifndef THECLASS_H +#define THECLASS_H + +class TheClass +{ + void func(); +}; + +void TheClass::func() {} + +#endif // THECLASS_H diff --git a/src/plugins/cppeditor/testcases/move-class/decl-in-source/theheader.h b/src/plugins/cppeditor/testcases/move-class/decl-in-source/theheader.h new file mode 100644 index 0000000000..9c0f94351f --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/decl-in-source/theheader.h @@ -0,0 +1,4 @@ +class SomeClass +{ + void func(); +}; diff --git a/src/plugins/cppeditor/testcases/move-class/decl-in-source/thesource.cpp b/src/plugins/cppeditor/testcases/move-class/decl-in-source/thesource.cpp new file mode 100644 index 0000000000..79a7651309 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/decl-in-source/thesource.cpp @@ -0,0 +1,8 @@ +#include "theheader.h" + +class TheClass +{ + void func(); +}; +void SomeClass::func() {} +void TheClass::func() {} diff --git a/src/plugins/cppeditor/testcases/move-class/decl-in-source/thesource.cpp_expected b/src/plugins/cppeditor/testcases/move-class/decl-in-source/thesource.cpp_expected new file mode 100644 index 0000000000..e26225d719 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/decl-in-source/thesource.cpp_expected @@ -0,0 +1,6 @@ +#include "theclass.h" +#include "theheader.h" + + +void SomeClass::func() {} + diff --git a/src/plugins/cppeditor/testcases/move-class/header-only/header-only.pro b/src/plugins/cppeditor/testcases/move-class/header-only/header-only.pro new file mode 100644 index 0000000000..d527c86ef3 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/header-only/header-only.pro @@ -0,0 +1,2 @@ +HEADERS = theheader.h +SOURCES = thesource.cpp diff --git a/src/plugins/cppeditor/testcases/move-class/header-only/header-only.pro_expected b/src/plugins/cppeditor/testcases/move-class/header-only/header-only.pro_expected new file mode 100644 index 0000000000..969d1fdb80 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/header-only/header-only.pro_expected @@ -0,0 +1,3 @@ +HEADERS = theheader.h \ + theclass.h +SOURCES = thesource.cpp diff --git a/src/plugins/cppeditor/testcases/move-class/header-only/theclass.h_expected b/src/plugins/cppeditor/testcases/move-class/header-only/theclass.h_expected new file mode 100644 index 0000000000..9b1f655f3f --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/header-only/theclass.h_expected @@ -0,0 +1,10 @@ +#ifndef THECLASS_H +#define THECLASS_H + +class TheClass { + void func(); +}; + +void TheClass::func() {} + +#endif // THECLASS_H diff --git a/src/plugins/cppeditor/testcases/move-class/header-only/theheader.h b/src/plugins/cppeditor/testcases/move-class/header-only/theheader.h new file mode 100644 index 0000000000..131a6d42a6 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/header-only/theheader.h @@ -0,0 +1,7 @@ +class SomeClass { + void func(); +}; +class TheClass { + void func(); +}; +void TheClass::func() {} diff --git a/src/plugins/cppeditor/testcases/move-class/header-only/theheader.h_expected b/src/plugins/cppeditor/testcases/move-class/header-only/theheader.h_expected new file mode 100644 index 0000000000..1cf9e1d06c --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/header-only/theheader.h_expected @@ -0,0 +1,7 @@ +#include "theclass.h" + +class SomeClass { + void func(); +}; + + diff --git a/src/plugins/cppeditor/testcases/move-class/header-only/thesource.cpp b/src/plugins/cppeditor/testcases/move-class/header-only/thesource.cpp new file mode 100644 index 0000000000..d01e0845ab --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/header-only/thesource.cpp @@ -0,0 +1,3 @@ +#include "theheader.h" + +void SomeClass::func() {} diff --git a/src/plugins/cppeditor/testcases/move-class/header-only/thesource.cpp_expected b/src/plugins/cppeditor/testcases/move-class/header-only/thesource.cpp_expected new file mode 100644 index 0000000000..d01e0845ab --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/header-only/thesource.cpp_expected @@ -0,0 +1,3 @@ +#include "theheader.h" + +void SomeClass::func() {} diff --git a/src/plugins/cppeditor/testcases/move-class/match1/TheClass.h b/src/plugins/cppeditor/testcases/move-class/match1/TheClass.h new file mode 100644 index 0000000000..11b0cf15d1 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/match1/TheClass.h @@ -0,0 +1,2 @@ +class SomeClass {}; +class TheClass {}; diff --git a/src/plugins/cppeditor/testcases/move-class/match1/match1.pro b/src/plugins/cppeditor/testcases/move-class/match1/match1.pro new file mode 100644 index 0000000000..72ccc46616 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/match1/match1.pro @@ -0,0 +1 @@ +HEADERS = TheClass.h diff --git a/src/plugins/cppeditor/testcases/move-class/match2/match2.pro b/src/plugins/cppeditor/testcases/move-class/match2/match2.pro new file mode 100644 index 0000000000..6f982e4f16 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/match2/match2.pro @@ -0,0 +1 @@ +HEADERS = theclass.h diff --git a/src/plugins/cppeditor/testcases/move-class/match2/theclass.h b/src/plugins/cppeditor/testcases/move-class/match2/theclass.h new file mode 100644 index 0000000000..11b0cf15d1 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/match2/theclass.h @@ -0,0 +1,2 @@ +class SomeClass {}; +class TheClass {}; diff --git a/src/plugins/cppeditor/testcases/move-class/match3/match3.pro b/src/plugins/cppeditor/testcases/move-class/match3/match3.pro new file mode 100644 index 0000000000..850a113845 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/match3/match3.pro @@ -0,0 +1 @@ +HEADERS = the_class.h diff --git a/src/plugins/cppeditor/testcases/move-class/match3/the_class.h b/src/plugins/cppeditor/testcases/move-class/match3/the_class.h new file mode 100644 index 0000000000..11b0cf15d1 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/match3/the_class.h @@ -0,0 +1,2 @@ +class SomeClass {}; +class TheClass {}; diff --git a/src/plugins/cppeditor/testcases/move-class/nested/main.cpp b/src/plugins/cppeditor/testcases/move-class/nested/main.cpp new file mode 100644 index 0000000000..73fd1620fa --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/nested/main.cpp @@ -0,0 +1,6 @@ +class SomeClass {}; +class Outer { + class Inner {}; +}; + +int main() {} diff --git a/src/plugins/cppeditor/testcases/move-class/nested/nested.pro b/src/plugins/cppeditor/testcases/move-class/nested/nested.pro new file mode 100644 index 0000000000..bba41b9c12 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/nested/nested.pro @@ -0,0 +1 @@ +SOURCES = main.cpp diff --git a/src/plugins/cppeditor/testcases/move-class/single/single.pro b/src/plugins/cppeditor/testcases/move-class/single/single.pro new file mode 100644 index 0000000000..77db8b92e4 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/single/single.pro @@ -0,0 +1 @@ +HEADERS = theheader.h diff --git a/src/plugins/cppeditor/testcases/move-class/single/theheader.h b/src/plugins/cppeditor/testcases/move-class/single/theheader.h new file mode 100644 index 0000000000..5f7cd96730 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/single/theheader.h @@ -0,0 +1,2 @@ +class Private; +class TheClass {}; diff --git a/src/plugins/cppeditor/testcases/move-class/template/template.pro b/src/plugins/cppeditor/testcases/move-class/template/template.pro new file mode 100644 index 0000000000..77db8b92e4 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/template/template.pro @@ -0,0 +1 @@ +HEADERS = theheader.h diff --git a/src/plugins/cppeditor/testcases/move-class/template/template.pro_expected b/src/plugins/cppeditor/testcases/move-class/template/template.pro_expected new file mode 100644 index 0000000000..0ed81f0008 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/template/template.pro_expected @@ -0,0 +1,2 @@ +HEADERS = theheader.h \ + theclass.h diff --git a/src/plugins/cppeditor/testcases/move-class/template/theclass.h_expected b/src/plugins/cppeditor/testcases/move-class/template/theclass.h_expected new file mode 100644 index 0000000000..f9681cc796 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/template/theclass.h_expected @@ -0,0 +1,11 @@ +#ifndef THECLASS_H +#define THECLASS_H + +template<typename T> class TheClass +{ + T defaultValue() const; +}; + +template<typename T> inline T TheClass<T>::defaultValue() const { return T(); } + +#endif // THECLASS_H diff --git a/src/plugins/cppeditor/testcases/move-class/template/theheader.h b/src/plugins/cppeditor/testcases/move-class/template/theheader.h new file mode 100644 index 0000000000..58f7a07372 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/template/theheader.h @@ -0,0 +1,7 @@ +enum SomeEnum { E }; +template<typename T> class TheClass +{ + T defaultValue() const; +}; + +template<typename T> inline T TheClass<T>::defaultValue() const { return T(); } diff --git a/src/plugins/cppeditor/testcases/move-class/template/theheader.h_expected b/src/plugins/cppeditor/testcases/move-class/template/theheader.h_expected new file mode 100644 index 0000000000..20087c3199 --- /dev/null +++ b/src/plugins/cppeditor/testcases/move-class/template/theheader.h_expected @@ -0,0 +1,6 @@ +#include "theclass.h" + +enum SomeEnum { E }; + + + diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/already-sorted.pro b/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/already-sorted.pro new file mode 100644 index 0000000000..7051801269 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/already-sorted.pro @@ -0,0 +1 @@ +HEADERS = header.h diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/header.h b/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/header.h new file mode 100644 index 0000000000..c0d7e0caa7 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/header.h @@ -0,0 +1,9 @@ +struct S { + void firstFunction(); + void secondFunction(); + void thirdFunction(); +}; + +void S::firstFunction() {} +void S::secondFunction() {} +void S::thirdFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/header.h_expected b/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/header.h_expected new file mode 100644 index 0000000000..c0d7e0caa7 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/already-sorted/header.h_expected @@ -0,0 +1,9 @@ +struct S { + void firstFunction(); + void secondFunction(); + void thirdFunction(); +}; + +void S::firstFunction() {} +void S::secondFunction() {} +void S::thirdFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/different-locations.pro b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/different-locations.pro new file mode 100644 index 0000000000..a8dd832020 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/different-locations.pro @@ -0,0 +1,2 @@ +SOURCES = impl1.cpp impl2.cpp +HEADERS = header.h diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/header.h b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/header.h new file mode 100644 index 0000000000..15a428eb7c --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/header.h @@ -0,0 +1,15 @@ +struct S { + void firstFunction(); + void secondFunction(); + void thirdFunction() {} + void fourthFunction(); + void fifthFunction(); + void sixthFunction(); + void seventhFunction(); + void eighthFunction(); + void ninthFunction(); + void tenthFunction(); +}; + +void S::tenthFunction() {} +void S::fourthFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/header.h_expected b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/header.h_expected new file mode 100644 index 0000000000..eeec93f300 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/header.h_expected @@ -0,0 +1,15 @@ +struct S { + void firstFunction(); + void secondFunction(); + void thirdFunction() {} + void fourthFunction(); + void fifthFunction(); + void sixthFunction(); + void seventhFunction(); + void eighthFunction(); + void ninthFunction(); + void tenthFunction(); +}; + +void S::fourthFunction() {} +void S::tenthFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl1.cpp b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl1.cpp new file mode 100644 index 0000000000..816fef1779 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl1.cpp @@ -0,0 +1,5 @@ +#include "header.h" + +void S::ninthFunction() {} +void S::firstFunction() {} +void S::secondFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl1.cpp_expected b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl1.cpp_expected new file mode 100644 index 0000000000..24d0f3a212 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl1.cpp_expected @@ -0,0 +1,5 @@ +#include "header.h" + +void S::firstFunction() {} +void S::secondFunction() {} +void S::ninthFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl2.cpp b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl2.cpp new file mode 100644 index 0000000000..f1040e089e --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl2.cpp @@ -0,0 +1,6 @@ +#include "header.h" + +void S::eighthFunction() {} +void S::seventhFunction() {} +void S::sixthFunction() {} +void S::fifthFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl2.cpp_expected b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl2.cpp_expected new file mode 100644 index 0000000000..2b65df96a5 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/different-locations/impl2.cpp_expected @@ -0,0 +1,6 @@ +#include "header.h" + +void S::fifthFunction() {} +void S::sixthFunction() {} +void S::seventhFunction() {} +void S::eighthFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/header.h b/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/header.h new file mode 100644 index 0000000000..cff8945127 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/header.h @@ -0,0 +1,5 @@ +struct S { + void firstFunction() {} + void secondFunction(); + void thirdFunction() {} +}; diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/header.h_expected b/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/header.h_expected new file mode 100644 index 0000000000..cff8945127 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/header.h_expected @@ -0,0 +1,5 @@ +struct S { + void firstFunction() {} + void secondFunction(); + void thirdFunction() {} +}; diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/no-out-of-line.pro b/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/no-out-of-line.pro new file mode 100644 index 0000000000..7051801269 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/no-out-of-line/no-out-of-line.pro @@ -0,0 +1 @@ +HEADERS = header.h diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/templates/header.h b/src/plugins/cppeditor/testcases/reorder-member-impls/templates/header.h new file mode 100644 index 0000000000..08b33a51d9 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/templates/header.h @@ -0,0 +1,10 @@ +template <typename T> struct S { + void firstFunction(); + template<typename U> void secondFunction(U); + template<typename U> void irrelevantFunction(U) {} + void thirdFunction(); +}; + +template<typename T> template<typename U> void S<T>::secondFunction(U) {} +template<typename T> void S<T>::thirdFunction() {} +template<typename T> void S<T>::firstFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/templates/header.h_expected b/src/plugins/cppeditor/testcases/reorder-member-impls/templates/header.h_expected new file mode 100644 index 0000000000..f182bbe62d --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/templates/header.h_expected @@ -0,0 +1,10 @@ +template <typename T> struct S { + void firstFunction(); + template<typename U> void secondFunction(U); + template<typename U> void irrelevantFunction(U) {} + void thirdFunction(); +}; + +template<typename T> void S<T>::firstFunction() {} +template<typename T> template<typename U> void S<T>::secondFunction(U) {} +template<typename T> void S<T>::thirdFunction() {} diff --git a/src/plugins/cppeditor/testcases/reorder-member-impls/templates/templates.pro b/src/plugins/cppeditor/testcases/reorder-member-impls/templates/templates.pro new file mode 100644 index 0000000000..7051801269 --- /dev/null +++ b/src/plugins/cppeditor/testcases/reorder-member-impls/templates/templates.pro @@ -0,0 +1 @@ +HEADERS = header.h |