parent
d5f13d4a25
commit
c6e674dbb3
5 changed files with 553 additions and 0 deletions
@ -0,0 +1,28 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||||
|
<plist version="1.0"> |
||||||
|
<dict> |
||||||
|
<key>CFBundleDevelopmentRegion</key> |
||||||
|
<string>English</string> |
||||||
|
<key>CFBundleExecutable</key> |
||||||
|
<string>${EXECUTABLE_NAME}</string> |
||||||
|
<key>CFBundleIconFile</key> |
||||||
|
<string></string> |
||||||
|
<key>CFBundleIdentifier</key> |
||||||
|
<string>com.google.gtest.${PRODUCT_NAME:identifier}</string> |
||||||
|
<key>CFBundleInfoDictionaryVersion</key> |
||||||
|
<string>6.0</string> |
||||||
|
<key>CFBundleName</key> |
||||||
|
<string>${PRODUCT_NAME}</string> |
||||||
|
<key>CFBundlePackageType</key> |
||||||
|
<string>FMWK</string> |
||||||
|
<key>CFBundleShortVersionString</key> |
||||||
|
<string>1.0</string> |
||||||
|
<key>CFBundleSignature</key> |
||||||
|
<string>????</string> |
||||||
|
<key>CFBundleVersion</key> |
||||||
|
<string>1.0</string> |
||||||
|
<key>CSResourcesFileMapped</key> |
||||||
|
<true/> |
||||||
|
</dict> |
||||||
|
</plist> |
@ -0,0 +1,335 @@ |
|||||||
|
// !$*UTF8*$! |
||||||
|
{ |
||||||
|
archiveVersion = 1; |
||||||
|
classes = { |
||||||
|
}; |
||||||
|
objectVersion = 45; |
||||||
|
objects = { |
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */ |
||||||
|
3B7EB1250E5AEE3500C7F239 /* widget.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3B7EB1230E5AEE3500C7F239 /* widget.cc */; }; |
||||||
|
3B7EB1260E5AEE3500C7F239 /* widget.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B7EB1240E5AEE3500C7F239 /* widget.h */; settings = {ATTRIBUTES = (Public, ); }; }; |
||||||
|
3B7EB1280E5AEE4600C7F239 /* widget_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3B7EB1270E5AEE4600C7F239 /* widget_test.cc */; }; |
||||||
|
3B7EB1480E5AF3B400C7F239 /* Widget.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D07F2C80486CC7A007CD1D0 /* Widget.framework */; }; |
||||||
|
3B7F0C8D0E567CC5009CA236 /* gtest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BA867DC0E561B7C00326077 /* gtest.framework */; }; |
||||||
|
/* End PBXBuildFile section */ |
||||||
|
|
||||||
|
/* Begin PBXContainerItemProxy section */ |
||||||
|
3B07BDF00E3F3FAE00647869 /* PBXContainerItemProxy */ = { |
||||||
|
isa = PBXContainerItemProxy; |
||||||
|
containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; |
||||||
|
proxyType = 1; |
||||||
|
remoteGlobalIDString = 8D07F2BC0486CC7A007CD1D0; |
||||||
|
remoteInfo = gTestExample; |
||||||
|
}; |
||||||
|
/* End PBXContainerItemProxy section */ |
||||||
|
|
||||||
|
/* Begin PBXFileReference section */ |
||||||
|
3B07BDEA0E3F3F9E00647869 /* WidgetFrameworkTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = WidgetFrameworkTest; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||||
|
3B7EB1230E5AEE3500C7F239 /* widget.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = widget.cc; sourceTree = "<group>"; }; |
||||||
|
3B7EB1240E5AEE3500C7F239 /* widget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = widget.h; sourceTree = "<group>"; }; |
||||||
|
3B7EB1270E5AEE4600C7F239 /* widget_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = widget_test.cc; sourceTree = "<group>"; }; |
||||||
|
3BA867DC0E561B7C00326077 /* gtest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = gtest.framework; path = ../../build/Debug/gtest.framework; sourceTree = "<group>"; }; |
||||||
|
8D07F2C70486CC7A007CD1D0 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; |
||||||
|
8D07F2C80486CC7A007CD1D0 /* Widget.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Widget.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||||
|
/* End PBXFileReference section */ |
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */ |
||||||
|
3B07BDE80E3F3F9E00647869 /* Frameworks */ = { |
||||||
|
isa = PBXFrameworksBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
3B7EB1480E5AF3B400C7F239 /* Widget.framework in Frameworks */, |
||||||
|
3B7F0C8D0E567CC5009CA236 /* gtest.framework in Frameworks */, |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
8D07F2C30486CC7A007CD1D0 /* Frameworks */ = { |
||||||
|
isa = PBXFrameworksBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXFrameworksBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXGroup section */ |
||||||
|
034768DDFF38A45A11DB9C8B /* Products */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
8D07F2C80486CC7A007CD1D0 /* Widget.framework */, |
||||||
|
3B07BDEA0E3F3F9E00647869 /* WidgetFrameworkTest */, |
||||||
|
); |
||||||
|
name = Products; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
0867D691FE84028FC02AAC07 /* gTestExample */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
08FB77ACFE841707C02AAC07 /* Source */, |
||||||
|
089C1665FE841158C02AAC07 /* Resources */, |
||||||
|
3B07BE350E4094E400647869 /* Test */, |
||||||
|
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, |
||||||
|
034768DDFF38A45A11DB9C8B /* Products */, |
||||||
|
); |
||||||
|
name = gTestExample; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
3BA867DC0E561B7C00326077 /* gtest.framework */, |
||||||
|
); |
||||||
|
name = "External Frameworks and Libraries"; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
089C1665FE841158C02AAC07 /* Resources */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
8D07F2C70486CC7A007CD1D0 /* Info.plist */, |
||||||
|
); |
||||||
|
name = Resources; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
08FB77ACFE841707C02AAC07 /* Source */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
3B7EB1230E5AEE3500C7F239 /* widget.cc */, |
||||||
|
3B7EB1240E5AEE3500C7F239 /* widget.h */, |
||||||
|
); |
||||||
|
name = Source; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
3B07BE350E4094E400647869 /* Test */ = { |
||||||
|
isa = PBXGroup; |
||||||
|
children = ( |
||||||
|
3B7EB1270E5AEE4600C7F239 /* widget_test.cc */, |
||||||
|
); |
||||||
|
name = Test; |
||||||
|
sourceTree = "<group>"; |
||||||
|
}; |
||||||
|
/* End PBXGroup section */ |
||||||
|
|
||||||
|
/* Begin PBXHeadersBuildPhase section */ |
||||||
|
8D07F2BD0486CC7A007CD1D0 /* Headers */ = { |
||||||
|
isa = PBXHeadersBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
3B7EB1260E5AEE3500C7F239 /* widget.h in Headers */, |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXHeadersBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */ |
||||||
|
3B07BDE90E3F3F9E00647869 /* WidgetFrameworkTest */ = { |
||||||
|
isa = PBXNativeTarget; |
||||||
|
buildConfigurationList = 3B07BDF40E3F3FB600647869 /* Build configuration list for PBXNativeTarget "WidgetFrameworkTest" */; |
||||||
|
buildPhases = ( |
||||||
|
3B07BDE70E3F3F9E00647869 /* Sources */, |
||||||
|
3B07BDE80E3F3F9E00647869 /* Frameworks */, |
||||||
|
); |
||||||
|
buildRules = ( |
||||||
|
); |
||||||
|
dependencies = ( |
||||||
|
3B07BDF10E3F3FAE00647869 /* PBXTargetDependency */, |
||||||
|
); |
||||||
|
name = WidgetFrameworkTest; |
||||||
|
productName = gTestExampleTest; |
||||||
|
productReference = 3B07BDEA0E3F3F9E00647869 /* WidgetFrameworkTest */; |
||||||
|
productType = "com.apple.product-type.tool"; |
||||||
|
}; |
||||||
|
8D07F2BC0486CC7A007CD1D0 /* WidgetFramework */ = { |
||||||
|
isa = PBXNativeTarget; |
||||||
|
buildConfigurationList = 4FADC24208B4156D00ABE55E /* Build configuration list for PBXNativeTarget "WidgetFramework" */; |
||||||
|
buildPhases = ( |
||||||
|
8D07F2C10486CC7A007CD1D0 /* Sources */, |
||||||
|
8D07F2C30486CC7A007CD1D0 /* Frameworks */, |
||||||
|
8D07F2BD0486CC7A007CD1D0 /* Headers */, |
||||||
|
8D07F2BF0486CC7A007CD1D0 /* Resources */, |
||||||
|
8D07F2C50486CC7A007CD1D0 /* Rez */, |
||||||
|
); |
||||||
|
buildRules = ( |
||||||
|
); |
||||||
|
dependencies = ( |
||||||
|
); |
||||||
|
name = WidgetFramework; |
||||||
|
productInstallPath = "$(HOME)/Library/Frameworks"; |
||||||
|
productName = gTestExample; |
||||||
|
productReference = 8D07F2C80486CC7A007CD1D0 /* Widget.framework */; |
||||||
|
productType = "com.apple.product-type.framework"; |
||||||
|
}; |
||||||
|
/* End PBXNativeTarget section */ |
||||||
|
|
||||||
|
/* Begin PBXProject section */ |
||||||
|
0867D690FE84028FC02AAC07 /* Project object */ = { |
||||||
|
isa = PBXProject; |
||||||
|
buildConfigurationList = 4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject "WidgetFramework" */; |
||||||
|
compatibilityVersion = "Xcode 3.1"; |
||||||
|
hasScannedForEncodings = 1; |
||||||
|
mainGroup = 0867D691FE84028FC02AAC07 /* gTestExample */; |
||||||
|
productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */; |
||||||
|
projectDirPath = ""; |
||||||
|
projectRoot = ""; |
||||||
|
targets = ( |
||||||
|
8D07F2BC0486CC7A007CD1D0 /* WidgetFramework */, |
||||||
|
3B07BDE90E3F3F9E00647869 /* WidgetFrameworkTest */, |
||||||
|
); |
||||||
|
}; |
||||||
|
/* End PBXProject section */ |
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */ |
||||||
|
8D07F2BF0486CC7A007CD1D0 /* Resources */ = { |
||||||
|
isa = PBXResourcesBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXResourcesBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXRezBuildPhase section */ |
||||||
|
8D07F2C50486CC7A007CD1D0 /* Rez */ = { |
||||||
|
isa = PBXRezBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXRezBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */ |
||||||
|
3B07BDE70E3F3F9E00647869 /* Sources */ = { |
||||||
|
isa = PBXSourcesBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
3B7EB1280E5AEE4600C7F239 /* widget_test.cc in Sources */, |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
8D07F2C10486CC7A007CD1D0 /* Sources */ = { |
||||||
|
isa = PBXSourcesBuildPhase; |
||||||
|
buildActionMask = 2147483647; |
||||||
|
files = ( |
||||||
|
3B7EB1250E5AEE3500C7F239 /* widget.cc in Sources */, |
||||||
|
); |
||||||
|
runOnlyForDeploymentPostprocessing = 0; |
||||||
|
}; |
||||||
|
/* End PBXSourcesBuildPhase section */ |
||||||
|
|
||||||
|
/* Begin PBXTargetDependency section */ |
||||||
|
3B07BDF10E3F3FAE00647869 /* PBXTargetDependency */ = { |
||||||
|
isa = PBXTargetDependency; |
||||||
|
target = 8D07F2BC0486CC7A007CD1D0 /* WidgetFramework */; |
||||||
|
targetProxy = 3B07BDF00E3F3FAE00647869 /* PBXContainerItemProxy */; |
||||||
|
}; |
||||||
|
/* End PBXTargetDependency section */ |
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */ |
||||||
|
3B07BDEC0E3F3F9F00647869 /* Debug */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
FRAMEWORK_SEARCH_PATHS = ( |
||||||
|
"$(inherited)", |
||||||
|
"\"$(SRCROOT)/externals/googletest/xcode/build/Debug\"", |
||||||
|
"\"$(SRCROOT)/../../build/Debug\"", |
||||||
|
); |
||||||
|
INSTALL_PATH = /usr/local/bin; |
||||||
|
PRODUCT_NAME = WidgetFrameworkTest; |
||||||
|
}; |
||||||
|
name = Debug; |
||||||
|
}; |
||||||
|
3B07BDED0E3F3F9F00647869 /* Release */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
FRAMEWORK_SEARCH_PATHS = ( |
||||||
|
"$(inherited)", |
||||||
|
"\"$(SRCROOT)/externals/googletest/xcode/build/Debug\"", |
||||||
|
"\"$(SRCROOT)/../../build/Debug\"", |
||||||
|
); |
||||||
|
INSTALL_PATH = /usr/local/bin; |
||||||
|
PRODUCT_NAME = WidgetFrameworkTest; |
||||||
|
}; |
||||||
|
name = Release; |
||||||
|
}; |
||||||
|
4FADC24308B4156D00ABE55E /* Debug */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
DYLIB_COMPATIBILITY_VERSION = 1; |
||||||
|
DYLIB_CURRENT_VERSION = 1; |
||||||
|
FRAMEWORK_VERSION = A; |
||||||
|
INFOPLIST_FILE = Info.plist; |
||||||
|
INSTALL_PATH = "@loader_path/../Frameworks"; |
||||||
|
LIBRARY_STYLE = DYNAMIC; |
||||||
|
MACH_O_TYPE = mh_dylib; |
||||||
|
PRODUCT_NAME = Widget; |
||||||
|
WRAPPER_EXTENSION = framework; |
||||||
|
}; |
||||||
|
name = Debug; |
||||||
|
}; |
||||||
|
4FADC24408B4156D00ABE55E /* Release */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
DYLIB_COMPATIBILITY_VERSION = 1; |
||||||
|
DYLIB_CURRENT_VERSION = 1; |
||||||
|
FRAMEWORK_VERSION = A; |
||||||
|
INFOPLIST_FILE = Info.plist; |
||||||
|
INSTALL_PATH = "@loader_path/../Frameworks"; |
||||||
|
LIBRARY_STYLE = DYNAMIC; |
||||||
|
MACH_O_TYPE = mh_dylib; |
||||||
|
PRODUCT_NAME = Widget; |
||||||
|
WRAPPER_EXTENSION = framework; |
||||||
|
}; |
||||||
|
name = Release; |
||||||
|
}; |
||||||
|
4FADC24708B4156D00ABE55E /* Debug */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)"; |
||||||
|
ONLY_ACTIVE_ARCH = YES; |
||||||
|
SDKROOT = macosx10.5; |
||||||
|
}; |
||||||
|
name = Debug; |
||||||
|
}; |
||||||
|
4FADC24808B4156D00ABE55E /* Release */ = { |
||||||
|
isa = XCBuildConfiguration; |
||||||
|
buildSettings = { |
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)"; |
||||||
|
SDKROOT = macosx10.5; |
||||||
|
}; |
||||||
|
name = Release; |
||||||
|
}; |
||||||
|
/* End XCBuildConfiguration section */ |
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */ |
||||||
|
3B07BDF40E3F3FB600647869 /* Build configuration list for PBXNativeTarget "WidgetFrameworkTest" */ = { |
||||||
|
isa = XCConfigurationList; |
||||||
|
buildConfigurations = ( |
||||||
|
3B07BDEC0E3F3F9F00647869 /* Debug */, |
||||||
|
3B07BDED0E3F3F9F00647869 /* Release */, |
||||||
|
); |
||||||
|
defaultConfigurationIsVisible = 0; |
||||||
|
defaultConfigurationName = Release; |
||||||
|
}; |
||||||
|
4FADC24208B4156D00ABE55E /* Build configuration list for PBXNativeTarget "WidgetFramework" */ = { |
||||||
|
isa = XCConfigurationList; |
||||||
|
buildConfigurations = ( |
||||||
|
4FADC24308B4156D00ABE55E /* Debug */, |
||||||
|
4FADC24408B4156D00ABE55E /* Release */, |
||||||
|
); |
||||||
|
defaultConfigurationIsVisible = 0; |
||||||
|
defaultConfigurationName = Release; |
||||||
|
}; |
||||||
|
4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject "WidgetFramework" */ = { |
||||||
|
isa = XCConfigurationList; |
||||||
|
buildConfigurations = ( |
||||||
|
4FADC24708B4156D00ABE55E /* Debug */, |
||||||
|
4FADC24808B4156D00ABE55E /* Release */, |
||||||
|
); |
||||||
|
defaultConfigurationIsVisible = 0; |
||||||
|
defaultConfigurationName = Release; |
||||||
|
}; |
||||||
|
/* End XCConfigurationList section */ |
||||||
|
}; |
||||||
|
rootObject = 0867D690FE84028FC02AAC07 /* Project object */; |
||||||
|
} |
@ -0,0 +1,63 @@ |
|||||||
|
// Copyright 2008, Google Inc.
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the names of its
|
||||||
|
// contributors may be used to endorse or promote products derived from
|
||||||
|
// this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
// Author: preston.jackson@gmail.com (Preston Jackson)
|
||||||
|
//
|
||||||
|
// Google Test - FrameworkSample
|
||||||
|
// widget.cc
|
||||||
|
//
|
||||||
|
|
||||||
|
// Widget is a very simple class used for demonstrating the use of gtest
|
||||||
|
|
||||||
|
#include "widget.h" |
||||||
|
|
||||||
|
Widget::Widget(int number, const std::string& name) |
||||||
|
: number_(number), |
||||||
|
name_(name) {} |
||||||
|
|
||||||
|
Widget::~Widget() {} |
||||||
|
|
||||||
|
float Widget::GetFloatValue() const { |
||||||
|
return number_; |
||||||
|
} |
||||||
|
|
||||||
|
int Widget::GetIntValue() const { |
||||||
|
return static_cast<int>(number_); |
||||||
|
} |
||||||
|
|
||||||
|
std::string Widget::GetStringValue() const { |
||||||
|
return name_; |
||||||
|
} |
||||||
|
|
||||||
|
void Widget::GetCharPtrValue(char* buffer, size_t max_size) const { |
||||||
|
// Copy the char* representation of name_ into buffer, up to max_size.
|
||||||
|
strncpy(buffer, name_.c_str(), max_size-1); |
||||||
|
buffer[max_size-1] = '\0'; |
||||||
|
return; |
||||||
|
} |
@ -0,0 +1,59 @@ |
|||||||
|
// Copyright 2008, Google Inc.
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the names of its
|
||||||
|
// contributors may be used to endorse or promote products derived from
|
||||||
|
// this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
// Author: preston.jackson@gmail.com (Preston Jackson)
|
||||||
|
//
|
||||||
|
// Google Test - FrameworkSample
|
||||||
|
// widget.h
|
||||||
|
//
|
||||||
|
|
||||||
|
// Widget is a very simple class used for demonstrating the use of gtest. It
|
||||||
|
// simply stores two values a string and an integer, which are returned via
|
||||||
|
// public accessors in multiple forms.
|
||||||
|
|
||||||
|
#import <string> |
||||||
|
|
||||||
|
class Widget { |
||||||
|
public: |
||||||
|
Widget(int number, const std::string& name); |
||||||
|
~Widget(); |
||||||
|
|
||||||
|
// Public accessors to number data
|
||||||
|
float GetFloatValue() const; |
||||||
|
int GetIntValue() const; |
||||||
|
|
||||||
|
// Public accessors to the string data
|
||||||
|
std::string GetStringValue() const; |
||||||
|
void GetCharPtrValue(char* buffer, size_t max_size) const; |
||||||
|
|
||||||
|
private: |
||||||
|
// Data members
|
||||||
|
float number_; |
||||||
|
std::string name_; |
||||||
|
}; |
@ -0,0 +1,68 @@ |
|||||||
|
// Copyright 2008, Google Inc.
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the names of its
|
||||||
|
// contributors may be used to endorse or promote products derived from
|
||||||
|
// this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
// Author: preston.jackson@gmail.com (Preston Jackson)
|
||||||
|
//
|
||||||
|
// Google Test - FrameworkSample
|
||||||
|
// widget_test.cc
|
||||||
|
//
|
||||||
|
|
||||||
|
// This is a simple test file for the Widget class in the Widget.framework
|
||||||
|
|
||||||
|
#include <string> |
||||||
|
#include <gtest/gtest.h> |
||||||
|
|
||||||
|
#include <Widget/widget.h> |
||||||
|
|
||||||
|
// This test verifies that the constructor sets the internal state of the
|
||||||
|
// Widget class correctly.
|
||||||
|
TEST(WidgetInitializerTest, TestConstructor) { |
||||||
|
Widget widget(1.0f, "name"); |
||||||
|
EXPECT_FLOAT_EQ(1.0f, widget.GetFloatValue()); |
||||||
|
EXPECT_EQ(std::string("name"), widget.GetStringValue()); |
||||||
|
} |
||||||
|
|
||||||
|
// This test verifies the conversion of the float and string values to int and
|
||||||
|
// char*, respectively.
|
||||||
|
TEST(WidgetInitializerTest, TestConversion) { |
||||||
|
Widget widget(1.0f, "name"); |
||||||
|
EXPECT_EQ(1, widget.GetIntValue()); |
||||||
|
|
||||||
|
size_t max_size = 128; |
||||||
|
char buffer[max_size]; |
||||||
|
widget.GetCharPtrValue(buffer, max_size); |
||||||
|
EXPECT_STREQ("name", buffer); |
||||||
|
}
|
||||||
|
|
||||||
|
// Use the Google Test main that is linked into the framework. It does something
|
||||||
|
// like this:
|
||||||
|
// int main(int argc, char** argv) {
|
||||||
|
// testing::InitGoogleTest(&argc, argv);
|
||||||
|
// return RUN_ALL_TESTS();
|
||||||
|
// }
|
Loading…
Reference in new issue