Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[mobile] Created demo mobile app

- Created app
- Added WURFL support
  - Wrote instructions on downloading and installing in docs/README.txt
  - Including wurfl zip and patch files in data directory
  - Created wurfl-config.php
  - Updated application config to add user agent support
- Created "mobile" controller with "details" endpoint
  • Loading branch information...
commit cbf199a3f01f153548c8528cbd7349b47d57e50f 1 parent b3309a8
@weierophinney authored
Showing with 625 additions and 0 deletions.
  1. +2 −0  mobile-app/.gitignore
  2. +80 −0 mobile-app/.zfproject.xml
  3. +8 −0 mobile-app/application/Bootstrap.php
  4. +24 −0 mobile-app/application/configs/application.ini
  5. +14 −0 mobile-app/application/configs/wurfl-config.php
  6. +56 −0 mobile-app/application/controllers/ErrorController.php
  7. +18 −0 mobile-app/application/controllers/IndexController.php
  8. +21 −0 mobile-app/application/controllers/MobileController.php
  9. +28 −0 mobile-app/application/views/scripts/error/error.phtml
  10. +43 −0 mobile-app/application/views/scripts/index/index.phtml
  11. +8 −0 mobile-app/application/views/scripts/mobile/details.phtml
  12. +1 −0  mobile-app/application/views/scripts/mobile/index.phtml
  13. 0  mobile-app/data/wurfl/cache/.placeholder
  14. +214 −0 mobile-app/data/wurfl/web_browsers_patch.xml
  15. BIN  mobile-app/data/wurfl/wurfl-latest.zip
  16. +55 −0 mobile-app/docs/README.txt
  17. +7 −0 mobile-app/public/.htaccess
  18. +26 −0 mobile-app/public/index.php
  19. 0  mobile-app/tests/application/bootstrap.php
  20. +20 −0 mobile-app/tests/application/controllers/MobileControllerTest.php
  21. 0  mobile-app/tests/library/bootstrap.php
  22. 0  mobile-app/tests/phpunit.xml
