diff options
Diffstat (limited to 'xpcom/tests/component')
-rw-r--r-- | xpcom/tests/component/TestComponent.cpp | 44 | ||||
-rw-r--r-- | xpcom/tests/component/moz.build | 26 | ||||
-rw-r--r-- | xpcom/tests/component/testcomponent.manifest | 4 |
3 files changed, 74 insertions, 0 deletions
diff --git a/xpcom/tests/component/TestComponent.cpp b/xpcom/tests/component/TestComponent.cpp new file mode 100644 index 000000000..85b8860ac --- /dev/null +++ b/xpcom/tests/component/TestComponent.cpp @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "mozilla/ModuleUtils.h" + +#define NS_TESTING_CID \ +{ 0x335fb596, 0xe52d, 0x418f, \ + { 0xb0, 0x1c, 0x1b, 0xf1, 0x6c, 0xe5, 0xe7, 0xe4 } } +#define NS_NONEXISTENT_CID \ +{ 0x1e61fb15, 0xead4, 0x45cd, \ + { 0x80, 0x13, 0x40, 0x99, 0xa7, 0x10, 0xa2, 0xfa } } + +NS_DEFINE_NAMED_CID(NS_TESTING_CID); +NS_DEFINE_NAMED_CID(NS_NONEXISTENT_CID); + +static nsresult +DummyConstructorFunc(nsISupports* aOuter, const nsIID& aIID, void** aResult) +{ + return NS_ERROR_NOT_IMPLEMENTED; +} + +static const mozilla::Module::CIDEntry kTestCIDs[] = { + { &kNS_TESTING_CID, false, nullptr, DummyConstructorFunc }, + { &kNS_TESTING_CID, false, nullptr, DummyConstructorFunc }, + { nullptr } +}; + +static const mozilla::Module::ContractIDEntry kTestContractIDs[] = { + { "@testing/foo", &kNS_NONEXISTENT_CID }, + { nullptr } +}; + +static const mozilla::Module kTestModule = { + mozilla::Module::kVersion, + kTestCIDs, + kTestContractIDs +}; + +NSMODULE_DEFN(dummy) = &kTestModule; + + diff --git a/xpcom/tests/component/moz.build b/xpcom/tests/component/moz.build new file mode 100644 index 000000000..62e88502c --- /dev/null +++ b/xpcom/tests/component/moz.build @@ -0,0 +1,26 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +FINAL_TARGET = '_tests/xpcshell/xpcom/tests/unit' +EXTRA_PP_COMPONENTS += [ + 'testcomponent.manifest', +] + +SOURCES += [ + 'TestComponent.cpp', +] + +XPCOMBinaryComponent('testcomponent') + +DEFINES['LIBRARY_FILENAME'] = '%s%s%s' % ( + CONFIG['DLL_PREFIX'], + LIBRARY_NAME, + CONFIG['DLL_SUFFIX'] +) + +# Need to link with CoreFoundation on Mac +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': + OS_LIBS += CONFIG['TK_LIBS'] diff --git a/xpcom/tests/component/testcomponent.manifest b/xpcom/tests/component/testcomponent.manifest new file mode 100644 index 000000000..a570e4c18 --- /dev/null +++ b/xpcom/tests/component/testcomponent.manifest @@ -0,0 +1,4 @@ +#filter substitution +binary-component @LIBRARY_FILENAME@ +binary-component @LIBRARY_FILENAME@ +binary-component @LIBRARY_FILENAME@ |