Wt  3.3.3
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Private Member Functions | List of all members
Wt::Test::WTestEnvironment Class Reference

An environment for testing purposes. More...

#include <Wt/Test/WTestEnvironment>

Inheritance diagram for Wt::Test::WTestEnvironment:
Inheritance graph
[legend]

Public Member Functions

 WTestEnvironment (EntryPointType type=Application)
 Default constructor. More...
 
 WTestEnvironment (const std::string &applicationPath, const std::string &configurationFile, EntryPointType type=Application)
 Constructor with custom configuration. More...
 
 ~WTestEnvironment ()
 Destructor.
 
void setParameterMap (const Http::ParameterMap &parameters)
 Sets parameters to the application. More...
 
void setCookies (const CookieMap &cookies)
 Sets HTTP cookies. More...
 
void setHeaderValue (const std::string &value)
 Sets a HTTP header value. More...
 
void setSupportsCookies (bool enabled)
 Sets whether cookies are supported. More...
 
void setAjax (bool enabled)
 Sets whether AJAX is supported. More...
 
void setDpiScale (double dpiScale)
 Sets the display's DPI scale. More...
 
void setLocale (const WLocale &locale)
 Sets the locale. More...
 
void setHostName (const std::string &hostName)
 Sets the host name. More...
 
void setUrlScheme (const std::string &scheme)
 Sets the URL scheme. More...
 
void setUserAgent (const std::string &userAgent)
 Sets the user agent. More...
 
void setReferer (const std::string &referer)
 Sets the referer. More...
 
void setAccept (const std::string &accept)
 Sets the accept header. More...
 
void setServerSignature (const std::string &signature)
 Sets the server signature. More...
 
void setServerSoftware (const std::string &software)
 Sets the server software. More...
 
void setServerAdmin (const std::string &serverAdmin)
 Sets the server admin. More...
 
void setClientAddress (const std::string &clientAddress)
 Sets the client address. More...
 
void setInternalPath (const std::string &internalPath)
 Sets the initial internal path. More...
 