View
2  mobile-app/.gitignore
@@ -0,0 +1,2 @@
+library/Zend
+library/wurfl-php-1.1
View
80 mobile-app/.zfproject.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<projectProfile type="default" version="1.10">
+ <projectDirectory>
+ <projectProfileFile filesystemName=".zfproject.xml"/>
+ <applicationDirectory classNamePrefix="Application_">
+ <apisDirectory enabled="false"/>
+ <configsDirectory>
+ <applicationConfigFile type="ini"/>
+ </configsDirectory>
+ <controllersDirectory>
+ <controllerFile controllerName="Index">
+ <actionMethod actionName="index"/>
+ </controllerFile>
+ <controllerFile controllerName="Error"/>
+ <controllerFile controllerName="Mobile">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="details"/>
+ </controllerFile>
+ </controllersDirectory>
+ <formsDirectory enabled="false"/>
+ <layoutsDirectory enabled="false"/>
+ <modelsDirectory/>
+ <modulesDirectory enabled="false"/>
+ <viewsDirectory>
+ <viewScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Index">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Error">
+ <viewScriptFile forActionName="error"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Mobile">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Mobile">
+ <viewScriptFile forActionName="details"/>
+ </viewControllerScriptsDirectory>
+ </viewScriptsDirectory>
+ <viewHelpersDirectory/>
+ <viewFiltersDirectory enabled="false"/>
+ </viewsDirectory>
+ <bootstrapFile filesystemName="Bootstrap.php"/>
+ </applicationDirectory>
+ <dataDirectory enabled="false">
+ <cacheDirectory enabled="false"/>
+ <searchIndexesDirectory enabled="false"/>
+ <localesDirectory enabled="false"/>
+ <logsDirectory enabled="false"/>
+ <sessionsDirectory enabled="false"/>
+ <uploadsDirectory enabled="false"/>
+ </dataDirectory>
+ <docsDirectory>
+ <file filesystemName="README.txt"/>
+ </docsDirectory>
+ <libraryDirectory>
+ <zfStandardLibraryDirectory enabled="false"/>
+ </libraryDirectory>
+ <publicDirectory>
+ <publicStylesheetsDirectory enabled="false"/>
+ <publicScriptsDirectory enabled="false"/>
+ <publicImagesDirectory enabled="false"/>
+ <publicIndexFile filesystemName="index.php"/>
+ <htaccessFile filesystemName=".htaccess"/>
+ </publicDirectory>
+ <projectProvidersDirectory enabled="false"/>
+ <temporaryDirectory enabled="false"/>
+ <testsDirectory>
+ <testPHPUnitConfigFile filesystemName="phpunit.xml"/>
+ <testApplicationDirectory>
+ <testApplicationBootstrapFile filesystemName="bootstrap.php"/>
+ <testApplicationControllerDirectory>
+ <testApplicationControllerFile filesystemName="MobileControllerTest.php"/>
+ </testApplicationControllerDirectory>
+ </testApplicationDirectory>
+ <testLibraryDirectory>
+ <testLibraryBootstrapFile filesystemName="bootstrap.php"/>
+ </testLibraryDirectory>
+ </testsDirectory>
+ </projectDirectory>
+</projectProfile>
View
8 mobile-app/application/Bootstrap.php
@@ -0,0 +1,8 @@
+<?php
+
+class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
+{
+
+
+}
+
View
24 mobile-app/application/configs/application.ini
@@ -0,0 +1,24 @@
+[production]
+phpSettings.display_startup_errors = 0
+phpSettings.display_errors = 0
+includePaths.library = APPLICATION_PATH "/../library"
+bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
+bootstrap.class = "Bootstrap"
+appnamespace = "Application"
+resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
+resources.frontController.params.displayExceptions = 0
+
+resources.useragent.wurflapi.wurfl_api_version = "1.1"
+resources.useragent.wurflapi.wurfl_lib_dir = APPLICATION_PATH "/../library/wurfl-php-1.1/WURFL"
+resources.useragent.wurflapi.wurfl_config_file = APPLICATION_PATH "/configs/wurfl-config.php"
+
+[staging : production]
+
+[testing : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+
+[development : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+resources.frontController.params.displayExceptions = 1
View
14 mobile-app/application/configs/wurfl-config.php
@@ -0,0 +1,14 @@
+<?php
+$resourcesDir = dirname(__FILE__) . '/../../data/wurfl/';
+
+$wurfl['main-file'] = $resourcesDir . 'wurfl-latest.zip';
+$wurfl['patches'] = array($resourcesDir . 'web_browsers_patch.xml');
+
+$persistence['provider'] = 'file';
+$persistence['dir'] = $resourcesDir . '/cache/';
+
+$cache['provider'] = null;
+
+$configuration['wurfl'] = $wurfl;
+$configuration['persistence'] = $persistence;
+$configuration['cache'] = $cache;
View
56 mobile-app/application/controllers/ErrorController.php
@@ -0,0 +1,56 @@
+<?php
+
+class ErrorController extends Zend_Controller_Action
+{
+
+ public function errorAction()
+ {
+ $errors = $this->_getParam('error_handler');
+
+ if (!$errors) {
+ $this->view->message = 'You have reached the error page';
+ return;
+ }
+
+ switch ($errors->type) {
+ case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
+ case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
+ case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
+
+ // 404 error -- controller or action not found
+ $this->getResponse()->setHttpResponseCode(404);
+ $this->view->message = 'Page not found';
+ break;
+ default:
+ // application error
+ $this->getResponse()->setHttpResponseCode(500);
+ $this->view->message = 'Application error';
+ break;
+ }
+
+ // Log exception, if logger available
+ if ($log = $this->getLog()) {
+ $log->crit($this->view->message, $errors->exception);
+ }
+
+ // conditionally display exceptions
+ if ($this->getInvokeArg('displayExceptions') == true) {
+ $this->view->exception = $errors->exception;
+ }
+
+ $this->view->request = $errors->request;
+ }
+
+ public function getLog()
+ {
+ $bootstrap = $this->getInvokeArg('bootstrap');
+ if (!$bootstrap->hasResource('Log')) {
+ return false;
+ }
+ $log = $bootstrap->getResource('Log');
+ return $log;
+ }
+
+
+}
+
View
18 mobile-app/application/controllers/IndexController.php
@@ -0,0 +1,18 @@
+<?php
+
+class IndexController extends Zend_Controller_Action
+{
+
+ public function init()
+ {
+ /* Initialize action controller here */
+ }
+
+ public function indexAction()
+ {
+ // action body
+ }
+
+
+}
+
View
21 mobile-app/application/controllers/MobileController.php
@@ -0,0 +1,21 @@
+<?php
+
+class MobileController extends Zend_Controller_Action
+{
+
+ public function init()
+ {
+ /* Initialize action controller here */
+ }
+
+ public function indexAction()
+ {
+ // action body
+ }
+
+ public function detailsAction()
+ {
+ $ua = $this->getInvokeArg('bootstrap')->getResource('useragent');
+ $this->view->device = $ua->getDevice();
+ }
+}
View
28 mobile-app/application/views/scripts/error/error.phtml
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Zend Framework Default Application</title>
+</head>
+<body>
+ <h1>An error occurred</h1>
+ <h2><?php echo $this->message ?></h2>
+
+ <?php if (isset($this->exception)): ?>
+
+ <h3>Exception information:</h3>
+ <p>
+ <b>Message:</b> <?php echo $this->exception->getMessage() ?>
+ </p>
+
+ <h3>Stack trace:</h3>
+ <pre><?php echo $this->exception->getTraceAsString() ?>
+ </pre>
+
+ <h3>Request Parameters:</h3>
+ <pre><?php echo var_export($this->request->getParams(), true) ?>
+ </pre>
+ <?php endif ?>
+
+</body>
+</html>
View
43 mobile-app/application/views/scripts/index/index.phtml
@@ -0,0 +1,43 @@
+<style>
+ a:link,
+ a:visited
+ {
+ color: #0398CA;
+ }
+
+ span#zf-name
+ {
+ color: #91BE3F;
+ }
+
+ div#welcome
+ {
+ color: #FFFFFF;
+ background-image: url(http://framework.zend.com/images/bkg_header.jpg);
+ width: 600px;
+ height: 400px;
+ border: 2px solid #444444;
+ overflow: hidden;
+ text-align: center;
+ }
+
+ div#more-information
+ {
+ background-image: url(http://framework.zend.com/images/bkg_body-bottom.gif);
+ height: 100%;
+ }
+</style>
+<div id="welcome">
+ <h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1>
+
+ <h3>This is your project's main page</h3>
+
+ <div id="more-information">
+ <p><img src="http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" /></p>
+ <p>
+ Helpful Links: <br />
+ <a href="http://framework.zend.com/">Zend Framework Website</a> |
+ <a href="http://framework.zend.com/manual/en/">Zend Framework Manual</a>
+ </p>
+ </div>
+</div>
View
8 mobile-app/application/views/scripts/mobile/details.phtml
@@ -0,0 +1,8 @@
+<h2>Device Capabilities</h2>
+<dl>
+<?php foreach ($this->device->getAllFeatures() as $feature => $value): ?>
+ <dt><?php echo $this->escape($feature) ?></dt>
+ <dd><?php echo $this->escape($value) ?></dd>
+<?php endforeach ?>
+</dl>
+
View
1  mobile-app/application/views/scripts/mobile/index.phtml
@@ -0,0 +1 @@
+<br /><br /><center>View script for controller <b>Mobile</b> and script/action name <b>index</b></center>
View
0  mobile-app/data/wurfl/cache/.placeholder
No changes.
View
214 mobile-app/data/wurfl/web_browsers_patch.xml
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wurfl_patch>
+ <devices>
+ <!-- Web browsers -->
+ <device user_agent="Mozilla/4.0" fall_back="generic" id="generic_web_browser">
+ <group id="product_info">
+ <capability name="brand_name" value="generic web browser"/>
+ <capability name="model_name" value=""/>
+ <capability name="is_wireless_device" value="false"/>
+ </group>
+ <group id="display">
+ <capability name="resolution_width" value="800"/>
+ <capability name="resolution_height" value="600"/>
+ </group>
+ <group id="markup">
+ <capability name="xhtml_support_level" value="4"/>
+ <capability name="preferred_markup" value="html_web_4_0"/>
+ </group>
+ </device>
+
+ <device id="mozilla_ver5" user_agent="Mozilla/5.0" fall_back="generic_web_browser"/>
+
+ <!-- Firefox -->
+ <device user_agent="Firefox" fall_back="generic_web_browser" id="firefox">
+ <group id="product_info">
+ <capability name="brand_name" value="firefox" />
+ </group>
+ </device>
+
+ <device user_agent="Firefox/1.0" fall_back="firefox" id="firefox_1">
+ <group id="product_info">
+ <capability name="model_name" value="1.0" />
+ </group>
+ </device>
+ <device user_agent="Firefox/1.5" fall_back="firefox" id="firefox_1_5">
+ <group id="product_info">
+ <capability name="model_name" value="1.5" />
+ </group>
+ </device>
+ <device user_agent="Firefox/2.0" fall_back="firefox" id="firefox_2">
+ <group id="product_info">
+ <capability name="model_name" value="2.0" />
+ </group>
+ </device>
+ <device user_agent="Firefox/3.0" fall_back="firefox" id="firefox_3">
+ <group id="product_info">
+ <capability name="model_name" value="3.0" />
+ </group>
+ </device>
+ <device user_agent="Firefox/3.5" fall_back="firefox" id="firefox_3_5">
+ <group id="product_info">
+ <capability name="model_name" value="3.5" />
+ </group>
+ </device>
+
+
+
+ <!-- Opera -->
+ <device user_agent="Opera" fall_back="generic_web_browser" id="opera">
+ <group id="product_info">
+ <capability name="brand_name" value="opera" />
+ </group>
+ </device>
+
+ <device user_agent="Opera/7" fall_back="opera" id="opera_7">
+ <group id="product_info">
+ <capability name="model_name" value="7" />
+ </group>
+ </device>
+
+ <device user_agent="Opera/8" fall_back="opera" id="opera_8">
+ <group id="product_info">
+ <capability name="model_name" value="8" />
+ </group>
+ </device>
+
+
+ <device user_agent="Opera/9" fall_back="opera" id="opera_9">
+ <group id="product_info">
+ <capability name="model_name" value="9" />
+ </group>
+ </device>
+
+ <device user_agent="Opera/10" fall_back="opera" id="opera_10">
+ <group id="product_info">
+ <capability name="model_name" value="10" />
+ </group>
+ </device>
+
+ <!-- Safari -->
+ <device user_agent="Safari/" fall_back="generic_web_browser"
+ id="safari">
+ <group id="product_info">
+ <capability name="brand_name" value="safari" />
+ </group>
+ </device>
+ <device user_agent="Safari/525" fall_back="safari" id="safari_525">
+ <group id="product_info">
+ <capability name="model_name" value="525" />
+ </group>
+ </device>
+ <device user_agent="Safari/530" fall_back="safari" id="safari_530">
+ <group id="product_info">
+ <capability name="model_name" value="530" />
+ </group>
+ </device>
+
+ <device user_agent="Mozilla/5.0 (Macintosh; U; Safari/525" fall_back="safari_525" id="safari_525_mac_osx" />
+ <device user_agent="Mozilla/5.0 (Windows; U; Safari/525" fall_back="safari_525" id="safari_525_win" />
+ <device user_agent="Mozilla/5.0 (Macintosh; U; Safari/530" fall_back="safari_530" id="safari_530_mac_osx" />
+ <device user_agent="Mozilla/5.0 (Windows; U; Safari/530" fall_back="safari_530" id="safari_530_win" />
+
+ <!-- Internet Explorer -->
+ <device user_agent="Mozilla/4.0 (compatible; MSIE" fall_back="generic_web_browser"
+ id="msie">
+ <group id="product_info">
+ <capability name="brand_name" value="internet explorer" />
+ </group>
+ </device>
+ <device user_agent="Mozilla/4.0 (compatible; MSIE 4.0;"
+ fall_back="msie" id="msie_4">
+ <group id="product_info">
+ <capability name="model_name" value="4.0" />
+ </group>
+ </device>
+
+ <device user_agent="Mozilla/4.0 (compatible; MSIE 5.0;"
+ fall_back="msie" id="msie_5">
+ <group id="product_info">
+ <capability name="model_name" value="5.0" />
+ </group>
+ </device>
+
+ <device user_agent="Mozilla/4.0 (compatible; MSIE 5.5;"
+ fall_back="msie" id="msie_5_5">
+ <group id="product_info">
+ <capability name="model_name" value="5.5" />
+ </group>
+ </device>
+
+ <device user_agent="Mozilla/4.0 (compatible; MSIE 6.0;"
+ fall_back="msie" id="msie_6">
+ <group id="product_info">
+ <capability name="model_name" value="6.0" />
+ </group>
+ </device>
+ <device user_agent="Mozilla/4.0 (compatible; MSIE 7.0;"
+ fall_back="msie" id="msie_7">
+ <group id="product_info">
+ <capability name="model_name" value="7.0" />
+ </group>
+ </device>
+ <device user_agent="Mozilla/4.0 (compatible; MSIE 8.0;"
+ fall_back="msie" id="msie_8">
+ <group id="product_info">
+ <capability name="model_name" value="8.0" />
+ </group>
+ </device>
+
+
+ <!-- Google Chrome -->
+ <device user_agent="Chrome" fall_back="generic_web_browser"
+ id="google_chrome">
+ <group id="product_info">
+ <capability name="brand_name" value="chrome" />
+ </group>
+ </device>
+
+ <device user_agent="Chrome/0" fall_back="google_chrome" id="google_chrome_0">
+ <group id="product_info">
+ <capability name="model_name" value="0" />
+ </group>
+ </device>
+
+ <device user_agent="Chrome/1" fall_back="google_chrome" id="google_chrome_1">
+ <group id="product_info">
+ <capability name="model_name" value="1.0" />
+ </group>
+ </device>
+
+ <device user_agent="Chrome/2" fall_back="google_chrome" id="google_chrome_2">
+ <group id="product_info">
+ <capability name="model_name" value="2.0" />
+ </group>
+ </device>
+
+
+ <!-- Konqueror -->
+ <device user_agent="Konqueror" fall_back="generic_web_browser"
+ id="konqueror">
+ <group id="product_info">
+ <capability name="brand_name" value="konqueror" />
+ </group>
+ </device>
+
+ <device user_agent="Konqueror/2" fall_back="konqueror" id="konqueror_2">
+ <group id="product_info">
+ <capability name="model_name" value="2" />
+ </group>
+ </device>
+
+ <device user_agent="Konqueror/3" fall_back="konqueror" id="konqueror_3">
+ <group id="product_info">
+ <capability name="model_name" value="3" />
+ </group>
+ </device>
+
+ <device user_agent="Konqueror/4" fall_back="konqueror" id="konqueror_4">
+ <group id="product_info">
+ <capability name="model_name" value="4" />
+ </group>
+ </device>
+ </devices>
+</wurfl_patch>
View
BIN  mobile-app/data/wurfl/wurfl-latest.zip
Binary file not shown
View
55 mobile-app/docs/README.txt
@@ -0,0 +1,55 @@
+README
+======
+
+This app is meant to be a demonstration of Zend Framework 1.11.0's
+mobile functionality.
+
+REQUIREMENTS
+============
+
+WURFL PHP API:
+ * Download the WURFL PHP API (and note where you download it):
+ http://sourceforge.net/projects/wurfl/files/WURFL%20PHP/1.1/wurfl-php-1.1.tar.gz/download
+ * Descend into the library directory:
+ cd /path/to/mobile-app/library
+ * Extract the WURFL library:
+ tar xzvf /path/to/wurfl-php-1.1.tar.gz
+ * Inflating the library creates the following hierarchy:
+ library
+ |-- wurfl-php-1.1
+ | |-- COPYING
+ | |-- docs
+ | |-- examples
+ | |-- README
+ | |-- tests
+ | `-- WURFL
+ * Return to the project root directory
+ * Create the data and cache directory:
+ mkdir -p data/wurfl/cache
+ * Copy the WURFL data, which consists of a ZIP file and one or more
+ XML patch files, into the data directory:
+ cp library/wurfl-php-1.1/tests/resources/wurfl-latest.zip data/wurfl/
+ cp library/wurfl-php-1.1/tests/resources/web_browsers_patch.xml data/wurfl/
+ * Create the WURFL configuration file at (application/configs/wurfl-config.php) to read as follows:
+ <?php
+ $resourcesDir = dirname(__FILE__) . '/../../data/wurfl/';
+
+ $wurfl['main-file'] = $resourcesDir . 'wurfl-latest.zip';
+ $wurfl['patches'] = array($resourcesDir . 'web_browsers_patch.xml');
+
+ $persistence['provider'] = 'file';
+ $persistence['dir'] = $resourcesDir . '/cache/';
+
+ $cache['provider'] = null;
+
+ $configuration['wurfl'] = $wurfl;
+ $configuration['persistence'] = $persistence;
+ $configuration['cache'] = $cache;
+ * Make sure the cache directory is world writable (or at least writable
+ by your web user):
+ chmod -R o+rwX data/
+ * Update your application/configs/application.ini to add the following
+ lines to the "[production]" section:
+ resources.useragent.wurflapi.wurfl_api_version = "1.1"
+ resources.useragent.wurflapi.wurfl_lib_dir = APPLICATION_PATH "/../library/wurfl-php-1.1/WURFL"
+ resources.useragent.wurflapi.wurfl_config_file = APPLICATION_PATH "/configs/wurfl-config.php"
View
7 mobile-app/public/.htaccess
@@ -0,0 +1,7 @@
+
+RewriteEngine On
+RewriteCond %{REQUEST_FILENAME} -s [OR]
+RewriteCond %{REQUEST_FILENAME} -l [OR]
+RewriteCond %{REQUEST_FILENAME} -d
+RewriteRule ^.*$ - [NC,L]
+RewriteRule ^.*$ index.php [NC,L]
View
26 mobile-app/public/index.php
@@ -0,0 +1,26 @@
+<?php
+
+// Define path to application directory
+defined('APPLICATION_PATH')
+ || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
+
+// Define application environment
+defined('APPLICATION_ENV')
+ || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
+
+// Ensure library/ is on include_path
+set_include_path(implode(PATH_SEPARATOR, array(
+ realpath(APPLICATION_PATH . '/../library'),
+ get_include_path(),
+)));
+
+/** Zend_Application */
+require_once 'Zend/Application.php';
+
+// Create application, bootstrap, and run
+$application = new Zend_Application(
+ APPLICATION_ENV,
+ APPLICATION_PATH . '/configs/application.ini'
+);
+$application->bootstrap()
+ ->run();
View
0  mobile-app/tests/application/bootstrap.php
No changes.
View
20 mobile-app/tests/application/controllers/MobileControllerTest.php
@@ -0,0 +1,20 @@
+<?php
+
+require_once 'PHPUnit/Framework/TestCase.php';
+
+class MobileControllerTest extends PHPUnit_Framework_TestCase
+{
+
+ public function setUp()
+ {
+ /* Setup Routine */
+ }
+
+ public function tearDown()
+ {
+ /* Tear Down Routine */
+ }
+
+
+}
+
View
0  mobile-app/tests/library/bootstrap.php
No changes.
View
0  mobile-app/tests/phpunit.xml
No changes.
Please sign in to comment.
Something went wrong with that request. Please try again.