summaryrefslogtreecommitdiffstats
path: root/base/template_util_unittest.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-06 06:55:25 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-06 06:55:25 +0000
commitbf3dd3cc6b32fd98b82f5e22a9ab1fddbe38f8d9 (patch)
treea5f3d7b91e1b0f5a70660ab80d6c4c1d8f5a33c8 /base/template_util_unittest.cc
parentc80725d518df535f6e08e61d5bab47600046a646 (diff)
downloadchromium_src-bf3dd3cc6b32fd98b82f5e22a9ab1fddbe38f8d9.zip
chromium_src-bf3dd3cc6b32fd98b82f5e22a9ab1fddbe38f8d9.tar.gz
chromium_src-bf3dd3cc6b32fd98b82f5e22a9ab1fddbe38f8d9.tar.bz2
Gin: Add support for binding JS methods to C++ instance methods.
Also: - Added support for computed properties to ObjectTemplateBuilder - Realized it was possible for CreateFunctionTemplate to be just one template BUG= R=abarth@chromium.org, jyasskin@chromium.org Review URL: https://codereview.chromium.org/103703002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239126 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/template_util_unittest.cc')
-rw-r--r--base/template_util_unittest.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/base/template_util_unittest.cc b/base/template_util_unittest.cc
index 4cfa3e4..98ad938 100644
--- a/base/template_util_unittest.cc
+++ b/base/template_util_unittest.cc
@@ -76,5 +76,55 @@ COMPILE_ASSERT(!is_class<char*>::value, IsClass);
COMPILE_ASSERT(!is_class<int&>::value, IsClass);
COMPILE_ASSERT(!is_class<char[3]>::value, IsClass);
+
+COMPILE_ASSERT(!is_member_function_pointer<int>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(!is_member_function_pointer<int*>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(!is_member_function_pointer<void*>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(!is_member_function_pointer<AStruct>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(!is_member_function_pointer<AStruct*>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(!is_member_function_pointer<int(*)(int)>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(!is_member_function_pointer<int(*)(int, int)>::value,
+ IsMemberFunctionPointer);
+
+COMPILE_ASSERT(is_member_function_pointer<void (AStruct::*)()>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<void (AStruct::*)(int)>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<int (AStruct::*)(int)>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<int (AStruct::*)(int) const>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<int (AStruct::*)(int, int)>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<
+ int (AStruct::*)(int, int) const>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<
+ int (AStruct::*)(int, int, int)>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<
+ int (AStruct::*)(int, int, int) const>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<
+ int (AStruct::*)(int, int, int, int)>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(is_member_function_pointer<
+ int (AStruct::*)(int, int, int, int) const>::value,
+ IsMemberFunctionPointer);
+
+// False because we don't have a specialization for 5 params yet.
+COMPILE_ASSERT(!is_member_function_pointer<
+ int (AStruct::*)(int, int, int, int, int)>::value,
+ IsMemberFunctionPointer);
+COMPILE_ASSERT(!is_member_function_pointer<
+ int (AStruct::*)(int, int, int, int, int) const>::value,
+ IsMemberFunctionPointer);
+
} // namespace
} // namespace base