void setContentType (ContentType contentType)
 Sets the content type (deprecated. More...
 
virtual Signal< WDialog * > & dialogExecuted () const
 Signal used to test a dialog/messagebox reentrant event loop. More...
 
virtual Signal< WPopupMenu * > & popupExecuted () const
 Signal used to test a popup menu reentrant event loop. More...
 
void endRequest ()
 Simulates the end of a request by the main event loop. More...
 
void startRequest ()
 Simulates the start of a new request by the main event loop. More...
 
void setSessionIdInUrl (bool sessionIdInUrl)
 Simulates the presence of the session ID in the URL. More...
 
- Public Member Functions inherited from Wt::WEnvironment
const Http::ParameterMapgetParameterMap () const
 Parameters passed to the application. More...
 
const Http::ParameterValuesgetParameterValues (const std::string &name) const
 Returns values for a query parameter. More...
 
const std::string * getParameter (const std::string &name) const
 Returns a single value for a query parameter. More...
 
const CookieMapcookies () const
 Returns the cookies from the environment. More...
 
const std::string getCookie (const std::string &cookieNname) const
 Returns a cookie value. More...
 
const std::string * getCookieValue (const std::string &cookieName) const
 Returns a cookie value. More...
 
const std::string headerValue (const std::string &field) const
 Returns a header value. More...
 
bool supportsCookies () const
 Returns whether the browser has enabled support for cookies. More...
 
bool javaScript () const
 Returns whether the browser has enabled support for JavaScript. More...
 
bool ajax () const
 Returns whether the browser has enabled support for AJAX. More...
 
double dpiScale () const
 Returns the browser-side DPI scaling factor. More...
 
const WLocalelocale () const
 Returns the preferred language indicated in the request header. More...
 
int timeZoneOffset () const
 Returns the time zone offset as reported by the client. More...
 
const std::string & hostName () const
 Returns the server host name that is used by the client. More...
 
const std::string & urlScheme () const
 Returns the URL scheme used for the current request ("http" or "https").
 
const std::string & userAgent () const
 Returns the user agent. More...
 
const std::string & referer () const
 Returns the referer. More...
 
const std::string & accept () const
 Returns the accept header. More...
 
bool agentIsSpiderBot () const
 Returns if the user agent is a (known) indexing spider bot. More...
 
const std::string & serverSignature () const
 Returns the web server signature. More...
 
const std::string & serverSoftware () const
 Returns the web server software. More...
 
const std::string & serverAdmin () const
 Returns the email address of the server admin. More...
 
const std::string & clientAddress () const
 Returns the IP address of the client. More...
 
const std::string & pathInfo () const
 Returns the path info of the original request (deprecated) More...
 
const std::string & internalPath () const
 Returns the initial internal path. More...
 
const std::string & deploymentPath () const
 Returns the deployment path. More...
 
void libraryVersion (int &series, int &major, int &minor) const
 Returns the version of the Wt library, broken down. More...
 
std::string sessionId () const
 Returns the Wt session id (deprecated). More...
 
std::string getCgiValue (const std::string &varName) const
 Returns a raw CGI environment variable. More...
 
ContentType contentType () const
 The type of the content provided to the browser. More...
 
UserAgent agent () const
 Returns the user agent type. More...
 
bool agentIsIE () const
 Returns whether the user agent is Microsoft Internet Explorer. More...
 
bool agentIsIElt (int version) const
 Returns whether the user agent is an older version of IE. More...
 
bool agentIsIEMobile () const
 Returns whether the user agent is Internet Explorer Mobile. More...
 
bool agentIsOpera () const
 Returns whether the user agent is Opera. More...
 
bool agentIsWebKit () const
 Returns whether the user agent is WebKit-based. More...
 
bool agentIsMobileWebKit () const
 Returns whether the user agent is Mobile WebKit-based. More...
 
bool agentIsSafari () const
 Returns whether the user agent is Safari. More...
 
bool agentIsChrome () const
 Returns whether the user agent is Chrome. More...
 
bool agentIsGecko () const
 Returns whether the user agent is Gecko-based. More...
 
WServerserver () const
 Returns the server. More...
 
WSslInfosslInfo () const
 Returns information on the SSL client certificate or 0 if no authentication took place. More...
 
bool supportsCss3Animations () const
 Returns whether this agent supports CSS3 animations.
 

Private Member Functions

virtual bool isTest () const
 Returns whether this is a mocked test environment.
 

Additional Inherited Members

- Public Types inherited from Wt::WEnvironment
enum  UserAgent {
  Unknown = 0, IEMobile = 1000, IE6 = 1001, IE7 = 1002,
  IE8 = 1003, IE9 = 1004, IE10 = 1005, IE11 = 1006,
  Opera = 3000, Opera10 = 3010, WebKit = 4000, Safari = 4100,
  Safari3 = 4103, Safari4 = 4104, Chrome0 = 4200, Chrome1 = 4201,
  Chrome2 = 4202, Chrome3 = 4203, Chrome4 = 4204, Chrome5 = 4205,
  Arora = 4300, MobileWebKit = 4400, MobileWebKitiPhone = 4450, MobileWebKitAndroid = 4500,
  Konqueror = 5000, Gecko = 6000, Firefox = 6100, Firefox3_0 = 6101,
  Firefox3_1 = 6102, Firefox3_1b = 6103, Firefox3_5 = 6104, Firefox3_6 = 6105,
  Firefox4_0 = 6106, Firefox5_0 = 6107, BotAgent = 10000
}
 An enumeration type for specific user agent. More...
 
enum  ContentType { XHTML1, HTML4, HTML5 }
 Enumeration for HTML content type. More...
 
typedef std::map< std::string,
std::string > 
CookieMap
 Cookie map. More...
 
- Static Public Member Functions inherited from Wt::WEnvironment
static std::string libraryVersion ()
 Returns the version of the Wt library. More...
 

Detailed Description

An environment for testing purposes.

This environment is useful for use in automated (integration/unit) tests: you may configure its properties and pass it to the constructor of an application.

This is useful for automated test-cases:

void testX() {
Test::WTestEnvironment environment;
MyApplication app(environment);
...
}
See Also
WEnvironment, WApplication::WApplication(const WEnvironment&)

Constructor & Destructor Documentation

Wt::Test::WTestEnvironment::WTestEnvironment ( EntryPointType  type = Application)

Default constructor.

Constructs a test environment that resembles FireFox 3.0 with default settings.

After construction, but before passing it to the constructor of a WApplication, you can change any of the environment properties using the setter methods.

Wt::Test::WTestEnvironment::WTestEnvironment ( const std::string &  applicationPath,
const std::string &  configurationFile,
EntryPointType  type = Application 
)

Constructor with custom configuration.

Constructs a test environment that resembles FireFox 3.0 with default settings.

The applicationPath is the simulated deployment path. The configuration file points to a wt_config.xml configuration file. The type indicates the application type.

After construction, but before passing it to the constructor of a WApplication, you can change any of the environment properties using the setter methods.

Member Function Documentation

Signal< WDialog * > & Wt::Test::WTestEnvironment::dialogExecuted ( ) const
virtual

Signal used to test a dialog/messagebox reentrant event loop.

This signal is emitted when a dialog or message box is being executed using WDialog::exec() or WMessageBox::exec(), and allows you to interact with the dialog contents.

In the end, the dialog should be closed while executing this signal, (calling done() directly or indirectly) so that the main event loop can continue.

Reimplemented from Wt::WEnvironment.

void Wt::Test::WTestEnvironment::endRequest ( )

Simulates the end of a request by the main event loop.

The environemnt (and application is) started from within the main event loop. To simulate the delivery of events posted to the application-under-test, by WServer::post(), you need to simulate the release of the session lock.

See Also
startRequest()
Signal< WPopupMenu * > & Wt::Test::WTestEnvironment::popupExecuted ( ) const
virtual

Signal used to test a popup menu reentrant event loop.

This signal is emitted when a popup menu is being executed using WPopupMenu::exec(), and allows you to interact with the popup menu (i.e. to select an option).

See Also
dialogExecuted()

Reimplemented from Wt::WEnvironment.

void Wt::Test::WTestEnvironment::setAccept ( const std::string &  accept)

Sets the accept header.

The default value is "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8".
See Also
accept()
void Wt::Test::WTestEnvironment::setAjax ( bool  enabled)

Sets whether AJAX is supported.

The default value is true.

See Also
ajax()
void Wt::Test::WTestEnvironment::setClientAddress ( const std::string &  clientAddress)

Sets the client address.

The default value is "127.0.0.1".

See Also
clientAddress()
void Wt::Test::WTestEnvironment::setContentType ( ContentType  contentType)

Sets the content type (deprecated.

Since contentType is now always HTML5, this setting is ignored.

void Wt::Test::WTestEnvironment::setCookies ( const CookieMap cookies)

Sets HTTP cookies.

The default value is an empty map.

See Also
cookies()
void Wt::Test::WTestEnvironment::setDpiScale ( double  dpiScale)

Sets the display's DPI scale.

The default value is 1.

See Also
dpiScale()
void Wt::Test::WTestEnvironment::setHeaderValue ( const std::string &  value)

Sets a HTTP header value.

The default value is no headers.

See Also
headerValue()
void Wt::Test::WTestEnvironment::setHostName ( const std::string &  hostName)

Sets the host name.

The default value is "localhost".

See Also
hostName()
void Wt::Test::WTestEnvironment::setInternalPath ( const std::string &  internalPath)

Sets the initial internal path.

The default value is "".

See Also
internalPath()
void Wt::Test::WTestEnvironment::setLocale ( const WLocale locale)

Sets the locale.

The default value is WLocale("en").

See Also
locale()
void Wt::Test::WTestEnvironment::setParameterMap ( const Http::ParameterMap parameters)

Sets parameters to the application.

The default value is an empty map.

See Also
getParameterMap()
void Wt::Test::WTestEnvironment::setReferer ( const std::string &  referer)

Sets the referer.

The default value is "".

See Also
referer()
void Wt::Test::WTestEnvironment::setServerAdmin ( const std::string &  serverAdmin)

Sets the server admin.

The default value is "your@onyourown.here".

See Also
serverAdmin()
void Wt::Test::WTestEnvironment::setServerSignature ( const std::string &  signature)

Sets the server signature.

The default value is "None (WTestEnvironment)".

See Also
serverSignature()
void Wt::Test::WTestEnvironment::setServerSoftware ( const std::string &  software)

Sets the server software.

The default value is "None (WTestEnvironment)".

See Also
serverSoftware()
void Wt::Test::WTestEnvironment::setSessionIdInUrl ( bool  sessionIdInUrl)

Simulates the presence of the session ID in the URL.

A session ID in the URL should cause a trampoline to be used for references to external servers.

The default value is false.

void Wt::Test::WTestEnvironment::setSupportsCookies ( bool  enabled)

Sets whether cookies are supported.

The default value is true.

See Also
supportsCookies()
void Wt::Test::WTestEnvironment::setUrlScheme ( const std::string &  scheme)

Sets the URL scheme.

The default value is "http".

See Also
urlScheme()
void Wt::Test::WTestEnvironment::setUserAgent ( const std::string &  userAgent)

Sets the user agent.

The default value is no "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.11) Gecko/2009060309 Ubuntu/9.04 (jaunty) Firefox/3.0.11".

See Also
userAgent()
void Wt::Test::WTestEnvironment::startRequest ( )

Simulates the start of a new request by the main event loop.

See Also
endRequest()

Generated on Tue May 27 2014 for the C++ Web Toolkit (Wt) by doxygen 1.8.4