From f1d25bcc20467ca3fb58576b952e64283568f265 Mon Sep 17 00:00:00 2001 From: "mariano.iglesias" Date: Sat, 14 Mar 2009 22:24:42 +0000 Subject: [PATCH 01/67] Removing need to explicitly set IDs for Containable test, added in r6989 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8098 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../libs/model/behaviors/containable.test.php | 21 ++++++++++++------- cake/tests/fixtures/comment_fixture.php | 12 +++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/cake/tests/cases/libs/model/behaviors/containable.test.php b/cake/tests/cases/libs/model/behaviors/containable.test.php index 5c7b23e6e..9a7a2f4e1 100644 --- a/cake/tests/cases/libs/model/behaviors/containable.test.php +++ b/cake/tests/cases/libs/model/behaviors/containable.test.php @@ -2868,25 +2868,32 @@ class ContainableTest extends CakeTestCase { $this->assertEqual($result, $expected); $result = $this->Article->find('all', array('contain' => array('Comment(comment, published)' => 'Attachment(attachment)', 'User(user)'), 'fields' => array('title'))); + if (!empty($result)) { + foreach($result as $i=>$article) { + foreach($article['Comment'] as $j=>$comment) { + $result[$i]['Comment'][$j] = array_diff_key($comment, array('id'=>true)); + } + } + } $expected = array( array( 'Article' => array('title' => 'First Article', 'id' => 1), 'User' => array('user' => 'mariano', 'id' => 1), 'Comment' => array( - array('comment' => 'First Comment for First Article', 'published' => 'Y', 'id' => 1, 'article_id' => 1, 'Attachment' => array()), - array('comment' => 'Second Comment for First Article', 'published' => 'Y', 'id' => 2, 'article_id' => 1, 'Attachment' => array()), - array('comment' => 'Third Comment for First Article', 'published' => 'Y', 'id' => 3, 'article_id' => 1, 'Attachment' => array()), - array('comment' => 'Fourth Comment for First Article', 'published' => 'N', 'id' => 4, 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'First Comment for First Article', 'published' => 'Y', 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'Second Comment for First Article', 'published' => 'Y', 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'Third Comment for First Article', 'published' => 'Y', 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'Fourth Comment for First Article', 'published' => 'N', 'article_id' => 1, 'Attachment' => array()), ) ), array( 'Article' => array('title' => 'Second Article', 'id' => 2), 'User' => array('user' => 'larry', 'id' => 3), 'Comment' => array( - array('comment' => 'First Comment for Second Article', 'published' => 'Y', 'id' => 5, 'article_id' => 2, 'Attachment' => array( + array('comment' => 'First Comment for Second Article', 'published' => 'Y', 'article_id' => 2, 'Attachment' => array( 'attachment' => 'attachment.zip', 'id' => 1 )), - array('comment' => 'Second Comment for Second Article', 'published' => 'Y', 'id' => 6, 'article_id' => 2, 'Attachment' => array()) + array('comment' => 'Second Comment for Second Article', 'published' => 'Y', 'article_id' => 2, 'Attachment' => array()) ) ), array( @@ -3535,4 +3542,4 @@ class ContainableTest extends CakeTestCase { } } -?> \ No newline at end of file +?> diff --git a/cake/tests/fixtures/comment_fixture.php b/cake/tests/fixtures/comment_fixture.php index 3c563102b..0c5a11be3 100644 --- a/cake/tests/fixtures/comment_fixture.php +++ b/cake/tests/fixtures/comment_fixture.php @@ -60,12 +60,12 @@ class CommentFixture extends CakeTestFixture { * @access public */ var $records = array( - array('id' => 1, 'article_id' => 1, 'user_id' => 2, 'comment' => 'First Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:45:23', 'updated' => '2007-03-18 10:47:31'), - array('id' => 2, 'article_id' => 1, 'user_id' => 4, 'comment' => 'Second Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:47:23', 'updated' => '2007-03-18 10:49:31'), - array('id' => 3, 'article_id' => 1, 'user_id' => 1, 'comment' => 'Third Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:49:23', 'updated' => '2007-03-18 10:51:31'), - array('id' => 4, 'article_id' => 1, 'user_id' => 1, 'comment' => 'Fourth Comment for First Article', 'published' => 'N', 'created' => '2007-03-18 10:51:23', 'updated' => '2007-03-18 10:53:31'), - array('id' => 5, 'article_id' => 2, 'user_id' => 1, 'comment' => 'First Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:53:23', 'updated' => '2007-03-18 10:55:31'), - array('id' => 6, 'article_id' => 2, 'user_id' => 2, 'comment' => 'Second Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:55:23', 'updated' => '2007-03-18 10:57:31') + array('article_id' => 1, 'user_id' => 2, 'comment' => 'First Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:45:23', 'updated' => '2007-03-18 10:47:31'), + array('article_id' => 1, 'user_id' => 4, 'comment' => 'Second Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:47:23', 'updated' => '2007-03-18 10:49:31'), + array('article_id' => 1, 'user_id' => 1, 'comment' => 'Third Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:49:23', 'updated' => '2007-03-18 10:51:31'), + array('article_id' => 1, 'user_id' => 1, 'comment' => 'Fourth Comment for First Article', 'published' => 'N', 'created' => '2007-03-18 10:51:23', 'updated' => '2007-03-18 10:53:31'), + array('article_id' => 2, 'user_id' => 1, 'comment' => 'First Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:53:23', 'updated' => '2007-03-18 10:55:31'), + array('article_id' => 2, 'user_id' => 2, 'comment' => 'Second Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:55:23', 'updated' => '2007-03-18 10:57:31') ); } From ed43e95cf3fc7891cdf484bcf5fe659a21406afb Mon Sep 17 00:00:00 2001 From: phpnut Date: Sun, 15 Mar 2009 00:08:56 +0000 Subject: [PATCH 02/67] Adding methods for setting headers and handling header output, will make testing easier on the class git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8099 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/media.php | 88 ++++++++++++++++++++++++++++++---------- 1 file changed, 66 insertions(+), 22 deletions(-) diff --git a/cake/libs/view/media.php b/cake/libs/view/media.php index c1746544b..e56e73aa4 100644 --- a/cake/libs/view/media.php +++ b/cake/libs/view/media.php @@ -79,6 +79,13 @@ class MediaView extends View { 'iges' => 'model/iges', 'igs' => 'model/iges', 'mesh' => 'model/mesh', 'msh' => 'model/mesh', 'silo' => 'model/mesh', 'vrml' => 'model/vrml', 'wrl' => 'model/vrml', 'mime' => 'www/mime', 'pdb' => 'chemical/x-pdb', 'xyz' => 'chemical/x-pdb'); +/** + * Holds headers sent to browser before rendering media + * + * @var array + * @access protected + */ + var $_headers = array(); /** * Constructor * @@ -105,7 +112,7 @@ class MediaView extends View { } else { $path = APP . $path . $id; } - + if (!file_exists($path)) { header('Content-Type: text/html'); $this->cakeError('error404'); @@ -118,7 +125,7 @@ class MediaView extends View { if (is_array($mimeType)) { $this->mimeType = array_merge($this->mimeType, $mimeType); } - + if (isset($extension) && isset($this->mimeType[$extension]) && connection_status() == 0) { $chunkSize = 8192; $buffer = ''; @@ -148,13 +155,14 @@ class MediaView extends View { )); } foreach($contentTypes as $contentType) { - header('Content-Type: ' . $contentType); + $this->_header('Content-Type: ' . $contentType); } - header('Content-Disposition: attachment; filename="' . $name . '.' . $extension . '";'); - header('Expires: 0'); - header('Accept-Ranges: bytes'); - header('Cache-Control: private', false); - header('Pragma: private'); + $this->_header(array( + 'Content-Disposition: attachment; filename="' . $name . '.' . $extension . '";', + 'Expires: 0', + 'Accept-Ranges: bytes', + 'Cache-Control: private' => false, + 'Pragma: private')); $httpRange = env('HTTP_RANGE'); if (isset($httpRange)) { @@ -163,30 +171,36 @@ class MediaView extends View { $size = $fileSize - 1; $length = $fileSize - $range; - header('HTTP/1.1 206 Partial Content'); - header('Content-Length: ' . $length); - header('Content-Range: bytes ' . $range . $size . '/' . $fileSize); + $this->_header(array( + 'HTTP/1.1 206 Partial Content', + 'Content-Length: ' . $length, + 'Content-Range: bytes ' . $range . $size . '/' . $fileSize)); + fseek($handle, $range); } else { - header('Content-Length: ' . $fileSize); + $this->_header('Content-Length: ' . $fileSize); } } else { - header('Date: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT'); + $this->_header('Date: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT'); if ($cache) { if (!is_numeric($cache)) { $cache = strtotime($cache) - time(); } - header('Cache-Control: max-age=' . $cache); - header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $cache) . ' GMT'); - header('Pragma: cache'); + $this->_header(array( + 'Cache-Control: max-age=' . $cache, + 'Expires: ' . gmdate('D, d M Y H:i:s', time() + $cache) . ' GMT', + 'Pragma: cache')); } else { - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Pragma: no-cache'); + $this->_header(array( + 'Cache-Control: must-revalidate, post-check=0, pre-check=0', + 'Pragma: no-cache')); } - header('Last-Modified: ' . $modified); - header('Content-Type: ' . $this->mimeType[$extension]); - header('Content-Length: ' . $fileSize); + $this->_header(array( + 'Last-Modified: ' . $modified, + 'Content-Type: ' . $this->mimeType[$extension], + 'Content-Length: ' . $fileSize)); } + $this->_output(); @ob_end_clean(); while (!feof($handle) && connection_status() == 0 && !connection_aborted()) { @@ -201,5 +215,35 @@ class MediaView extends View { } return false; } +/** + * Method to set headers + * @param mixed $key + * @param boolean $boolean + * @access protected + */ + function _header($header, $boolean = true) { + if (is_array($header)) { + foreach ($header as $string => $boolean) { + if (is_numeric($string)) { + $this->_headers[] = array($boolean => true); + } else { + $this->_headers[] = array($string => $boolean); + } + } + return; + } + $this->_headers[] = array($header => $boolean); + return; + } +/** + * Method to output headers + * @access protected + */ + function _output() { + foreach ($this->_headers as $header => $value) { + $string = key($header); + header($string, $value[$string]); + } + } } -?> +?> \ No newline at end of file From 70f18af78d7be4a9d8252078d1e6983c4f1e7d67 Mon Sep 17 00:00:00 2001 From: davidpersson Date: Sun, 15 Mar 2009 00:10:53 +0000 Subject: [PATCH 03/67] Adding Folder tests, fixes cases where ordered directory entries were expected git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8100 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/folder.test.php | 35 ++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/cake/tests/cases/libs/folder.test.php b/cake/tests/cases/libs/folder.test.php index 1dd8e8ff0..34fe46e0e 100644 --- a/cake/tests/cases/libs/folder.test.php +++ b/cake/tests/cases/libs/folder.test.php @@ -271,13 +271,16 @@ class FolderTest extends CakeTestCase { ); $result = $Folder->tree(TEST_CAKE_CORE_INCLUDE_PATH . 'config', false); - $this->assertEqual($result, $expected); + $this->assertIdentical(array_diff($expected[0], $result[0]), array()); + $this->assertIdentical(array_diff($result[0], $expected[0]), array()); $result = $Folder->tree(TEST_CAKE_CORE_INCLUDE_PATH . 'config', false, 'dir'); - $this->assertEqual($result, $expected[0]); + $this->assertIdentical(array_diff($expected[0], $result), array()); + $this->assertIdentical(array_diff($result, $expected[0]), array()); $result = $Folder->tree(TEST_CAKE_CORE_INCLUDE_PATH . 'config', false, 'files'); - $this->assertEqual($result, $expected[1]); + $this->assertIdentical(array_diff($expected[1], $result), array()); + $this->assertIdentical(array_diff($result, $expected[1]), array()); } /** * testWindowsPath method @@ -405,10 +408,20 @@ class FolderTest extends CakeTestCase { $Folder->cd(TEST_CAKE_CORE_INCLUDE_PATH . 'config'); $result = $Folder->find(); $expected = array('config.php', 'paths.php'); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->find('.*', true); + $expected = array('config.php', 'paths.php'); $this->assertIdentical($result, $expected); $result = $Folder->find('.*\.php'); $expected = array('config.php', 'paths.php'); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->find('.*\.php', true); + $expected = array('config.php', 'paths.php'); $this->assertIdentical($result, $expected); $result = $Folder->find('.*ig\.php'); @@ -450,6 +463,14 @@ class FolderTest extends CakeTestCase { TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'config.php', TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'paths.php' ); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->findRecursive('(config|paths)\.php', true); + $expected = array( + TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'config.php', + TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'paths.php' + ); $this->assertIdentical($result, $expected); $Folder->cd(TMP); @@ -472,6 +493,14 @@ class FolderTest extends CakeTestCase { TMP . 'testme' . DS . 'my.php', TMP . 'testme' . DS . 'paths.php' ); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->findRecursive('(paths|my)\.php', true); + $expected = array( + TMP . 'testme' . DS . 'my.php', + TMP . 'testme' . DS . 'paths.php' + ); $this->assertIdentical($result, $expected); $Folder->cd(TEST_CAKE_CORE_INCLUDE_PATH . 'config'); From e89bc0be102219410b2a7cc70ddaa05b913d8037 Mon Sep 17 00:00:00 2001 From: phpnut Date: Sun, 15 Mar 2009 00:19:02 +0000 Subject: [PATCH 04/67] Committed [8099] before I finished changing variable names git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8101 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/media.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cake/libs/view/media.php b/cake/libs/view/media.php index e56e73aa4..5be837840 100644 --- a/cake/libs/view/media.php +++ b/cake/libs/view/media.php @@ -217,7 +217,7 @@ class MediaView extends View { } /** * Method to set headers - * @param mixed $key + * @param mixed $header * @param boolean $boolean * @access protected */ @@ -240,9 +240,9 @@ class MediaView extends View { * @access protected */ function _output() { - foreach ($this->_headers as $header => $value) { - $string = key($header); - header($string, $value[$string]); + foreach ($this->_headers as $key => $value) { + $header = key($value); + header($header, $value[$header]); } } } From 374898759941e77b0fbed7614cd1ca395b126202 Mon Sep 17 00:00:00 2001 From: phpnut Date: Sun, 15 Mar 2009 00:21:28 +0000 Subject: [PATCH 05/67] Adding fix from davidpersson: sort not working for subdirectories in Folder::findRecursive git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8102 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/folder.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cake/libs/folder.php b/cake/libs/folder.php index 7bf8716ef..28f32672a 100644 --- a/cake/libs/folder.php +++ b/cake/libs/folder.php @@ -212,17 +212,18 @@ class Folder extends Object { */ function _findRecursive($pattern, $sort = false) { list($dirs, $files) = $this->read($sort); - $found = array(); + foreach ($files as $file) { if (preg_match('/^' . $pattern . '$/i', $file)) { $found[] = Folder::addPathElement($this->path, $file); } } $start = $this->path; + foreach ($dirs as $dir) { $this->cd(Folder::addPathElement($start, $dir)); - $found = array_merge($found, $this->findRecursive($pattern)); + $found = array_merge($found, $this->findRecursive($pattern, $sort)); } return $found; } From e3b027288bf6c5990d632dc34f1d4f7495d91f22 Mon Sep 17 00:00:00 2001 From: phpnut Date: Sun, 15 Mar 2009 00:27:25 +0000 Subject: [PATCH 06/67] Removing unused setting in Session configuration. Fixed bug in CakeSession::watch(); that allowed setting multiple vars to watch and CakeSession::ignore(); would only unset the first one found. Fixed errors being thrown when testing database sessions and the database was dropped before script process ended. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8103 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/session.php | 6 +++--- cake/tests/cases/libs/session.test.php | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cake/libs/session.php b/cake/libs/session.php index 2bd4ab0fd..88b90da52 100644 --- a/cake/libs/session.php +++ b/cake/libs/session.php @@ -349,7 +349,9 @@ class CakeSession extends Object { if (empty($var)) { return false; } - $this->watchKeys[] = $var; + if (!in_array($var, $this->watchKeys, true)) { + $this->watchKeys[] = $var; + } } /** * Tells Session to stop watching a given key path @@ -571,10 +573,8 @@ class CakeSession extends Object { $this->__setError(1, 'Session Highjacking Attempted !!!'); } } else { - srand ((double)microtime() * 1000000); $this->write('Config.userAgent', $this->_userAgent); $this->write('Config.time', $this->sessionTime); - $this->write('Config.rand', mt_rand()); $this->write('Config.timeout', 10); $this->valid = true; $this->__setError(1, 'Session is valid'); diff --git a/cake/tests/cases/libs/session.test.php b/cake/tests/cases/libs/session.test.php index 91d773cc7..d3f9f5ec0 100644 --- a/cake/tests/cases/libs/session.test.php +++ b/cake/tests/cases/libs/session.test.php @@ -369,6 +369,11 @@ class SessionTest extends CakeTestCase { $this->Session->destroy(); $this->assertFalse($this->Session->read('SessionTestCase')); session_write_close(); + + unset($_SESSION); + ini_set('session.save_handler', 'files'); + Configure::write('Session.save', 'php'); + $this->setUp(); } } ?> \ No newline at end of file From 93bf4fd0dc39b1059de7c3dbc9921389488ee247 Mon Sep 17 00:00:00 2001 From: davidpersson Date: Sun, 15 Mar 2009 19:31:59 +0000 Subject: [PATCH 07/67] Fixing debug() test making it match truncated paths too. Adding skip to uses() test to make running all tests in sequence more smooth. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8104 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/basics.test.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cake/tests/cases/basics.test.php b/cake/tests/cases/basics.test.php index 14a5e99c4..06ef9a37c 100644 --- a/cake/tests/cases/basics.test.php +++ b/cake/tests/cases/basics.test.php @@ -119,6 +119,8 @@ class BasicsTest extends CakeTestCase { * @return void */ function testUses() { + $this->skipIf(class_exists('Security') || class_exists('Sanitize'), 'Security and/or Sanitize class already loaded'); + $this->assertFalse(class_exists('Security')); $this->assertFalse(class_exists('Sanitize')); @@ -532,15 +534,17 @@ class BasicsTest extends CakeTestCase { ob_start(); debug('this-is-a-test'); $result = ob_get_clean(); - $pattern = '/.*' . preg_quote(substr(__FILE__, 1), '/') - . '.*line.*' . (__LINE__ - 3) . '.*this-is-a-test.*/s'; + $pattern = '/.*\>(cake(\/|\\\)tests(\/|\\\)cases(\/|\\\)basics\.test\.php|'; + $pattern .= preg_quote(substr(__FILE__, 1), '/') . ')'; + $pattern .= '.*line.*' . (__LINE__ - 4) . '.*this-is-a-test.*/s'; $this->assertPattern($pattern, $result); ob_start(); debug('
this-is-a-test
', true); $result = ob_get_clean(); - $pattern = '/.*' . preg_quote(substr(__FILE__, 1), '/') - . '.*line.*' . (__LINE__ - 3) . '.*<div>this-is-a-test<\/div>.*/s'; + $pattern = '/.*\>(cake(\/|\\\)tests(\/|\\\)cases(\/|\\\)basics\.test\.php|'; + $pattern .= preg_quote(substr(__FILE__, 1), '/') . ')'; + $pattern .= '.*line.*' . (__LINE__ - 4) . '.*<div>this-is-a-test<\/div>.*/s'; $this->assertPattern($pattern, $result); } /** From 056402efa708d986b9da283d5f5b831840cdabcd Mon Sep 17 00:00:00 2001 From: gwoo Date: Sun, 15 Mar 2009 19:39:35 +0000 Subject: [PATCH 08/67] moving checks for Set::extract() so that null will be returned when empty data is passed and classicExtract is expected. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8105 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/set.php | 6 +++--- cake/tests/cases/libs/set.test.php | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cake/libs/set.php b/cake/libs/set.php index 4376f5c05..bed03379a 100644 --- a/cake/libs/set.php +++ b/cake/libs/set.php @@ -374,12 +374,12 @@ class Set extends Object { $data = $path; $path = $tmp; } - if (empty($data)) { - return array(); - } if (strpos($path, '/') === false) { return Set::classicExtract($data, $path); } + if (empty($data)) { + return array(); + } if ($path === '/') { return $data; } diff --git a/cake/tests/cases/libs/set.test.php b/cake/tests/cases/libs/set.test.php index ed2f4f04c..81f884394 100644 --- a/cake/tests/cases/libs/set.test.php +++ b/cake/tests/cases/libs/set.test.php @@ -1052,15 +1052,17 @@ class SetTest extends CakeTestCase { */ function testSetExtractReturnsEmptyArray() { - $this->assertEqual(Set::extract(array(), '/Post/id'), array()); + $this->assertIdentical(Set::extract(array(), '/Post/id'), array()); - $this->assertEqual(Set::extract('/Post/id', array()), array()); + $this->assertIdentical(Set::extract('/Post/id', array()), array()); - $this->assertEqual(Set::extract('/Post/id', array( + $this->assertIdentical(Set::extract('/Post/id', array( array('Post' => array('name' => 'bob')), array('Post' => array('name' => 'jim')) )), array()); + $this->assertIdentical(Set::extract(array(), 'Message.flash'), null); + } /** * testClassicExtract method From beb6aeec0c884a5a8183ae669fd7b3370d500505 Mon Sep 17 00:00:00 2001 From: jperras Date: Sun, 15 Mar 2009 23:01:21 +0000 Subject: [PATCH 09/67] Fixing incorrect doc blocks for connection_manager.php. Thanks to ADmad for noticing the inconsistency. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8106 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/connection_manager.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/cake/libs/model/connection_manager.php b/cake/libs/model/connection_manager.php index 524d2bd36..3cb92901b 100644 --- a/cake/libs/model/connection_manager.php +++ b/cake/libs/model/connection_manager.php @@ -1,9 +1,9 @@ \ No newline at end of file +?> From 4dceb5be3179811b32d8a59a576cf917826f320d Mon Sep 17 00:00:00 2001 From: mark_story Date: Mon, 16 Mar 2009 03:01:51 +0000 Subject: [PATCH 10/67] Adding doc blocks for properties that previously had no documentation. Closes #6199 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8107 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/controller.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/cake/libs/controller/controller.php b/cake/libs/controller/controller.php index f50a98913..f07a2b723 100644 --- a/cake/libs/controller/controller.php +++ b/cake/libs/controller/controller.php @@ -291,6 +291,32 @@ class Controller extends Object { * @link */ var $methods = array(); +/** + * This controller's primary model class name, the Inflector::classify()'ed verision of + * the controller's $name property. + * + * Example: For a controller named 'Comments', the modelClass would be 'Comment' + * + * @var string + * @access public + */ + var $modelClass = null; +/** + * This controller's model key name, an underscored version of the controller's $modelClass property. + * + * Example: For a controller named 'ArticleComments', the modelKey would be 'article_comment' + * + * @var string + * @access public + */ + var $modelKey = null; +/** + * Holds any validation errors produced by the last call of the validateErrors() method/ + * + * @var array Validation errors, or false if none + * @access public + */ + var $validationErrors = null; /** * Constructor. * From eba2e78d06e8bd3a2a4f6676bc80c6ebb0c45647 Mon Sep 17 00:00:00 2001 From: mark_story Date: Mon, 16 Mar 2009 03:06:28 +0000 Subject: [PATCH 11/67] Fixing typo in last commit. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8108 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/controller.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cake/libs/controller/controller.php b/cake/libs/controller/controller.php index f07a2b723..116e993d8 100644 --- a/cake/libs/controller/controller.php +++ b/cake/libs/controller/controller.php @@ -292,7 +292,7 @@ class Controller extends Object { */ var $methods = array(); /** - * This controller's primary model class name, the Inflector::classify()'ed verision of + * This controller's primary model class name, the Inflector::classify()'ed version of * the controller's $name property. * * Example: For a controller named 'Comments', the modelClass would be 'Comment' From a9062e2e0293b70a984fdb9b431cd3a57d36de04 Mon Sep 17 00:00:00 2001 From: "mariano.iglesias" Date: Mon, 16 Mar 2009 12:54:25 +0000 Subject: [PATCH 12/67] Adding new email validation git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8109 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/validation.test.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cake/tests/cases/libs/validation.test.php b/cake/tests/cases/libs/validation.test.php index c8c4c145c..310b7a8ae 100644 --- a/cake/tests/cases/libs/validation.test.php +++ b/cake/tests/cases/libs/validation.test.php @@ -83,7 +83,7 @@ class ValidationTestCase extends CakeTestCase { $this->assertTrue(Validation::notEmpty('π')); $this->assertFalse(Validation::notEmpty("\t ")); $this->assertFalse(Validation::notEmpty("")); - + } /** * testNotEmptyISO88591Encoding method @@ -1514,6 +1514,7 @@ class ValidationTestCase extends CakeTestCase { $this->assertTrue(Validation::email('abc@g.cn')); $this->assertTrue(Validation::email('abc@x.com')); $this->assertTrue(Validation::email('henrik@sbcglobal.net')); + $this->assertTrue(Validation::email('sani@sbcglobal.net')); // all ICANN TLDs $this->assertTrue(Validation::email('abc@example.aero')); @@ -1974,4 +1975,4 @@ class ValidationTestCase extends CakeTestCase { // $this->assertTrue(Validation::file(TEST_CAKE_CORE_INCLUDE_PATH. 'VERSION.txt')); // } } -?> \ No newline at end of file +?> From 0ead89639a77f4e958240230d36296e2b172aaad Mon Sep 17 00:00:00 2001 From: davidpersson Date: Mon, 16 Mar 2009 14:07:26 +0000 Subject: [PATCH 13/67] Adding tests for Controller::redirect. Proves #6200 is invalid. Making original tests more strict. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8110 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../cases/libs/controller/controller.test.php | 98 +++++++++++++++---- 1 file changed, 79 insertions(+), 19 deletions(-) diff --git a/cake/tests/cases/libs/controller/controller.test.php b/cake/tests/cases/libs/controller/controller.test.php index e0bbfeda9..3f64adbc8 100644 --- a/cake/tests/cases/libs/controller/controller.test.php +++ b/cake/tests/cases/libs/controller/controller.test.php @@ -30,14 +30,14 @@ App::import('Component', 'Cookie'); /** * AppController class * - * @package cake + * @package cake.tests * @subpackage cake.tests.cases.libs.controller */ if (!class_exists('AppController')) { /** * AppController class * - * @package cake + * @package cake.tests * @subpackage cake.tests.cases.libs.controller */ class AppController extends Controller { @@ -131,7 +131,7 @@ class ControllerPost extends CakeTestModel { /** * ControllerPostsController class * - * @package cake + * @package cake.tests * @subpackage cake.tests.cases.libs.controller */ class ControllerCommentsController extends AppController { @@ -251,7 +251,7 @@ class ControllerPaginateModel extends CakeTestModel { /** * NameTest class * - * @package cake + * @package cake.tests * @subpackage cake.tests.cases.libs.controller */ class NameTest extends CakeTestModel { @@ -278,7 +278,7 @@ class NameTest extends CakeTestModel { /** * TestController class * - * @package cake + * @package cake.tests * @subpackage cake.tests.cases.libs.controller */ class TestController extends AppController { @@ -325,7 +325,7 @@ class TestController extends AppController { /** * TestComponent class * - * @package cake + * @package cake.tests * @subpackage cake.tests.cases.libs.controller */ class TestComponent extends Object { @@ -336,13 +336,12 @@ class TestComponent extends Object { * @return void */ function beforeRedirect() { - return true; } } /** * AnotherTestController class * - * @package cake + * @package cake.tests * @subpackage cake.tests.cases.libs.controller */ class AnotherTestController extends AppController { @@ -352,7 +351,6 @@ class AnotherTestController extends AppController { * @access public */ var $name = 'AnotherTest'; - /** * uses property * @@ -417,7 +415,12 @@ class ControllerTest extends CakeTestCase { Configure::write('pluginPaths', $_back['pluginPaths']); unset($Controller); } - +/** + * testAliasName method + * + * @access public + * @return void + */ function testAliasName() { $Controller =& new Controller(); $Controller->uses = array('NameTest'); @@ -428,7 +431,6 @@ class ControllerTest extends CakeTestCase { unset($Controller); } - /** * testPersistent method * @@ -735,7 +737,6 @@ class ControllerTest extends CakeTestCase { * @return void */ function testRedirect() { - $url = 'cakephp.org'; $codes = array( 100 => "Continue", 101 => "Switching Protocols", @@ -779,26 +780,85 @@ class ControllerTest extends CakeTestCase { ); Mock::generatePartial('Controller', 'MockController', array('header')); + Mock::generate('TestComponent', 'MockTestComponent'); + Mock::generate('TestComponent', 'MockTestBComponent'); + App::import('Helper', 'Cache'); -// $codes = array_merge($codes, array_flip($codes)); foreach ($codes as $code => $msg) { $MockController =& new MockController(); - $MockController->components = array('Test'); $MockController->Component =& new Component(); $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array("HTTP/1.1 {$code} {$msg}")); + $MockController->expectAt(1, 'header', array('Location: http://cakephp.org')); $MockController->expectCallCount('header', 2); - $MockController->redirect($url, (int) $code, false); + $MockController->redirect('http://cakephp.org', (int)$code, false); + $this->assertFalse($MockController->autoRender); } - $codes = array_flip($codes); foreach ($codes as $code => $msg) { $MockController =& new MockController(); - $MockController->components = array('Test'); $MockController->Component =& new Component(); $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array("HTTP/1.1 {$code} {$msg}")); + $MockController->expectAt(1, 'header', array('Location: http://cakephp.org')); $MockController->expectCallCount('header', 2); - $MockController->redirect($url, $code, false); + $MockController->redirect('http://cakephp.org', $msg, false); + $this->assertFalse($MockController->autoRender); } + + $MockController =& new MockController(); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array('Location: http://www.example.org/users/login')); + $MockController->expectCallCount('header', 1); + $MockController->redirect('http://www.example.org/users/login', null, false); + + $MockController =& new MockController(); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://www.example.org/users/login')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://www.example.org/users/login', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', null); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://cakephp.org')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://cakephp.org', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', 'http://book.cakephp.org'); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://book.cakephp.org')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://cakephp.org', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', false); + $MockController->expectNever('header'); + $MockController->redirect('http://cakephp.org', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest', 'MockTestB'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', 'http://book.cakephp.org'); + $MockController->MockTestB->setReturnValue('beforeRedirect', 'http://bakery.cakephp.org'); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://bakery.cakephp.org')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://cakephp.org', 301, false); } /** * testMergeVars method @@ -859,7 +919,7 @@ class ControllerTest extends CakeTestCase { $this->assertTrue(isset($TestController->ControllerComment)); } /** - * Ensure that __mergeVars is not being greedy and merging with + * Ensure that __mergeVars is not being greedy and merging with * AppController when you make an instance of Controller * * @return void From 1c76e2e18eda4379e3537b35f0f4e620b90b2b33 Mon Sep 17 00:00:00 2001 From: davidpersson Date: Mon, 16 Mar 2009 22:54:22 +0000 Subject: [PATCH 14/67] Fixing ShellDispatcher tests. Order of paths should not be taken into account. CONSOLE_LIBS constant is not guaranteed to hold a relative path only. Matching expectations for the output of help command to show correct shortened paths. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8111 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/console/cake.test.php | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/cake/tests/cases/console/cake.test.php b/cake/tests/cases/console/cake.test.php index 04e4ecae2..14227718b 100644 --- a/cake/tests/cases/console/cake.test.php +++ b/cake/tests/cases/console/cake.test.php @@ -76,7 +76,6 @@ class TestShellDispatcher extends ShellDispatcher { * @return void */ function _initEnvironment() { - // } /** * stderr method @@ -128,10 +127,11 @@ class ShellDispatcherTest extends UnitTestCase { $this->pluginPaths = Configure::read('pluginPaths'); $this->shellPaths = Configure::read('shellPaths'); } - - Configure::write('pluginPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS)); + Configure::write('pluginPaths', array( + TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS + )); Configure::write('shellPaths', array( - ROOT . DS . CONSOLE_LIBS, + CORE_PATH ? CONSOLE_LIBS : ROOT . DS . CONSOLE_LIBS, TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'vendors' . DS . 'shells' . DS )); } @@ -406,14 +406,18 @@ class ShellDispatcherTest extends UnitTestCase { */ function testBuildPaths() { $Dispatcher =& new TestShellDispatcher(); - $this->assertEqual($Dispatcher->shellPaths, array( + + $result = $Dispatcher->shellPaths; + $expected = array( TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS . 'test_plugin' . DS . 'vendors' . DS . 'shells' . DS, TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS . 'test_plugin_two' . DS . 'vendors' . DS . 'shells' . DS, APP . 'vendors' . DS . 'shells' . DS, VENDORS . 'shells' . DS, - ROOT . DS . CONSOLE_LIBS, + CORE_PATH ? CONSOLE_LIBS : ROOT . DS . CONSOLE_LIBS, TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'vendors' . DS . 'shells' . DS, - )); + ); + $this->assertIdentical(array_diff($result, $expected), array()); + $this->assertIdentical(array_diff($expected, $result), array()); } /** * testDispatch method @@ -440,20 +444,18 @@ class ShellDispatcherTest extends UnitTestCase { function testHelpCommand() { $Dispatcher =& new TestShellDispatcher(); - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin(\\\|\/)vendors(\\\|\/)shells:"; + $expected = "/ CORE(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n\t example"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - // Shells need to be returned ordered - // See Configure::__list/Folder::read - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin_two(\\\|\/)vendors(\\\|\/)shells:"; + $expected = "/ CORE(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin_two(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n\t example"; $expected .= "\n\t welcome"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - $expected = "/ ROOT(\\\|\/)app(\\\|\/)vendors(\\\|\/)shells:"; + $expected = "/ APP(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n\t - none"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); @@ -463,9 +465,7 @@ class ShellDispatcherTest extends UnitTestCase { $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - // Shells need to be returned ordered - // See Configure::__list/Folder::read - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)console(\\\|\/)libs:"; + $expected = "/ CORE(\\\|\/)console(\\\|\/)libs:"; $expected .= "\n\t acl"; $expected .= "\n\t api"; $expected .= "\n\t bake"; @@ -476,7 +476,7 @@ class ShellDispatcherTest extends UnitTestCase { $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)tests(\\\|\/)test_app(\\\|\/)vendors(\\\|\/)shells:"; + $expected = "/ CORE(\\\|\/)tests(\\\|\/)test_app(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n\t sample"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); From 7f853532d9a47040aaabf8c60fb525b6e7667ef4 Mon Sep 17 00:00:00 2001 From: gwoo Date: Mon, 16 Mar 2009 23:08:39 +0000 Subject: [PATCH 15/67] updating ShellDispatcher to pass tests git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8112 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/console/cake.php | 14 ++++++++++---- cake/tests/cases/console/cake.test.php | 2 -- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cake/console/cake.php b/cake/console/cake.php index 97824e62d..823e6fc00 100644 --- a/cake/console/cake.php +++ b/cake/console/cake.php @@ -198,10 +198,14 @@ class ShellDispatcher { */ function __buildPaths() { $paths = array(); - $pluginPaths = Configure::read('pluginPaths'); + if (!class_exists('Folder')) { + require LIBS . 'folder.php'; + } + foreach ($pluginPaths as $pluginPath) { - $plugins = Configure::listObjects('plugin', $pluginPath); + $Folder =& new Folder($pluginPath); + list($plugins,) = $Folder->read(false, true); foreach ((array)$plugins as $plugin) { $path = $pluginPath . Inflector::underscore($plugin) . DS . 'vendors' . DS . 'shells' . DS; if (file_exists($path)) { @@ -262,7 +266,6 @@ class ShellDispatcher { Configure::write('debug', 1); return true; } - /** * Dispatches a CLI request * @@ -542,16 +545,19 @@ class ShellDispatcher { $this->stdout("\nAvailable Shells:"); $_shells = array(); + foreach ($this->shellPaths as $path) { if (is_dir($path)) { $shells = Configure::listObjects('file', $path); - $path = str_replace(CORE_PATH, 'CORE/', $path); + $path = str_replace(CAKE_CORE_INCLUDE_PATH . DS . 'cake' . DS, 'CORE' . DS, $path); + $path = str_replace(APP, 'APP' . DS, $path); $path = str_replace(ROOT, 'ROOT', $path); $path = rtrim($path, DS); $this->stdout("\n " . $path . ":"); if (empty($shells)) { $this->stdout("\t - none"); } else { + sort($shells); foreach ($shells as $shell) { if ($shell !== 'shell.php') { $this->stdout("\t " . str_replace('.php', '', $shell)); diff --git a/cake/tests/cases/console/cake.test.php b/cake/tests/cases/console/cake.test.php index 14227718b..c881a67de 100644 --- a/cake/tests/cases/console/cake.test.php +++ b/cake/tests/cases/console/cake.test.php @@ -456,12 +456,10 @@ class ShellDispatcherTest extends UnitTestCase { $this->assertPattern($expected, $Dispatcher->stdout); $expected = "/ APP(\\\|\/)vendors(\\\|\/)shells:"; - $expected .= "\n\t - none"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); $expected = "/ ROOT(\\\|\/)vendors(\\\|\/)shells:"; - $expected .= "\n\t - none"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); From de5907326e567cbeb083a7d58b97165e823537bd Mon Sep 17 00:00:00 2001 From: gwoo Date: Tue, 17 Mar 2009 18:19:12 +0000 Subject: [PATCH 16/67] fixes #6203, Model::invalidFields respecting Model::whitelist git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8113 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/model.php | 10 +++++-- cake/tests/cases/libs/model/model.test.php | 33 +++++++++++++--------- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index 5bc46348e..838d51b7e 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -2343,9 +2343,15 @@ class Model extends Overloadable { $this->exists(); $_validate = $this->validate; - if (array_key_exists('fieldList', $options) && is_array($options['fieldList']) && !empty($options['fieldList'])) { + $whitelist = $this->whitelist; + + if (array_key_exists('fieldList', $options)) { + $whitelist = $options['fieldList']; + } + + if (!empty($whitelist)) { $validate = array(); - foreach ($options['fieldList'] as $f) { + foreach ((array)$whitelist as $f) { if (!empty($this->validate[$f])) { $validate[$f] = $this->validate[$f]; } diff --git a/cake/tests/cases/libs/model/model.test.php b/cake/tests/cases/libs/model/model.test.php index 51d3d2f5f..6c9760b81 100644 --- a/cake/tests/cases/libs/model/model.test.php +++ b/cake/tests/cases/libs/model/model.test.php @@ -2999,16 +2999,16 @@ class ModelTest extends CakeTestCase { ) ); $this->assertEqual($result, $expected); - - + + $this->loadFixtures('JoinA', 'JoinC', 'JoinAC', 'JoinB', 'JoinAB'); $TestModel = new JoinA(); $TestModel->hasBelongsToMany['JoinC']['unique'] = true; $data = array( 'JoinA' => array( 'id' => 1, - 'name' => 'Join A 1', - 'body' => 'Join A 1 Body', + 'name' => 'Join A 1', + 'body' => 'Join A 1 Body', ), 'JoinC' => array( 'JoinC' => array( @@ -3279,10 +3279,10 @@ class ModelTest extends CakeTestCase { $this->assertEqual(count($result['Comment']), 1); $this->assertEqual(count($result['Comment'][0]['comment']['Article comment']), 1); } - + function testSaveAllHabtmWithExtraJoinTableFields() { $this->loadFixtures('Something', 'SomethingElse', 'JoinThing'); - + $data = array( 'Something' => array( 'id' => 4, @@ -3301,18 +3301,18 @@ class ModelTest extends CakeTestCase { $result = $Something->saveAll($data); $this->assertTrue($result); $result = $Something->read(); - + $this->assertEqual(count($result['SomethingElse']), 3); $this->assertTrue(Set::matches('/Something[id=4]', $result)); - + $this->assertTrue(Set::matches('/SomethingElse[id=1]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=1]/JoinThing[something_else_id=1]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=1]/JoinThing[doomed=1]', $result)); - + $this->assertTrue(Set::matches('/SomethingElse[id=2]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=2]/JoinThing[something_else_id=2]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=2]/JoinThing[doomed=0]', $result)); - + $this->assertTrue(Set::matches('/SomethingElse[id=3]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=3]/JoinThing[something_else_id=3]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=3]/JoinThing[doomed=1]', $result)); @@ -3800,8 +3800,8 @@ class ModelTest extends CakeTestCase { $model->deleteAll(true); $data = array( 'Article' => array( - 'title' => 'Post with Author saveAlled from comment', - 'body' => 'This post will be saved with an author', + 'title' => 'Post with Author saveAlled from comment', + 'body' => 'This post will be saved with an author', 'user_id' => 2 ), 'Comment' => array( @@ -3810,7 +3810,7 @@ class ModelTest extends CakeTestCase { ); $result = $model->Comment->saveAll($data, array('validate' => 'first')); $this->assertTrue($result); - + $result = $model->find('all'); $this->assertEqual($result[0]['Article']['title'], 'Post with Author saveAlled from comment'); $this->assertEqual($result[0]['Comment'][0]['comment'], 'Only new comment'); @@ -4983,6 +4983,13 @@ class ModelTest extends CakeTestCase { $TestModel->invalidFields(array('fieldList' => array('name', 'title'))); $expected = array('name' => 'This field cannot be left blank', 'title' => 'This field cannot be left blank'); $this->assertEqual($TestModel->validationErrors, $expected); + $TestModel->validationErrors = array(); + + $TestModel->whitelist = array('name'); + $TestModel->invalidFields(); + $expected = array('name' => 'This field cannot be left blank'); + $this->assertEqual($TestModel->validationErrors, $expected); + $TestModel->validationErrors = array(); $this->assertEqual($TestModel->validate, $validate); } From 76e0f17dbcaeaffa0484c62e26a6b9922b9cc27e Mon Sep 17 00:00:00 2001 From: "renan.saddam" Date: Tue, 17 Mar 2009 21:10:28 +0000 Subject: [PATCH 17/67] Updating documentation to improve code completion git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8114 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/console/libs/acl.php | 2 +- cake/console/libs/shell.php | 4 +- cake/libs/cache.php | 2 +- cake/libs/cache/file.php | 2 +- cake/libs/cache/memcache.php | 2 +- cake/libs/controller/scaffold.php | 2 +- cake/libs/error.php | 2 +- cake/libs/file.php | 4 +- cake/libs/i18n.php | 2 +- cake/libs/model/behavior.php | 4 +- cake/libs/model/connection_manager.php | 4 +- cake/libs/model/model.php | 2 +- cake/libs/object.php | 2 +- cake/libs/view/helpers/ajax.php | 6 +- cake/libs/view/helpers/cache.php | 2 +- cake/tests/cases/libs/magic_db.test.php | 2 +- .../model/datasources/dbo/dbo_adodb.test.php | 2 +- .../model/datasources/dbo/dbo_mssql.test.php | 14 +- .../model/datasources/dbo/dbo_mysql.test.php | 134 +++++++++--------- .../model/datasources/dbo/dbo_mysqli.test.php | 2 +- .../datasources/dbo/dbo_postgres.test.php | 24 ++-- .../model/datasources/dbo/dbo_sqlite.test.php | 12 +- 22 files changed, 116 insertions(+), 116 deletions(-) diff --git a/cake/console/libs/acl.php b/cake/console/libs/acl.php index c1593bba4..0e44bd82b 100644 --- a/cake/console/libs/acl.php +++ b/cake/console/libs/acl.php @@ -36,7 +36,7 @@ class AclShell extends Shell { /** * Contains instance of AclComponent * - * @var object + * @var AclComponent * @access public */ var $Acl; diff --git a/cake/console/libs/shell.php b/cake/console/libs/shell.php index 04e444d2d..bac6c347b 100644 --- a/cake/console/libs/shell.php +++ b/cake/console/libs/shell.php @@ -34,7 +34,7 @@ class Shell extends Object { /** * An instance of the ShellDispatcher object that loaded this script * - * @var object + * @var ShellDispatcher * @access public */ var $Dispatch = null; @@ -49,7 +49,7 @@ class Shell extends Object { * Holds the DATABASE_CONFIG object for the app. Null if database.php could not be found, * or the app does not exist. * - * @var object + * @var DATABASE_CONFIG * @access public */ var $DbConfig = null; diff --git a/cake/libs/cache.php b/cake/libs/cache.php index 6a6550cdb..aabd27951 100644 --- a/cake/libs/cache.php +++ b/cake/libs/cache.php @@ -33,7 +33,7 @@ class Cache extends Object { /** * Cache engine to use * - * @var object + * @var CacheEngine * @access protected */ var $_Engine = null; diff --git a/cake/libs/cache/file.php b/cake/libs/cache/file.php index 40ec52c27..29dde9249 100644 --- a/cake/libs/cache/file.php +++ b/cake/libs/cache/file.php @@ -34,7 +34,7 @@ class FileEngine extends CacheEngine { /** * Instance of File class * - * @var object + * @var File * @access private */ var $__File = null; diff --git a/cake/libs/cache/memcache.php b/cake/libs/cache/memcache.php index c2118098e..2d70a6e86 100644 --- a/cake/libs/cache/memcache.php +++ b/cake/libs/cache/memcache.php @@ -33,7 +33,7 @@ class MemcacheEngine extends CacheEngine { /** * Memcache wrapper. * - * @var object + * @var Memcache * @access private */ var $__Memcache = null; diff --git a/cake/libs/controller/scaffold.php b/cake/libs/controller/scaffold.php index a76966bdb..1c326cffe 100644 --- a/cake/libs/controller/scaffold.php +++ b/cake/libs/controller/scaffold.php @@ -39,7 +39,7 @@ class Scaffold extends Object { /** * Controller object * - * @var object + * @var Controller * @access public */ var $controller = null; diff --git a/cake/libs/error.php b/cake/libs/error.php index 2cce9861f..e8db8276a 100644 --- a/cake/libs/error.php +++ b/cake/libs/error.php @@ -70,7 +70,7 @@ class ErrorHandler extends Object { /** * Controller instance. * - * @var object + * @var Controller * @access public */ var $controller = null; diff --git a/cake/libs/file.php b/cake/libs/file.php index fbb5aa8c7..e22031749 100644 --- a/cake/libs/file.php +++ b/cake/libs/file.php @@ -42,7 +42,7 @@ class File extends Object { /** * Folder object of the File * - * @var object + * @var Folder * @access public */ var $Folder = null; @@ -376,7 +376,7 @@ class File extends Object { } /** * Returns the full path of the File. - * + * * @return string Full path to file * @access public */ diff --git a/cake/libs/i18n.php b/cake/libs/i18n.php index 36af0284d..850ac5782 100644 --- a/cake/libs/i18n.php +++ b/cake/libs/i18n.php @@ -40,7 +40,7 @@ class I18n extends Object { /** * Instance of the I10n class for localization * - * @var object + * @var I10n * @access public */ var $l10n = null; diff --git a/cake/libs/model/behavior.php b/cake/libs/model/behavior.php index ff98f5144..fdbc64e30 100644 --- a/cake/libs/model/behavior.php +++ b/cake/libs/model/behavior.php @@ -205,11 +205,11 @@ class ModelBehavior extends Object { * @subpackage cake.cake.libs.model */ class BehaviorCollection extends Object { - /** * Stores a reference to the attached name * - * @var object + * @var string + * @access public */ var $modelName = null; /** diff --git a/cake/libs/model/connection_manager.php b/cake/libs/model/connection_manager.php index 3cb92901b..32f169840 100644 --- a/cake/libs/model/connection_manager.php +++ b/cake/libs/model/connection_manager.php @@ -3,7 +3,7 @@ /** * Datasource connection manager * - * Provides an interface for loading and enumerating connections defined in app/config/database.php + * Provides an interface for loading and enumerating connections defined in app/config/database.php * * PHP versions 4 and 5 * @@ -39,7 +39,7 @@ class ConnectionManager extends Object { /** * Holds a loaded instance of the Connections object * - * @var object + * @var DATABASE_CONFIG * @access public */ var $config = null; diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index 838d51b7e..d1da65496 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -221,7 +221,7 @@ class Model extends Overloadable { /** * Holds the Behavior objects currently bound to this model. * - * @var object + * @var BehaviorCollection * @access public */ var $Behaviors = null; diff --git a/cake/libs/object.php b/cake/libs/object.php index 538a858b4..7b62f4e76 100644 --- a/cake/libs/object.php +++ b/cake/libs/object.php @@ -38,7 +38,7 @@ class Object { /** * Log object * - * @var object + * @var CakeLog * @access protected */ var $_log = null; diff --git a/cake/libs/view/helpers/ajax.php b/cake/libs/view/helpers/ajax.php index e8df8f759..bc4aad584 100644 --- a/cake/libs/view/helpers/ajax.php +++ b/cake/libs/view/helpers/ajax.php @@ -42,14 +42,14 @@ class AjaxHelper extends AppHelper { /** * HtmlHelper instance * - * @var object + * @var HtmlHelper * @access public */ var $Html = null; /** * JavaScriptHelper instance * - * @var object + * @var JavaScriptHelper * @access public */ var $Javascript = null; @@ -901,7 +901,7 @@ class AjaxHelper extends AppHelper { } if (isset($options['bind'])) { $bind = $options['bind']; - + $hasBinding = ( (is_array($bind) && in_array($callback, $bind)) || (is_string($bind) && strpos($bind, $callback) !== false) diff --git a/cake/libs/view/helpers/cache.php b/cake/libs/view/helpers/cache.php index c40de01b5..dd4f1b499 100644 --- a/cake/libs/view/helpers/cache.php +++ b/cake/libs/view/helpers/cache.php @@ -52,7 +52,7 @@ class CacheHelper extends AppHelper { /** * holds the View object passed in final call to CacheHelper::cache() * - * @var object + * @var View * @access public */ var $view; diff --git a/cake/tests/cases/libs/magic_db.test.php b/cake/tests/cases/libs/magic_db.test.php index def8d11de..db270803e 100644 --- a/cake/tests/cases/libs/magic_db.test.php +++ b/cake/tests/cases/libs/magic_db.test.php @@ -34,7 +34,7 @@ class MagicDbTest extends UnitTestCase { /** * The MagicDb instance to be tested * - * @var object + * @var MagicDb * @access public */ var $Db = null; diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php index 63a80779a..1621c6f11 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php @@ -182,7 +182,7 @@ class DboAdodbTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $db = null; diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php index d1c1801cb..cc8448a3e 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php @@ -54,7 +54,7 @@ class DboMssqlTestDb extends DboMssql { var $simulated = array(); /** * fetchAllResultsStack - * + * * @var array * @access public */ @@ -72,8 +72,8 @@ class DboMssqlTestDb extends DboMssql { } /** * fetchAll method - * - * @param mixed $sql + * + * @param mixed $sql * @access protected * @return void */ @@ -82,8 +82,8 @@ class DboMssqlTestDb extends DboMssql { } /** * fetchAll method - * - * @param mixed $sql + * + * @param mixed $sql * @access protected * @return void */ @@ -192,7 +192,7 @@ class DboMssqlTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $db = null; @@ -284,7 +284,7 @@ class DboMssqlTest extends CakeTestCase { } /** * testDescribe method - * + * * @access public * @return void */ diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php index 54e029077..dda8322cf 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php @@ -156,7 +156,7 @@ class DboMysqlTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $Db = null; @@ -372,76 +372,76 @@ class DboMysqlTest extends CakeTestCase { $name = $this->db->fullTableName('simple'); $mockDbo =& new QueryMockDboMysql($this); - $columnData = array( + $columnData = array( array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Cardinality' => '0', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '' - )), - array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'pointless_bool', - 'Seq_in_index' => '1', - 'Column_name' => 'bool', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', + 'Table' => 'with_compound_keys', + 'Non_unique' => '0', + 'Key_name' => 'PRIMARY', + 'Seq_in_index' => '1', + 'Column_name' => 'id', + 'Collation' => 'A', + 'Cardinality' => '0', + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => '', + 'Index_type' => 'BTREE', 'Comment' => '' )), array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'pointless_small_int', - 'Seq_in_index' => '1', - 'Column_name' => 'small_int', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'pointless_bool', + 'Seq_in_index' => '1', + 'Column_name' => 'bool', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', 'Comment' => '' - )), + )), array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'one_way', - 'Seq_in_index' => '1', - 'Column_name' => 'bool', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'pointless_small_int', + 'Seq_in_index' => '1', + 'Column_name' => 'small_int', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', 'Comment' => '' - )), + )), array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'one_way', - 'Seq_in_index' => '2', - 'Column_name' => 'small_int', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', - 'Comment' => '' + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'one_way', + 'Seq_in_index' => '1', + 'Column_name' => 'bool', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', + 'Comment' => '' + )), + array('0' => array( + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'one_way', + 'Seq_in_index' => '2', + 'Column_name' => 'small_int', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', + 'Comment' => '' )) ); $mockDbo->setReturnValue('query', $columnData, array('SHOW INDEX FROM ' . $name)); @@ -504,7 +504,7 @@ class DboMysqlTest extends CakeTestCase { } /** * testAlterSchemaIndexes method - * + * * @access public * @return void */ @@ -538,10 +538,10 @@ class DboMysqlTest extends CakeTestCase { 'PRIMARY' => array('column' => 'id', 'unique' => 1)) ))); $this->db->query($this->db->alterSchema($schema2->compare($schema1))); - + $indexes = $this->db->index('altertest'); $this->assertEqual($schema2->tables['altertest']['indexes'], $indexes); - + // Change three indexes, delete one and add another one $schema3 =& new CakeSchema(array( 'name' => 'AlterTest3', @@ -552,7 +552,7 @@ class DboMysqlTest extends CakeTestCase { 'group1' => array('type' => 'integer', 'null' => true), 'group2' => array('type' => 'integer', 'null' => true), 'indexes' => array( - 'name_idx' => array('column' => 'name', 'unique' => 1), + 'name_idx' => array('column' => 'name', 'unique' => 1), 'group_idx' => array('column' => 'group2', 'unique' => 0), 'compound_idx' => array('column' => array('group2', 'group1'), 'unique' => 0), 'id_name_idx' => array('column' => array('id', 'name'), 'unique' => 0)) diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php index ea1dd7b26..38ab1b891 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php @@ -159,7 +159,7 @@ class DboMysqliTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $Db = null; diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php index d27289a2e..c6ff8a5f0 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php @@ -159,19 +159,19 @@ class DboPostgresTest extends CakeTestCase { * @var object * @access public */ - var $fixtures = array('core.user', 'core.binary_test', 'core.comment', 'core.article', + var $fixtures = array('core.user', 'core.binary_test', 'core.comment', 'core.article', 'core.tag', 'core.articles_tag', 'core.attachment', 'core.person', 'core.post', 'core.author'); /** * Actual DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db = null; /** * Simulated DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db2 = null; @@ -479,7 +479,7 @@ class DboPostgresTest extends CakeTestCase { $db1->query('DROP TABLE ' . $db1->fullTableName('datatypes')); } - + /** * Test index generation from table info. * @@ -498,7 +498,7 @@ class DboPostgresTest extends CakeTestCase { ); $result = $this->db->index($name); $this->assertEqual($expected, $result); - + $this->db->query('DROP TABLE ' . $name); $name = $this->db->fullTableName('index_test_2', false); $this->db->query('CREATE TABLE ' . $name . ' ("id" serial NOT NULL PRIMARY KEY, "bool" integer, "small_char" varchar(50), "description" varchar(40) )'); @@ -532,7 +532,7 @@ class DboPostgresTest extends CakeTestCase { ) )); $this->db->query($this->db->createSchema($Old)); - + $New =& new CakeSchema(array( 'connection' => 'test_suite', 'name' => 'AlterPosts', @@ -547,13 +547,13 @@ class DboPostgresTest extends CakeTestCase { ) )); $this->db->query($this->db->alterSchema($New->compare($Old), 'alter_posts')); - + $model = new CakeTestModel(array('table' => 'alter_posts', 'ds' => 'test_suite')); $result = $model->schema(); $this->assertTrue(isset($result['status'])); $this->assertFalse(isset($result['published'])); $this->assertEqual($result['body']['type'], 'string'); - + $this->db->query($this->db->dropSchema($New)); } /** @@ -561,7 +561,7 @@ class DboPostgresTest extends CakeTestCase { * * @access public * @return void - */ + */ function testAlterIndexes() { $this->db->cacheSources = false; @@ -594,10 +594,10 @@ class DboPostgresTest extends CakeTestCase { ) )); $this->db->query($this->db->alterSchema($schema2->compare($schema1))); - + $indexes = $this->db->index('altertest'); $this->assertEqual($schema2->tables['altertest']['indexes'], $indexes); - + // Change three indexes, delete one and add another one $schema3 =& new CakeSchema(array( 'name' => 'AlterTest3', @@ -608,7 +608,7 @@ class DboPostgresTest extends CakeTestCase { 'group1' => array('type' => 'integer', 'null' => true), 'group2' => array('type' => 'integer', 'null' => true), 'indexes' => array( - 'name_idx' => array('column' => 'name', 'unique' => 1), + 'name_idx' => array('column' => 'name', 'unique' => 1), 'group_idx' => array('column' => 'group2', 'unique' => 0), 'compound_idx' => array('column' => array('group2', 'group1'), 'unique' => 0), 'another_idx' => array('column' => array('group1', 'name'), 'unique' => 0)) diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php index 47f1acea5..a22cc7721 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php @@ -83,14 +83,14 @@ class DboSqliteTest extends CakeTestCase { /** * Actual DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db = null; /** * Simulated DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db2 = null; @@ -150,7 +150,7 @@ class DboSqliteTest extends CakeTestCase { * * @access public * @return void - */ + */ function testIndex() { $name = $this->db->fullTableName('with_a_key'); $this->db->query('CREATE TABLE ' . $name . ' ("id" int(11) PRIMARY KEY, "bool" int(1), "small_char" varchar(50), "description" varchar(40) );'); @@ -160,12 +160,12 @@ class DboSqliteTest extends CakeTestCase { 'PRIMARY' => array('column' => 'id', 'unique' => 1), 'pointless_bool' => array('column' => 'bool', 'unique' => 0), 'char_index' => array('column' => 'small_char', 'unique' => 1), - + ); $result = $this->db->index($name); $this->assertEqual($expected, $result); $this->db->query('DROP TABLE ' . $name); - + $this->db->query('CREATE TABLE ' . $name . ' ("id" int(11) PRIMARY KEY, "bool" int(1), "small_char" varchar(50), "description" varchar(40) );'); $this->db->query('CREATE UNIQUE INDEX multi_col ON ' . $name . '("small_char", "bool")'); $expected = array( @@ -199,7 +199,7 @@ class DboSqliteTest extends CakeTestCase { $db->cacheSources = false; $fileName = '_' . preg_replace('/[^A-Za-z0-9_\-+]/', '_', TMP . $dbName) . '_list'; - + $result = Cache::read($fileName, '_cake_model_'); $this->assertEqual($result, array('test_list')); From 78daa139008b0a71126511fc3eaffd6d0bcfa6c0 Mon Sep 17 00:00:00 2001 From: "renan.saddam" Date: Wed, 18 Mar 2009 00:43:21 +0000 Subject: [PATCH 18/67] Defining the default answer as the current path. Fixes #6204 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8115 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/console/libs/tasks/extract.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cake/console/libs/tasks/extract.php b/cake/console/libs/tasks/extract.php index 644cf5ed3..7918e8cd7 100644 --- a/cake/console/libs/tasks/extract.php +++ b/cake/console/libs/tasks/extract.php @@ -135,7 +135,7 @@ class ExtractTask extends Shell{ } else { $response = ''; while ($response == '') { - $response = $this->in("What is the full path you would like to extract?\nExample: " . $this->params['root'] . DS . "myapp\n[Q]uit", null, 'Q'); + $response = $this->in("What is the full path you would like to extract?\nExample: " . $this->params['root'] . DS . "myapp\n[Q]uit", null, $this->params['working']); if (strtoupper($response) === 'Q') { $this->out('Extract Aborted'); $this->_stop(); From 3c3b8520991700a2208219aae78191cf27388d3c Mon Sep 17 00:00:00 2001 From: davidpersson Date: Wed, 18 Mar 2009 17:55:58 +0000 Subject: [PATCH 19/67] Changing package of tests from "cake.tests" to "cake". Moving tearDown et al. to the top of each test class. Adding short descriptions to docblocks. Adding missing docblocks. Removing unnecessary blank lines and whitespaces. Updating labels of test groups. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8116 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/basics.test.php | 6 +- cake/tests/cases/console/cake.test.php | 8 +- cake/tests/cases/console/libs/shell.test.php | 14 +- .../cases/console/libs/tasks/extract.test.php | 17 +- .../cases/console/libs/tasks/test.test.php | 8 +- cake/tests/cases/dispatcher.test.php | 31 +- cake/tests/cases/libs/cache.test.php | 8 +- cake/tests/cases/libs/cache/apc.test.php | 26 +- cake/tests/cases/libs/cache/file.test.php | 17 +- cake/tests/cases/libs/cache/memcache.test.php | 9 +- cake/tests/cases/libs/cache/xcache.test.php | 26 +- cake/tests/cases/libs/cake_log.test.php | 9 +- cake/tests/cases/libs/cake_test_case.test.php | 57 +-- .../cases/libs/cake_test_fixture.test.php | 57 +-- cake/tests/cases/libs/class_registry.test.php | 20 +- .../cases/libs/code_coverage_manager.test.php | 26 +- cake/tests/cases/libs/configure.test.php | 13 +- .../cases/libs/controller/component.test.php | 51 ++- .../libs/controller/components/acl.test.php | 27 +- .../libs/controller/components/auth.test.php | 57 ++- .../controller/components/cookie.test.php | 86 +++-- .../libs/controller/components/email.test.php | 36 +- .../components/request_handler.test.php | 59 ++-- .../controller/components/security.test.php | 46 ++- .../controller/components/session.test.php | 38 +- .../cases/libs/controller/controller.test.php | 30 +- .../libs/controller/pages_controller.test.php | 8 +- .../cases/libs/controller/scaffold.test.php | 69 ++-- cake/tests/cases/libs/debugger.test.php | 70 ++-- cake/tests/cases/libs/error.test.php | 28 +- cake/tests/cases/libs/file.test.php | 9 +- cake/tests/cases/libs/flay.test.php | 12 +- cake/tests/cases/libs/folder.test.php | 8 +- cake/tests/cases/libs/http_socket.test.php | 71 ++-- cake/tests/cases/libs/i18n.test.php | 15 +- cake/tests/cases/libs/inflector.test.php | 26 +- cake/tests/cases/libs/l10n.test.php | 6 +- cake/tests/cases/libs/magic_db.test.php | 16 +- cake/tests/cases/libs/model/behavior.test.php | 33 +- .../cases/libs/model/behaviors/acl.test.php | 90 +++-- .../libs/model/behaviors/containable.test.php | 10 +- .../libs/model/behaviors/translate.test.php | 11 +- .../cases/libs/model/behaviors/tree.test.php | 26 +- .../model/datasources/dbo/dbo_adodb.test.php | 27 +- .../model/datasources/dbo/dbo_mssql.test.php | 65 ++-- .../model/datasources/dbo/dbo_mysql.test.php | 15 +- .../model/datasources/dbo/dbo_mysqli.test.php | 17 +- .../model/datasources/dbo/dbo_oracle.test.php | 12 +- .../datasources/dbo/dbo_postgres.test.php | 19 +- .../model/datasources/dbo/dbo_sqlite.test.php | 13 +- .../model/datasources/dbo_source.test.php | 55 +-- cake/tests/cases/libs/model/db_acl.test.php | 84 +++-- cake/tests/cases/libs/model/model.test.php | 64 ++-- cake/tests/cases/libs/model/models.php | 219 ++++++------ cake/tests/cases/libs/model/schema.test.php | 57 ++- cake/tests/cases/libs/multibyte.test.php | 8 +- cake/tests/cases/libs/object.test.php | 36 +- cake/tests/cases/libs/overloadable.test.php | 10 +- cake/tests/cases/libs/router.test.php | 10 +- cake/tests/cases/libs/sanitize.test.php | 11 +- cake/tests/cases/libs/security.test.php | 8 +- cake/tests/cases/libs/session.test.php | 8 +- cake/tests/cases/libs/set.test.php | 11 +- cake/tests/cases/libs/socket.test.php | 26 +- cake/tests/cases/libs/string.test.php | 8 +- cake/tests/cases/libs/test_manager.test.php | 47 +-- cake/tests/cases/libs/validation.test.php | 13 +- cake/tests/cases/libs/view/helper.test.php | 42 ++- .../cases/libs/view/helpers/ajax.test.php | 44 ++- .../cases/libs/view/helpers/cache.test.php | 76 ++-- .../cases/libs/view/helpers/form.test.php | 77 ++-- .../cases/libs/view/helpers/html.test.php | 25 +- .../libs/view/helpers/javascript.test.php | 9 +- .../tests/cases/libs/view/helpers/js.test.php | 21 +- .../cases/libs/view/helpers/number.test.php | 33 +- .../libs/view/helpers/paginator.test.php | 30 +- .../cases/libs/view/helpers/rss.test.php | 11 +- .../cases/libs/view/helpers/session.test.php | 9 +- .../cases/libs/view/helpers/text.test.php | 30 +- .../cases/libs/view/helpers/time.test.php | 30 +- .../cases/libs/view/helpers/xml.test.php | 27 +- cake/tests/cases/libs/view/theme.test.php | 32 +- cake/tests/cases/libs/view/view.test.php | 33 +- cake/tests/cases/libs/xml.test.php | 328 +++++++++--------- cake/tests/fixtures/account_fixture.php | 4 +- cake/tests/fixtures/aco_action_fixture.php | 4 +- cake/tests/fixtures/aco_fixture.php | 4 +- cake/tests/fixtures/aco_two_fixture.php | 4 +- cake/tests/fixtures/advertisement_fixture.php | 4 +- .../fixtures/another_article_fixture.php | 4 +- cake/tests/fixtures/apple_fixture.php | 4 +- cake/tests/fixtures/aro_fixture.php | 4 +- cake/tests/fixtures/aro_two_fixture.php | 4 +- cake/tests/fixtures/aros_aco_fixture.php | 4 +- cake/tests/fixtures/aros_aco_two_fixture.php | 4 +- .../fixtures/article_featured_fixture.php | 4 +- .../article_featureds_tags_fixture.php | 4 +- cake/tests/fixtures/article_fixture.php | 4 +- cake/tests/fixtures/articles_tag_fixture.php | 4 +- cake/tests/fixtures/attachment_fixture.php | 4 +- .../auth_user_custom_field_fixture.php | 4 +- cake/tests/fixtures/auth_user_fixture.php | 4 +- cake/tests/fixtures/author_fixture.php | 4 +- cake/tests/fixtures/basket_fixture.php | 4 +- cake/tests/fixtures/bid_fixture.php | 4 +- cake/tests/fixtures/binary_test_fixture.php | 4 +- cake/tests/fixtures/book_fixture.php | 4 +- .../fixtures/cache_test_model_fixture.php | 4 +- cake/tests/fixtures/callback_fixture.php | 4 +- cake/tests/fixtures/category_fixture.php | 4 +- .../fixtures/category_thread_fixture.php | 4 +- cake/tests/fixtures/cd_fixture.php | 4 +- cake/tests/fixtures/comment_fixture.php | 4 +- .../fixtures/content_account_fixture.php | 4 +- cake/tests/fixtures/content_fixture.php | 4 +- .../fixtures/counter_cache_post_fixture.php | 4 +- .../fixtures/counter_cache_user_fixture.php | 4 +- cake/tests/fixtures/data_test_fixture.php | 4 +- cake/tests/fixtures/datatype_fixture.php | 4 +- cake/tests/fixtures/dependency_fixture.php | 4 +- cake/tests/fixtures/device_fixture.php | 4 +- .../fixtures/device_type_category_fixture.php | 4 +- cake/tests/fixtures/device_type_fixture.php | 4 +- .../fixtures/document_directory_fixture.php | 4 +- cake/tests/fixtures/document_fixture.php | 4 +- .../exterior_type_category_fixture.php | 4 +- cake/tests/fixtures/feature_set_fixture.php | 4 +- cake/tests/fixtures/featured_fixture.php | 4 +- cake/tests/fixtures/film_file_fixture.php | 4 +- cake/tests/fixtures/flag_tree_fixture.php | 2 +- cake/tests/fixtures/fruit_fixture.php | 4 +- .../fixtures/fruits_uuid_tag_fixture.php | 4 +- cake/tests/fixtures/home_fixture.php | 4 +- cake/tests/fixtures/image_fixture.php | 4 +- cake/tests/fixtures/item_fixture.php | 4 +- .../fixtures/items_portfolio_fixture.php | 4 +- cake/tests/fixtures/join_a_b_fixture.php | 4 +- cake/tests/fixtures/join_a_c_fixture.php | 4 +- cake/tests/fixtures/join_a_fixture.php | 4 +- cake/tests/fixtures/join_b_fixture.php | 4 +- cake/tests/fixtures/join_c_fixture.php | 4 +- cake/tests/fixtures/join_thing_fixture.php | 4 +- cake/tests/fixtures/message_fixture.php | 4 +- .../my_categories_my_products_fixture.php | 4 +- .../my_categories_my_users_fixture.php | 4 +- cake/tests/fixtures/my_category_fixture.php | 4 +- cake/tests/fixtures/my_product_fixture.php | 4 +- cake/tests/fixtures/my_user_fixture.php | 4 +- cake/tests/fixtures/node_fixture.php | 4 +- cake/tests/fixtures/number_tree_fixture.php | 2 +- .../fixtures/numeric_article_fixture.php | 4 +- .../fixtures/overall_favorite_fixture.php | 4 +- cake/tests/fixtures/person_fixture.php | 4 +- cake/tests/fixtures/portfolio_fixture.php | 4 +- cake/tests/fixtures/post_fixture.php | 4 +- cake/tests/fixtures/posts_tag_fixture.php | 4 +- cake/tests/fixtures/primary_model_fixture.php | 4 +- cake/tests/fixtures/product_fixture.php | 4 +- cake/tests/fixtures/project_fixture.php | 4 +- cake/tests/fixtures/sample_fixture.php | 4 +- .../fixtures/secondary_model_fixture.php | 4 +- cake/tests/fixtures/session_fixture.php | 4 +- .../tests/fixtures/something_else_fixture.php | 4 +- cake/tests/fixtures/something_fixture.php | 4 +- cake/tests/fixtures/stories_tag_fixture.php | 4 +- cake/tests/fixtures/story_fixture.php | 4 +- cake/tests/fixtures/syfile_fixture.php | 4 +- cake/tests/fixtures/tag_fixture.php | 4 +- .../fixtures/test_plugin_article_fixture.php | 4 +- .../fixtures/test_plugin_comment_fixture.php | 4 +- .../fixtures/the_paper_monkies_fixture.php | 4 +- cake/tests/fixtures/thread_fixture.php | 4 +- .../fixtures/translate_article_fixture.php | 4 +- cake/tests/fixtures/translate_fixture.php | 4 +- .../fixtures/translate_table_fixture.php | 4 +- .../fixtures/translated_article_fixture.php | 4 +- .../fixtures/translated_item_fixture.php | 4 +- .../fixtures/unconventional_tree_fixture.php | 2 +- .../fixtures/underscore_field_fixture.php | 2 +- cake/tests/fixtures/user_fixture.php | 4 +- cake/tests/fixtures/uuid_fixture.php | 4 +- cake/tests/fixtures/uuid_tag_fixture.php | 4 +- cake/tests/fixtures/uuid_tree_fixture.php | 2 +- cake/tests/fixtures/uuiditem_fixture.php | 4 +- .../uuiditems_uuidportfolio_fixture.php | 4 +- ...ditems_uuidportfolio_numericid_fixture.php | 6 +- cake/tests/fixtures/uuidportfolio_fixture.php | 4 +- cake/tests/groups/acl.group.php | 17 +- cake/tests/groups/cache.group.php | 17 +- cake/tests/groups/components.group.php | 17 +- cake/tests/groups/configure.group.php | 17 +- cake/tests/groups/console.group.php | 15 +- cake/tests/groups/helpers.group.php | 17 +- cake/tests/groups/lib.group.php | 17 +- cake/tests/groups/lib_controller.group.php | 10 +- cake/tests/groups/model.group.php | 17 +- cake/tests/groups/no_database.group.php | 21 +- cake/tests/groups/routing_system.group.php | 17 +- cake/tests/groups/socket.group.php | 17 +- cake/tests/groups/test_suite.group.php | 17 +- cake/tests/groups/view.group.php | 17 +- cake/tests/groups/xml.group.php | 17 +- .../controllers/tests_apps_controller.php | 2 +- .../tests_apps_posts_controller.php | 2 +- .../components/other_component.php | 2 +- .../components/plugins_component.php | 2 +- .../components/test_plugin_component.php | 2 +- .../test_plugin_other_component.php | 2 +- .../controllers/tests_controller.php | 2 +- .../test_plugin_app_controller.php | 2 +- .../test_plugin/test_plugin_app_model.php | 2 +- .../vendors/sample/sample_plugin.php | 2 +- .../test_plugin/vendors/shells/example.php | 2 +- .../plugins/test_plugin/vendors/welcome.php | 2 +- .../views/helpers/other_helper.php | 2 +- .../views/helpers/plugged_helper.php | 2 +- .../vendors/shells/example.php | 2 +- .../vendors/shells/welcome.php | 2 +- cake/tests/test_app/vendors/Test/MyTest.php | 2 +- cake/tests/test_app/vendors/Test/hello.php | 2 +- .../sample/configure_test_vendor_sample.php | 2 +- cake/tests/test_app/vendors/shells/sample.php | 2 +- .../test_app/vendors/somename/some.name.php | 2 +- cake/tests/test_app/vendors/welcome.php | 2 +- 224 files changed, 1884 insertions(+), 1804 deletions(-) diff --git a/cake/tests/cases/basics.test.php b/cake/tests/cases/basics.test.php index 06ef9a37c..141473cde 100644 --- a/cake/tests/cases/basics.test.php +++ b/cake/tests/cases/basics.test.php @@ -1,7 +1,7 @@ _get; + } /** * testParseParamsWithoutZerosAndEmptyPost method * @@ -2088,14 +2092,5 @@ class DispatcherTest extends CakeTestCase { } return $filename; } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - $_GET = $this->_get; - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cache.test.php b/cake/tests/cases/libs/cache.test.php index 54079700f..84102a13e 100644 --- a/cake/tests/cases/libs/cache.test.php +++ b/cake/tests/cases/libs/cache.test.php @@ -1,7 +1,7 @@ 'Apc', 'prefix' => 'cake_')); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Cache::config('default'); + } /** * testReadAndWriteCache method * @@ -127,14 +136,5 @@ class ApcEngineTest extends UnitTestCase { $result = Cache::delete('delete_test'); $this->assertTrue($result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - Cache::config('default'); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cache/file.test.php b/cake/tests/cases/libs/cache/file.test.php index 5a57b704e..cc8e0fbc6 100644 --- a/cake/tests/cases/libs/cache/file.test.php +++ b/cake/tests/cases/libs/cache/file.test.php @@ -1,7 +1,7 @@ assertEqual($result, $expecting); - + Cache::delete('test'); } /** @@ -331,7 +331,12 @@ class FileEngineTest extends CakeTestCase { Cache::delete('test_dir_map'); $this->assertEqual($expected, $data); } - +/** + * testWriteQuotedString method + * + * @access public + * @return void + */ function testWriteQuotedString() { Cache::engine('File', array('path' => TMP . 'tests')); Cache::write('App.doubleQuoteTest', '"this is a quoted string"'); diff --git a/cake/tests/cases/libs/cache/memcache.test.php b/cake/tests/cases/libs/cache/memcache.test.php index e258c66d9..09d454739 100644 --- a/cake/tests/cases/libs/cache/memcache.test.php +++ b/cake/tests/cases/libs/cache/memcache.test.php @@ -1,7 +1,7 @@ _Engine['Memcache']->connect('127.0.0.1'); $this->assertTrue($result); } - /** * testReadAndWriteCache method * diff --git a/cake/tests/cases/libs/cache/xcache.test.php b/cake/tests/cases/libs/cache/xcache.test.php index 15d535b68..9a50a8757 100644 --- a/cake/tests/cases/libs/cache/xcache.test.php +++ b/cake/tests/cases/libs/cache/xcache.test.php @@ -1,7 +1,7 @@ 'Xcache', 'prefix' => 'cake_')); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Cache::config('default'); + } /** * testSettings method * @@ -156,14 +165,5 @@ class XcacheEngineTest extends UnitTestCase { $result = Cache::clear(); $this->assertTrue($result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - Cache::config('default'); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cake_log.test.php b/cake/tests/cases/libs/cake_log.test.php index bb688af41..05dc39452 100644 --- a/cake/tests/cases/libs/cake_log.test.php +++ b/cake/tests/cases/libs/cake_log.test.php @@ -1,7 +1,7 @@ \ No newline at end of file diff --git a/cake/tests/cases/libs/cake_test_case.test.php b/cake/tests/cases/libs/cake_test_case.test.php index 7be184316..bd1550bf6 100644 --- a/cake/tests/cases/libs/cake_test_case.test.php +++ b/cake/tests/cases/libs/cake_test_case.test.php @@ -1,9 +1,9 @@ _reporter = &$reporter; } - +/** + * testDummy method + * + * @return void + * @access public + */ function testDummy() { - } } - /** * CakeTestCaseTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs - **/ + */ class CakeTestCaseTest extends CakeTestCase { /** * setUp @@ -76,6 +78,16 @@ class CakeTestCaseTest extends CakeTestCase { $this->Case->setReporter($reporter); $this->Reporter = $reporter; } +/** + * tearDown + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Case); + unset($this->Reporter); + } /** * testAssertGoodTags * @@ -214,7 +226,6 @@ class CakeTestCaseTest extends CakeTestCase { $this->assertEqual(array_slice($result, 0, 2), array('start', 'startCase')); $this->assertEqual(array_slice($result, -2), array('endCase', 'end')); } - /** * TestTestAction * @@ -303,7 +314,7 @@ class CakeTestCaseTest extends CakeTestCase { $fixture =& new PostFixture($db); $fixture->create($db); $fixture->insert($db); - + $result = $this->Case->testAction('/tests_apps_posts/fixtured', array( 'return' => 'vars', 'fixturize' => true, @@ -334,17 +345,17 @@ class CakeTestCaseTest extends CakeTestCase { $fixture =& new PostFixture($db); $fixture->create($db); $fixture->insert($db); - + $this->Case->dropTables = false; $result = $this->Case->testAction('/tests_apps_posts/fixtured', array( 'return' => 'vars', 'fixturize' => true, 'connection' => 'cake_test_case', )); - + $tables = $db->listSources(); $this->assertTrue(in_array('cake_testaction_test_suite_posts', $tables)); - + $fixture->drop($db); $db =& ConnectionManager::getDataSource('test_suite'); $db->config['prefix'] = $_backPrefix; @@ -396,15 +407,5 @@ class CakeTestCaseTest extends CakeTestCase { Configure::write('viewPaths', $_back['view']); Configure::write('pluginPaths', $_back['plugin']); } -/** - * tearDown - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Case); - unset($this->Reporter); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cake_test_fixture.test.php b/cake/tests/cases/libs/cake_test_fixture.test.php index d7b04cfc7..5e17ed25b 100644 --- a/cake/tests/cases/libs/cake_test_fixture.test.php +++ b/cake/tests/cases/libs/cake_test_fixture.test.php @@ -1,7 +1,7 @@ 'Chewbacca') ); } - - /** - * Import Fixture Test Fixture + * CakeTestFixtureImportFixture class * * @package cake * @subpackage cake.cake.tests.cases.libs @@ -88,9 +85,8 @@ class CakeTestFixtureImportFixture extends CakeTestFixture { */ var $import = array('table' => 'fixture_tests', 'connection' => 'test_suite'); } - /** - * Import Fixture Test Fixture + * CakeTestFixtureDefaultImportFixture class * * @package cake * @subpackage cake.cake.tests.cases.libs @@ -103,9 +99,8 @@ class CakeTestFixtureDefaultImportFixture extends CakeTestFixture { */ var $name = 'ImportFixture'; } - /** - * Fixture Test Case Model + * FixtureImportTestModel class * * @package default * @subpackage cake.cake.tests.cases.libs. @@ -115,9 +110,7 @@ class FixtureImportTestModel extends Model { var $useTable = 'fixture_tests'; var $useDbConfig = 'test_suite'; } - Mock::generate('DboSource', 'FixtureMockDboSource'); - /** * Test case for CakeTestFixture * @@ -125,10 +118,25 @@ Mock::generate('DboSource', 'FixtureMockDboSource'); * @subpackage cake.cake.tests.cases.libs */ class CakeTestFixtureTest extends CakeTestCase { +/** + * setUp method + * + * @access public + * @return void + */ function setUp() { $this->criticDb =& new FixtureMockDboSource(); $this->criticDb->fullDebug = true; } +/** + * tearDown + * + * @access public + * @return void + */ + function tearDown() { + unset($this->criticDb); + } /** * testInit * @@ -215,8 +223,9 @@ class CakeTestFixtureTest extends CakeTestCase { /** * test create method * + * @access public * @return void - **/ + */ function testCreate() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->expectAtLeastOnce('execute'); @@ -229,12 +238,12 @@ class CakeTestFixtureTest extends CakeTestCase { $return = $Fixture->create($this->criticDb); $this->assertFalse($return); } - /** * test the insert method * + * @access public * @return void - **/ + */ function testInsert() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->setReturnValue('insertMulti', true); @@ -244,12 +253,12 @@ class CakeTestFixtureTest extends CakeTestCase { $this->assertTrue($this->criticDb->fullDebug); $this->assertTrue($return); } - /** * Test the drop method * + * @access public * @return void - **/ + */ function testDrop() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->setReturnValueAt(0, 'execute', true); @@ -267,22 +276,14 @@ class CakeTestFixtureTest extends CakeTestCase { /** * Test the truncate method. * + * @access public * @return void - **/ + */ function testTruncate() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->expectAtLeastOnce('truncate'); $Fixture->truncate($this->criticDb); $this->assertTrue($this->criticDb->fullDebug); } -/** - * tearDown - * - * @access public - * @return void - */ - function tearDown() { - unset($this->criticDb); - } } -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/class_registry.test.php b/cake/tests/cases/libs/class_registry.test.php index fd145ea8e..d40ed0e83 100644 --- a/cake/tests/cases/libs/class_registry.test.php +++ b/cake/tests/cases/libs/class_registry.test.php @@ -1,7 +1,7 @@ skipif (!extension_loaded('xdebug'), 'XDebug not installed'); + } /** * startTest Method * Store reference of $_GET to restore later. @@ -44,7 +51,6 @@ class CodeCoverageManagerTest extends CakeTestCase { function startCase() { $this->_get = $_GET; } - /** * End Case - restore GET vars. * @@ -53,14 +59,6 @@ class CodeCoverageManagerTest extends CakeTestCase { function endCase() { $_GET = $this->_get; } -/** - * Skip if XDebug not installed - * - * @access public - */ - function skip() { - $this->skipif (!extension_loaded('xdebug'), 'XDebug not installed'); - } /** * testNoTestCaseSupplied method * diff --git a/cake/tests/cases/libs/configure.test.php b/cake/tests/cases/libs/configure.test.php index a8cd784c5..f5da1d324 100644 --- a/cake/tests/cases/libs/configure.test.php +++ b/cake/tests/cases/libs/configure.test.php @@ -1,9 +1,9 @@ assertEqual($result, null); } - /** * testSetErrorReporting Level * @@ -537,5 +535,4 @@ class AppImportTest extends UnitTestCase { $this->assertEqual($text, 'This is the welcome.php file in test_plugin/vendors directory'); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/component.test.php b/cake/tests/cases/libs/controller/component.test.php index a3204e4fd..25b0d6fb6 100644 --- a/cake/tests/cases/libs/controller/component.test.php +++ b/cake/tests/cases/libs/controller/component.test.php @@ -1,7 +1,7 @@ Banana->testField = 'OrangeField'; $this->settings = $settings; } - +/** + * startup method + * + * @param Controller $controller + * @return string + * @access public + */ function startup(&$controller) { $controller->foo = 'pass'; } @@ -204,7 +211,13 @@ class BananaComponent extends Object { * @access public */ var $testField = 'BananaField'; - +/** + * startup method + * + * @param Controller $controller + * @return string + * @access public + */ function startup(&$controller) { $controller->bar = 'fail'; } @@ -216,6 +229,12 @@ class BananaComponent extends Object { * @subpackage cake.tests.cases.libs.controller */ class MutuallyReferencingOneComponent extends Object { +/** + * components property + * + * @var array + * @access public + */ var $components = array('MutuallyReferencingTwo'); } /** @@ -225,9 +244,14 @@ class MutuallyReferencingOneComponent extends Object { * @subpackage cake.tests.cases.libs.controller */ class MutuallyReferencingTwoComponent extends Object { +/** + * components property + * + * @var array + * @access public + */ var $components = array('MutuallyReferencingOne'); } - /** * SomethingWithEmailComponent class * @@ -235,6 +259,12 @@ class MutuallyReferencingTwoComponent extends Object { * @subpackage cake.tests.cases.libs.controller */ class SomethingWithEmailComponent extends Object { +/** + * components property + * + * @var array + * @access public + */ var $components = array('Email'); } /** @@ -321,7 +351,7 @@ class ComponentTest extends CakeTestCase { $this->assertTrue(is_a($Controller->Apple->Orange->Banana, 'BananaComponent')); $this->assertTrue(is_a($Controller->Apple->Orange->Controller, 'ComponentTestController')); $this->assertTrue(empty($Controller->Apple->Session)); - $this->assertTrue(empty($Controller->Apple->Orange->Session)); + $this->assertTrue(empty($Controller->Apple->Orange->Session)); } /** * Tests Component::startup() and only running callbacks for components directly attached to @@ -430,7 +460,7 @@ class ComponentTest extends CakeTestCase { $Controller->Component->initialize($Controller); $Controller->beforeFilter(); $Controller->Component->startup($Controller); - + $this->assertTrue(is_a( $Controller->SomethingWithEmail, 'SomethingWithEmailComponent' @@ -458,5 +488,4 @@ class ComponentTest extends CakeTestCase { $this->assertEqual($Controller->components, array('Session' => '', 'Orange' => array('colour' => 'blood orange'))); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/acl.test.php b/cake/tests/cases/libs/controller/components/acl.test.php index 7e6856dae..e651ebe0d 100644 --- a/cake/tests/cases/libs/controller/components/acl.test.php +++ b/cake/tests/cases/libs/controller/components/acl.test.php @@ -1,7 +1,7 @@ Acl); + } /** * testAclCreate method * @@ -543,15 +549,6 @@ class AclComponentTest extends CakeTestCase { $this->assertFalse($this->Acl->check('nobody', 'comments')); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Acl); - } /** * debug function - to help editing/creating test cases for the ACL component * diff --git a/cake/tests/cases/libs/controller/components/auth.test.php b/cake/tests/cases/libs/controller/components/auth.test.php index 83f7cc8a2..8daeee4f6 100644 --- a/cake/tests/cases/libs/controller/components/auth.test.php +++ b/cake/tests/cases/libs/controller/components/auth.test.php @@ -1,7 +1,7 @@ redirect($this->Auth->logout()); + // $this->redirect($this->Auth->logout()); } /** * add method @@ -403,9 +403,9 @@ class AjaxAuthController extends Controller { } } /** -* Short description for class. +* AuthTest class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class AuthTest extends CakeTestCase { @@ -448,6 +448,15 @@ class AuthTest extends CakeTestCase { $this->Controller->Session->del('Message.auth'); $this->initialized = true; } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Controller, $this->AuthUser); + } /** * testNoAuth method * @@ -622,7 +631,6 @@ class AuthTest extends CakeTestCase { $result = $this->Controller->Auth->isAuthorized(); $this->assertFalse($result); } - /** * testAuthorizeCrud method * @@ -1035,7 +1043,6 @@ class AuthTest extends CakeTestCase { $user = $this->Controller->Auth->user(); $this->assertTrue(!!$user); } - /** * testCustomField method * @@ -1070,7 +1077,6 @@ class AuthTest extends CakeTestCase { $user = $this->Controller->Auth->user(); $this->assertTrue(!!$user); } - /** * testAdminRoute method * @@ -1177,14 +1183,5 @@ class AuthTest extends CakeTestCase { $this->Controller->Auth->shutdown($this->Controller); $this->assertFalse($this->Controller->Session->read('Auth.redirect')); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Controller, $this->AuthUser); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/cookie.test.php b/cake/tests/cases/libs/controller/components/cookie.test.php index 7503d5a46..5d8d87aa0 100644 --- a/cake/tests/cases/libs/controller/components/cookie.test.php +++ b/cake/tests/cases/libs/controller/components/cookie.test.php @@ -1,7 +1,7 @@ Cookie->name = 'CakeTestCookie'; $this->Cookie->time = 10; @@ -38,29 +55,19 @@ class CookieComponentTestController extends Controller { } } /** - * Short description for class. + * CookieComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class CookieComponentTest extends CakeTestCase { +/** + * Controller property + * + * @var CookieComponentTestController + * @access public + */ var $Controller; - - function __encrypt($value) { - if (is_array($value)) { - $value = $this->__implode($value); - } - return "Q2FrZQ==." .base64_encode(Security::cipher($value, $this->Controller->Cookie->key)); - } - - - function __implode($array) { - $string = ''; - foreach ($array as $key => $value) { - $string .= ',' . $key . '|' . $value; - } - return substr($string, 1); - } /** * start * @@ -75,6 +82,15 @@ class CookieComponentTest extends CakeTestCase { $this->Controller->Component->startup($this->Controller); $this->Controller->Cookie->destroy(); } +/** + * end + * + * @access public + * @return void + */ + function end() { + $this->Controller->Cookie->destroy(); + } /** * testCookieName * @@ -393,13 +409,31 @@ class CookieComponentTest extends CakeTestCase { unset($_COOKIE['CakeTestCookie']); } /** - * end + * encrypt method * - * @access public - * @return void + * @param mixed $value + * @return string + * @access private */ - function end() { - $this->Controller->Cookie->destroy(); + function __encrypt($value) { + if (is_array($value)) { + $value = $this->__implode($value); + } + return "Q2FrZQ==." . base64_encode(Security::cipher($value, $this->Controller->Cookie->key)); + } +/** + * implode method + * + * @param array $value + * @return string + * @access private + */ + function __implode($array) { + $string = ''; + foreach ($array as $key => $value) { + $string .= ',' . $key . '|' . $value; + } + return substr($string, 1); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/email.test.php b/cake/tests/cases/libs/controller/components/email.test.php index 18c0f7c57..bf42ad877 100644 --- a/cake/tests/cases/libs/controller/components/email.test.php +++ b/cake/tests/cases/libs/controller/components/email.test.php @@ -1,9 +1,9 @@ My own html content

"; $this->assertEqual($result, $expected); } - +/** + * testMultibyte method + * + * @access public + * @return void + */ function testMultibyte() { $this->Controller->Email->reset(); $this->Controller->Email->to = 'postmaster@localhost'; @@ -396,10 +413,15 @@ TEXTBLOC; preg_match('/Subject: (.*)Header:/s', $this->Controller->Session->read('Message.email.message'), $matches); $this->assertEqual(trim($matches[1]), $subject); } - +/** + * osFix method + * + * @param string $string + * @access private + * @return string + */ function __osFix($string) { return str_replace(array("\r\n", "\r"), "\n", $string); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/request_handler.test.php b/cake/tests/cases/libs/controller/components/request_handler.test.php index a839dd213..3a597e8de 100644 --- a/cake/tests/cases/libs/controller/components/request_handler.test.php +++ b/cake/tests/cases/libs/controller/components/request_handler.test.php @@ -1,7 +1,7 @@ RequestHandler->enabled = false; } } /** - * Short description for class. + * RequestHandlerComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class RequestHandlerComponentTest extends CakeTestCase { +/** + * Controller property + * + * @var RequestHandlerTestController + * @access public + */ + var $Controller; +/** + * RequestHandler property + * + * @var RequestHandlerComponent + * @access public + */ + var $RequestHandler; /** * setUp method * @@ -114,15 +133,17 @@ class RequestHandlerComponentTest extends CakeTestCase { $this->_init(); } /** - * init method + * tearDown method * - * @access protected + * @access public * @return void */ - function _init() { - $this->Controller = new RequestHandlerTestController(array('components' => array('RequestHandler'))); - $this->Controller->constructClasses(); - $this->RequestHandler =& $this->Controller->RequestHandler; + function tearDown() { + unset($this->RequestHandler); + unset($this->Controller); + if (!headers_sent()) { + header('Content-type: text/html'); //reset content type. + } } /** * testInitializeCallback method @@ -196,7 +217,7 @@ class RequestHandlerComponentTest extends CakeTestCase { $_SERVER['CONTENT_TYPE'] = 'application/xml; charset=UTF-8'; $this->RequestHandler->startup($this->Controller); $this->assertTrue(is_object($this->Controller->data)); - $this->assertEqual(strtolower(get_class($this->Controller->data)), 'xml'); + $this->assertEqual(strtolower(get_class($this->Controller->data)), 'xml'); } /** * testNonAjaxRedirect method @@ -481,17 +502,15 @@ class RequestHandlerComponentTest extends CakeTestCase { unset($_SERVER['HTTP_X_REQUESTED_WITH']); } /** - * tearDown method + * init method * - * @access public + * @access protected * @return void */ - function tearDown() { - unset($this->RequestHandler); - unset($this->Controller); - if (!headers_sent()) { - header('Content-type: text/html'); //reset content type. - } + function _init() { + $this->Controller = new RequestHandlerTestController(array('components' => array('RequestHandler'))); + $this->Controller->constructClasses(); + $this->RequestHandler =& $this->Controller->RequestHandler; } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/security.test.php b/cake/tests/cases/libs/controller/components/security.test.php index 468f68452..8314a18a2 100644 --- a/cake/tests/cases/libs/controller/components/security.test.php +++ b/cake/tests/cases/libs/controller/components/security.test.php @@ -1,7 +1,7 @@ _validatePost($controller); } } /** -* Short description for class. +* SecurityTestController * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class SecurityTestController extends Controller { @@ -104,14 +109,27 @@ class SecurityTestController extends Controller { $this->testHeaders[] = $status; } } - /** - * Short description for class. + * SecurityComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class SecurityComponentTest extends CakeTestCase { +/** + * Controller property + * + * @var SecurityTestController + * @access public + */ + var $Controller; +/** + * oldSalt property + * + * @var string + * @access public + */ + var $oldSalt; /** * setUp method * @@ -128,7 +146,7 @@ class SecurityComponentTest extends CakeTestCase { Configure::write('Security.salt', 'foo!'); } /** - * Tear-down method. Resets environment state. + * Tear-down method. Resets environment state. * * @access public * @return void @@ -139,7 +157,6 @@ class SecurityComponentTest extends CakeTestCase { unset($this->Controller); Configure::write('Security.salt', $this->oldSalt); } - /** * testStartup method * @@ -584,7 +601,6 @@ DIGEST; $result = $this->Controller->Security->validatePost($this->Controller); $this->assertTrue($result); } - /** * test ValidatePost with multiple select elements. * @@ -776,7 +792,6 @@ DIGEST; $result = $this->Controller->Security->validatePost($this->Controller); $this->assertTrue($result); } - /** * testValidateHasManyRecordsPass method * @@ -1079,5 +1094,4 @@ DIGEST; $this->assertEqual(current($this->Controller->testHeaders), $expected); } } - -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/session.test.php b/cake/tests/cases/libs/controller/components/session.test.php index f0dde24b1..1fe1f61e6 100644 --- a/cake/tests/cases/libs/controller/components/session.test.php +++ b/cake/tests/cases/libs/controller/components/session.test.php @@ -1,7 +1,7 @@ Session->id(); } @@ -42,20 +53,31 @@ class SessionTestController extends Controller { /** * OrangeSessionTestController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class OrangeSessionTestController extends Controller { +/** + * uses property + * + * @var array + * @access public + */ var $uses = array(); - +/** + * session_id method + * + * @return string + * @access public + */ function session_id() { return $this->Session->id(); } } /** - * Short description for class. + * SessionComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class SessionComponentTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/controller/controller.test.php b/cake/tests/cases/libs/controller/controller.test.php index 3f64adbc8..5e16708a8 100644 --- a/cake/tests/cases/libs/controller/controller.test.php +++ b/cake/tests/cases/libs/controller/controller.test.php @@ -1,7 +1,7 @@ _params; } } - /** * ScaffoldMock class * @@ -112,9 +110,8 @@ class ScaffoldMock extends CakeTestModel { ) ); } - /** - * ScaffoldAuthor class + * ScaffoldUser class * * @package cake * @subpackage cake.tests.cases.libs.controller @@ -140,7 +137,6 @@ class ScaffoldUser extends CakeTestModel { ) ); } - /** * ScaffoldComment class * @@ -168,7 +164,6 @@ class ScaffoldComment extends CakeTestModel { ) ); } - /** * TestScaffoldView class * @@ -188,9 +183,9 @@ class TestScaffoldView extends ScaffoldView { } } /** - * ScaffoldViewTest Case. + * ScaffoldViewTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ScaffoldViewTest extends CakeTestCase { @@ -210,6 +205,15 @@ class ScaffoldViewTest extends CakeTestCase { function setUp() { $this->Controller =& new ScaffoldMockController(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Controller); + } /** * testGetViewFilename method * @@ -298,7 +302,6 @@ class ScaffoldViewTest extends CakeTestCase { Configure::write('pluginPaths', $_back['pluginPaths']); Configure::write('Routing.admin', $_admin); } - /** * test default index scaffold generation * @@ -505,26 +508,21 @@ class ScaffoldViewTest extends CakeTestCase { Configure::write('Routing.admin', $_backAdmin); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Controller); - } } - - /** - * Scaffold Test Case + * Scaffold Test class * * @package cake * @subpackage cake.tests.cases.libs.controller */ -class ScaffoldTestCase extends CakeTestCase { +class ScaffoldTest extends CakeTestCase { +/** + * Controller property + * + * @var SecurityTestController + * @access public + */ + var $Controller; /** * fixtures property * @@ -541,6 +539,15 @@ class ScaffoldTestCase extends CakeTestCase { function setUp() { $this->Controller =& new ScaffoldMockController(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Controller); + } /** * Test the correct Generation of Scaffold Params. * This ensures that the correct action and view will be generated @@ -573,15 +580,5 @@ class ScaffoldTestCase extends CakeTestCase { $result = $Scaffold->getParams(); $this->assertEqual($result['action'], 'admin_edit'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Controller); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/debugger.test.php b/cake/tests/cases/libs/debugger.test.php index 0f80d2bf8..57f8b03dc 100644 --- a/cake/tests/cases/libs/debugger.test.php +++ b/cake/tests/cases/libs/debugger.test.php @@ -1,7 +1,7 @@ assertEqual(ini_get('docref_root'), 'http://php.net/'); } - /** * test Excerpt writing * + * @access public * @return void - **/ + */ function testExcerpt() { $return = Debugger::excerpt(__FILE__, 2, 2); $this->assertTrue(is_array($return)); $this->assertEqual(count($return), 4); $this->assertPattern('#/* SVN FILE: \$Id: debugger.test.php#', $return[1]); - + $return = Debugger::excerpt('[internal]', 2, 2); $this->assertTrue(empty($return)); } @@ -247,34 +257,24 @@ class DebuggerTest extends CakeTestCase { $expected = "
array(\n\t\"People\" => array()\n)
"; $this->assertEqual($expected, $result); } - /** * test getInstance. * - * @return void - **/ - function testGetInstance() { - $result = Debugger::getInstance(); - $this->assertIsA($result, 'Debugger'); - - $result = Debugger::getInstance('DebuggerTestCaseDebugger'); - $this->assertIsA($result, 'DebuggerTestCaseDebugger'); - - $result = Debugger::getInstance(); - $this->assertIsA($result, 'DebuggerTestCaseDebugger'); - - $result = Debugger::getInstance('Debugger'); - $this->assertIsA($result, 'Debugger'); - } -/** - * tearDown method - * * @access public * @return void */ - function tearDown() { - Configure::write('log', true); - } + function testGetInstance() { + $result = Debugger::getInstance(); + $this->assertIsA($result, 'Debugger'); + $result = Debugger::getInstance('DebuggerTestCaseDebugger'); + $this->assertIsA($result, 'DebuggerTestCaseDebugger'); + + $result = Debugger::getInstance(); + $this->assertIsA($result, 'DebuggerTestCaseDebugger'); + + $result = Debugger::getInstance('Debugger'); + $this->assertIsA($result, 'Debugger'); + } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/error.test.php b/cake/tests/cases/libs/error.test.php index b0b85947f..ef09072c0 100644 --- a/cake/tests/cases/libs/error.test.php +++ b/cake/tests/cases/libs/error.test.php @@ -1,7 +1,7 @@ assertPattern('/

Not Found<\/h2>/', $result); $this->assertPattern("/'\/test_error'<\/strong>/", $result); - + ob_start(); $TestErrorHandler =& new TestErrorHandler('error404', array('message' => 'Page not found')); ob_get_clean(); diff --git a/cake/tests/cases/libs/file.test.php b/cake/tests/cases/libs/file.test.php index 6ec5ffbb9..2daff0f20 100644 --- a/cake/tests/cases/libs/file.test.php +++ b/cake/tests/cases/libs/file.test.php @@ -1,7 +1,7 @@ skipif (true, 'FlayTest not implemented'); + $this->skipif(true, 'FlayTest not implemented'); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/folder.test.php b/cake/tests/cases/libs/folder.test.php index 34fe46e0e..d9edfc83f 100644 --- a/cake/tests/cases/libs/folder.test.php +++ b/cake/tests/cases/libs/folder.test.php @@ -1,7 +1,7 @@ Socket, $this->RequestSocket); @@ -69,6 +73,8 @@ class HttpSocketTest extends CakeTestCase { /** * Test that HttpSocket::__construct does what one would expect it to do * + * @access public + * @return void */ function testConstruct() { $this->Socket->reset(); @@ -92,10 +98,11 @@ class HttpSocketTest extends CakeTestCase { $this->Socket->__construct(array('request' => array('uri' => 'http://www.cakephp.org:23/'))); $this->assertIdentical($this->Socket->config, $baseConfig); } - /** * Test that HttpSocket::configUri works properly with different types of arguments * + * @access public + * @return void */ function testConfigUri() { $this->Socket->reset(); @@ -158,10 +165,11 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($this->Socket->config, $expected); $this->assertIdentical($r, false); } - /** * Tests that HttpSocket::request (the heart of the HttpSocket) is working properly. * + * @access public + * @return void */ function testRequest() { $this->Socket->reset(); @@ -515,10 +523,11 @@ class HttpSocketTest extends CakeTestCase { $this->RequestSocket->{low($method)}('http://www.google.com/', null, array('line' => 'Hey Server')); } } - /** - * Enter description here... + * testParseResponse method * + * @access public + * @return void */ function testParseResponse() { $this->Socket->reset(); @@ -605,10 +614,11 @@ class HttpSocketTest extends CakeTestCase { } } } - /** - * Enter description here... + * testDecodeBody method * + * @access public + * @return void */ function testDecodeBody() { $this->Socket->reset(); @@ -647,10 +657,11 @@ class HttpSocketTest extends CakeTestCase { } } } - /** - * Enter description here... + * testDecodeChunkedBody method * + * @access public + * @return void */ function testDecodeChunkedBody() { $this->Socket->reset(); @@ -763,10 +774,11 @@ class HttpSocketTest extends CakeTestCase { $r = $this->Socket->buildRequestLine("GET * HTTP/1.1\r\n"); $this->assertIdentical($r, "GET * HTTP/1.1\r\n"); } - /** * Asserts that HttpSocket::parseUri is working properly * + * @access public + * @return void */ function testParseUri() { $this->Socket->reset(); @@ -867,10 +879,11 @@ class HttpSocketTest extends CakeTestCase { 'port' => 8080, )); } - /** * Tests that HttpSocket::buildUri can turn all kinds of uri arrays (and strings) into fully or partially qualified URI's * + * @access public + * @return void */ function testBuildUri() { $this->Socket->reset(); @@ -929,10 +942,11 @@ class HttpSocketTest extends CakeTestCase { $r = $this->Socket->buildUri(array('scheme' => 'foo', 'host' => 'www.cakephp.org')); $this->assertIdentical($r, 'foo://www.cakephp.org:80/'); } - /** * Asserts that HttpSocket::parseQuery is working properly * + * @access public + * @return void */ function testParseQuery() { $this->Socket->reset(); @@ -1033,11 +1047,12 @@ class HttpSocketTest extends CakeTestCase { ); $this->assertIdentical($query, $expectedQuery); } - /** * Tests that HttpSocket::buildHeader can turn a given $header array into a proper header string according to * HTTP 1.1 specs. * + * @access public + * @return void */ function testBuildHeader() { $this->Socket->reset(); @@ -1070,10 +1085,11 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($r, "Test\"@\"Field: My value\r\n"); } - /** * Test that HttpSocket::parseHeader can take apart a given (and valid) $header string and turn it into an array. * + * @access public + * @return void */ function testParseHeader() { $this->Socket->reset(); @@ -1131,10 +1147,10 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($r, $expected); } /** - * undocumented function + * testParseCookies method * - * @return void * @access public + * @return void */ function testParseCookies() { $header = array( @@ -1168,7 +1184,7 @@ class HttpSocketTest extends CakeTestCase { $this->assertEqual($cookies, $expected); } /** - * undocumented function + * testBuildCookies method * * @return void * @access public @@ -1191,6 +1207,8 @@ class HttpSocketTest extends CakeTestCase { /** * Tests that HttpSocket::__tokenEscapeChars() returns the right characters. * + * @access public + * @return void */ function testTokenEscapeChars() { $this->Socket->reset(); @@ -1211,10 +1229,11 @@ class HttpSocketTest extends CakeTestCase { $r = $this->Socket->__tokenEscapeChars(false); $this->assertEqual($r, $expected); } - /** * Test that HttpSocket::escapeToken is escaping all characters as descriped in RFC 2616 (HTTP 1.1 specs) * + * @access public + * @return void */ function testEscapeToken() { $this->Socket->reset(); @@ -1235,10 +1254,11 @@ class HttpSocketTest extends CakeTestCase { $expectedToken = 'Extreme-":"Token-" "-""""@"-test'; $this->assertIdentical($expectedToken, $escapedToken); } - /** * Test that escaped token strings are properly unescaped by HttpSocket::unescapeToken * + * @access public + * @return void */ function testUnescapeToken() { $this->Socket->reset(); @@ -1259,11 +1279,12 @@ class HttpSocketTest extends CakeTestCase { $expectedToken = 'Extreme-:Token- -"@-test'; $this->assertIdentical($expectedToken, $escapedToken); } - /** * This tests asserts HttpSocket::reset() resets a HttpSocket instance to it's initial state (before Object::__construct * got executed) * + * @access public + * @return void */ function testReset() { $this->Socket->reset(); @@ -1281,11 +1302,12 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($return, true); } - /** * This tests asserts HttpSocket::reset(false) resets certain HttpSocket properties to their initial state (before * Object::__construct got executed). * + * @access public + * @return void */ function testPartialReset() { $this->Socket->reset(); @@ -1308,6 +1330,5 @@ class HttpSocketTest extends CakeTestCase { } $this->assertIdentical($return, true); } - } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/i18n.test.php b/cake/tests/cases/libs/i18n.test.php index d10a61f73..89d87cc23 100644 --- a/cake/tests/cases/libs/i18n.test.php +++ b/cake/tests/cases/libs/i18n.test.php @@ -1,7 +1,7 @@ assertFalse(in_array('24 everything else (from core translated)', $corePlurals)); $this->assertFalse(in_array('25 everything else (from core translated)', $corePlurals)); } - +/** + * testPluginTranslation method + * + * @access public + * @return void + */ function testPluginTranslation() { $pluginPaths = Configure::read('pluginPaths'); Configure::write('pluginPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins')); diff --git a/cake/tests/cases/libs/inflector.test.php b/cake/tests/cases/libs/inflector.test.php index e3f1b5710..089fe5e9c 100644 --- a/cake/tests/cases/libs/inflector.test.php +++ b/cake/tests/cases/libs/inflector.test.php @@ -1,7 +1,7 @@ Inflector = Inflector::getInstance(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Inflector); + } /** * testInstantiation method * @@ -246,14 +255,5 @@ class InflectorTest extends CakeTestCase { $this->assertEqual(Inflector::humanize('posts_tags'), 'Posts Tags'); $this->assertEqual(Inflector::humanize('file_systems'), 'File Systems'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Inflector); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/l10n.test.php b/cake/tests/cases/libs/l10n.test.php index 4737ff4a6..f3aaea211 100644 --- a/cake/tests/cases/libs/l10n.test.php +++ b/cake/tests/cases/libs/l10n.test.php @@ -1,7 +1,7 @@ Db =& new MagicDb(); } - /** * MagicDb::analyze should properly detect the file type and output additional info as requested. * @@ -63,7 +60,6 @@ class MagicDbTest extends UnitTestCase { $r = $this->Db->analyze(WWW_ROOT.'img'.DS.'cake.icon.gif'); // TODO: Check several serialized file samples for accurate detection } - /** * MagicDb::read should properly read MagicDb databases from .php-/.db-files and plain data arguments passed in and return false if the file wasn't found or * if the readed data did not validate. @@ -103,7 +99,6 @@ class MagicDbTest extends UnitTestCase { $r = $this->Db->read(MagicDbTestData::get('magic.snippet.db')); $this->assertTrue($r === true); } - /** * MagicDb::toArray should either return the MagicDb::db property, or the parsed array data if a magic.db dump is passed in as the first argument * @@ -127,7 +122,6 @@ class MagicDbTest extends UnitTestCase { $r = $this->Db->toArray(MagicDbTestData::get('magic.snippet.db')); $this->assertTrue($r === MagicDbTestData::get('magic.snippet.db.result')); } - /** * The MagicDb::validates function should return if the array passed to it or the local db property contains a valid MagicDb record set * @@ -152,11 +146,10 @@ class MagicDbTest extends UnitTestCase { $this->assertTrue($r === true); } } - /** * Test data holding object for MagicDb tests * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ /** @@ -177,7 +170,6 @@ class MagicDbTestData extends Object { 'magic.snippet.db.result' => 'YToyOntzOjY6ImhlYWRlciI7YToyOntzOjQ6IkRhdGUiO3M6MTA6IjIwMDUtMDMtMjkiO3M6NjoiU291cmNlIjtzOjIyOiJodHRwOi8vd3d3Lm1hZ2ljZGIub3JnIjt9czo4OiJkYXRhYmFzZSI7YToyOntpOjA7YTo0OntpOjA7YTo0OntpOjA7czoxOiIwIjtpOjE7czo2OiJzdHJpbmciO2k6MjtzOjg6IlxceEZGV1BDIjtpOjM7czo1OToiW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBoZWxwIGZpbGUiO31pOjE7YTo0OntpOjA7czoyOiImOSI7aToxO3M6NDoiYnl0ZSI7aToyO3M6NDoiMHgwMiI7aTozO3M6MDoiIjt9aToyO2E6Mzp7aTowO3M6ODoiPjEwIGJ5dGUiO2k6MTtzOjE6IngiO2k6MjtzOjEyOiIsIHZlcnNpb24gJWQiO31pOjM7YTo0OntpOjA7czozOiI+MTEiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjE6IngiO2k6MztzOjM6Ii4lZCI7fX1pOjE7YTo0OntpOjA7YTo0OntpOjA7czoxOiIwIjtpOjE7czo2OiJzdHJpbmciO2k6MjtzOjg6IlxceEZGV1BDIjtpOjM7czo3ODoiW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBhcHBsaWNhdGlvbiByZXNvdXJjZSBsaWJyYXJ5Ijt9aToxO2E6NDp7aTowO3M6MjoiJjkiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjI6IjUxIjtpOjM7czowOiIiO31pOjI7YTo0OntpOjA7czozOiI+MTAiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjE6IngiO2k6MztzOjEyOiIsIHZlcnNpb24gJWQiO31pOjM7YTo0OntpOjA7czozOiI+MTEiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjE6IngiO2k6MztzOjM6Ii4lZCI7fX19fQ==', 'magic.db' => 'IyBGSUxFX0lEIERCDQojIERhdGU6MjAwNS0wMy0yOQ0KIyBTb3VyY2U6aHR0cDovL3d3dy5tYWdpY2RiLm9yZw0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBoZWxwIGZpbGUNCiY5CWJ5dGUJMHgwMgkNCj4xMCBieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBhcHBsaWNhdGlvbiByZXNvdXJjZSBsaWJyYXJ5DQomOQlieXRlCTUxCQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGJsb2NrIGZpbGUNCiY5CWJ5dGUJMTMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgY29sdW1uIGJsb2NrDQomOQlieXRlCTE1CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGRpY3Rpb25hcnkgZmlsZQ0KJjkJYnl0ZQkweDBCCQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGRpY3Rpb25hcnkgcnVsZXMgZmlsZQ0KJjkJYnl0ZQkzNAkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBleHRlcm5hbCBzcGVsbCBjb2RlIG1vZHVsZSBmaWxlDQomOQlieXRlCTQ2CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGV4dGVybmFsIHNwZWxsIGRpY3Rpb25hcnkgZmlsZQ0KJjkJYnl0ZQk0NwkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBHcmFwaGljcyBzY3JlZW4gZHJpdmVyIGZpbGUNCiY5CWJ5dGUJMjYJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgaHlwaGVuYXRpb24gY29kZSBtb2R1bGUgZmlsZQ0KJjkJYnl0ZQkyMwkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBoeXBoZW5hdGlvbiBkYXRhIG1vZHVsZSBmaWxlDQomOQlieXRlCTI0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGh5cGhlbmF0aW9uIGxleCBtb2R1bGUNCiY5CWJ5dGUJMjcJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgaW5zdGFsbGF0aW9uIGluZm9ybWF0aW9uIGZpbGUNCiY5CWJ5dGUJNDEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3Qga2V5Ym9hcmQgZGVmaW5pdGlvbiBmaWxlDQomOQlieXRlCTB4MDMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgbWFjcm8gZGF0YSBmaWxlDQomOQlieXRlCTB4MDEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgbWFjcm8gcmVzb3VyY2UgZmlsZQ0KJjkJYnl0ZQkyNQkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBwcmludGVyIFEgY29kZXMgKHVzZWQgYnkgVkFYL0RHKQ0KJjkJYnl0ZQkyOAkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCByZWN0YW5ndWxhciBibG9jayBmaWxlDQomOQlieXRlCTE0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IHNwZWxsIGNvZGUgbW9kdWxlIHJ1bGVzIGZpbGUNCiY5CWJ5dGUJMzMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3Qgc3BlbGwgY29kZSBtb2R1bGUgd29yZCBsaXN0DQomOQlieXRlCTI5CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IHRoZXNhcnVzIGZpbGUNCiY5CWJ5dGUJMTIJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgVkFYIGtleWJvYXJkIGRlZmluaXRpb24gZmlsZQ0KJjkJYnl0ZQkweDA0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwQUxMO2V4dD1hbGw7bWltZT07XVdvcmRwZXJmZWN0IHByaW50ZXIgcmVzb3VyY2UgZmlsZQ0KJjkJYnl0ZQkxOQkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDEtMDAtMDAwMENPTjtleHQ9Y29uO21pbWU9O11NaWNyb3NvZnQgQW5pbWF0ZWQgY3Vyc29yLCBsaXR0bGUtZW5kaWFuDQomOAlzdHJpbmcJQUNPTgkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTAwLTAwMDBDT047ZXh0PWNvbjttaW1lPTtdTWljcm9zb2Z0IEFuaW1hdGVkIGN1cnNvciwgYmlnLWVuZGlhbg0KJjgJc3RyaW5nCUFDT04JDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwRE9DO2V4dD1kb2M7bWltZT07XU1hY2ludG9zaCBXb3JkcGVyZmVjdCBkb2N1bWVudCBmaWxlDQomOQlieXRlCTQ0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwRE9DO2V4dD1kb2M7bWltZT07XVZBWCBXb3JkcGVyZmVjdCBkb2N1bWVudCBmaWxlDQomOQlieXRlCTQ1CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwRFJTO2V4dD1kcnM7bWltZT07XVdvcmRwZXJmZWN0IGRpc3BsYXkgcmVzb3VyY2UgZmlsZQ0KJjkJYnl0ZQkyMAkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMEZJTDtleHQ9ZmlsO21pbWU9O11Xb3JkcGVyZmVjdCBvdmVybGF5IGZpbGUNCiY5CWJ5dGUJMjEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlQTUNDCVtmaWQ9MDAwMDAxMDAxLTAwLTAwMDBHUlA7ZXh0PWdycDttaW1lPTtdTWljcm9zb2Z0IHdpbmRvd3MgZ3JvdXAgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJYmVzaG9ydAkweEUzMTAJW2ZpZD0wMDAwMDEwMDctMDAtMDAwSU5GTztleHQ9aW5mbzttaW1lPTtdQW1pZ2Egc2hvcnRjdXQgLyBpY29uIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDBJTlM7ZXh0PWluczttaW1lPTtdV29yZHBlcmZlY3QgaW5zdGFsbGF0aW9uIGluZm9ybWF0aW9uIGZpbGUNCiY5CWJ5dGUJNDMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCWxlbG9uZwkweDAwMDAwMDRDCVtmaWQ9MDAwMDAxMDAxLTAwLTAwMDBMTks7ZXh0PWxuazttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3Mgc2hvcnRjdXQgZmlsZQ0KJjQJc3RyaW5nCVxceDAxXFx4MTRcXHgwMgkNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDBQUlM7ZXh0PXByczttaW1lPTtdV29yZHBlcmZlY3QgcHJpbnRlciByZXNvdXJjZSBmaWxlDQomOQlieXRlCTE2CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwUVJTO2V4dD1xcnM7bWltZT07XVdvcmRwZXJmZWN0IDUuMSBlcXVhdGlvbiByZXNvdXJjZSBmaWxlDQomOQlieXRlCTMwCQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwU0VUO2V4dD1zZXQ7bWltZT07XVdvcmRwZXJmZWN0IHNldHVwIGRhdGENCiY5CWJ5dGUJMTcJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlSSUZGCVtmaWQ9MDAwMDAxMDAxLTBFLTAwMDBQQUw7ZXh0PXBhbCxyaWZmO21pbWU9O11NaWNyb3NvZnQgUGFsZXR0ZSwgbGl0dGxlLWVuZGlhbg0KJjgJc3RyaW5nCVBBTAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTBFLTAwMDBQQUw7ZXh0PXBhbCxyaWZ4O21pbWU9O11NaWNyb3NvZnQgUGFsZXR0ZSwgYmlnLWVuZGlhbg0KJjgJc3RyaW5nCVBBTAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlET1MJW2ZpZD0wMDAwMDEwMDctMEYtMDAwMEFERjtleHQ9YWRmO21pbWU9O11BbWlnYU9TIEZpbGUgc3lzdGVtDQomMwlieXRlJjB4ZjgJMAkNCj4zCWJ5dGUmMQkwCSwgT0ZTDQo+MwlieXRlJjEJMQksIEZGUw0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTExIGJ5IENhcmwNCjAJYmVsb25nCTB4MDNGMwlbZmlkPTAwMDAwMTAwNy0xMC1MSUJSQVJZO2V4dD0sbGlicmFyeTttaW1lPTtdQW1pZ2EgQ2xhc3NpYyBleGVjdXRhYmxlIGZpbGUgKDY4MHgwIGZhbWlseSkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHg3ZkVMRglbZmlkPTAwMDAwMDAwMy0xMC0wMDAwMDBPO2V4dD0sbyxzbyxvdXQ7bWltZT07XUV4ZWN1dGFibGUgbGlua2FibGUgZmlsZSAoRUxGKQ0KJjQJYnl0ZQk9MQksIDMyLWJpdA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxceDdmRUxGCVtmaWQ9MDAwMDAwMDAzLTEwLTAwMDAwME87ZXh0PSxvLHNvLG91dDttaW1lPTtdRXhlY3V0YWJsZSBsaW5rYWJsZSBmaWxlIChFTEYpDQomNAlieXRlCT0yCSwgNjQtYml0DQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTQgYnkgQ2FybA0KMAlzdHJpbmcJTVoJW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMEVYRTtleHQ9ZXhlLGRsbDttaW1lPTtdTmV3IGV4ZWN1dGFibGUgZmlsZQ0KJjB4MTgJbGVzaG9ydAk+MHgzRgkNCiYoNjAubCkJc3RyaW5nCU5FCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCVpNCVtmaWQ9MDAwMDAxMDAxLTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGw7bWltZT07XU5ldyBleGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlNWglbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsO21pbWU9O11NaWNyb3NvZnQgV2luZG93cyAzLnggTmV3IEV4ZWN1dGFibGUgZmlsZQ0KJjB4MTgJbGVzaG9ydAk+MHgzRgkNCiYoNjAubCkJc3RyaW5nCU5FCQ0KJig2MC5sKzU0KQlieXRlCTB4MDIJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTQgYnkgQ2FybA0KMAlzdHJpbmcJWk0JW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMEVYRTtleHQ9ZXhlLGRsbDttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgMy54IE5ldyBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCiYoNjAubCs1NCkJYnl0ZQkweDAyCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCU1aCVtmaWQ9MDAwMDAxMDA5LTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGw7bWltZT07XUlCTSBPUy8yIE5ldyBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCiYoNjAubCs1NCkJYnl0ZQkweDAxCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCVpNCVtmaWQ9MDAwMDAxMDA5LTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGw7bWltZT07XUlCTSBPUy8yIE5ldyBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCiYoNjAubCs1NCkJYnl0ZQkweDAxCQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgV2luZG93cyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQ2FybA0KMAlzdHJpbmcJTVoJW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMEVYRTtleHQ9ZXhlLGRsbDttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgTlQgUG9ydGFibGUgRXhlY3V0YWJsZSBmaWxlDQomMHgxOAlsZXNob3J0CTB4NDAJDQomKDYwLmwpCXN0cmluZwlQRVxceDAwXFx4MDAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBXaW5kb3dzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlaTQlbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsO21pbWU9O11NaWNyb3NvZnQgV2luZG93cyBOVCBQb3J0YWJsZSBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJMHg0MAkNCiYoNjAubCkJc3RyaW5nCVBFXFx4MDBcXHgwMAkNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdpbmRvd3MsRE9TNEdXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlNWglbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsLGRydjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgTGluZWFyIGV4ZWN1dGFibGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlMRQkNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdpbmRvd3MsRE9TNEdXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlaTQlbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsLGRydjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgTGluZWFyIGV4ZWN1dGFibGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlMRQkNCg0KIyBNYWdpYyBJRCBmb3IgT1MvMixET1M0R1cgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCU1aCVtmaWQ9MDAwMDAxMDA5LTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGwsZHJ2O21pbWU9O11PUy8yIExpbmVhciBleGVjdXRhYmxlDQomMHgxOAlsZXNob3J0CT4weDNGCQ0KJig2MC5sKQlzdHJpbmcJTFgJDQoNCiMgTWFnaWMgSUQgZm9yIE9TLzIsRE9TNEdXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlaTQlbZmlkPTAwMDAwMTAwOS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsLGRydjttaW1lPTtdT1MvMiBMaW5lYXIgZXhlY3V0YWJsZQ0KJjB4MTgJbGVzaG9ydAk+MHgzRgkNCiYoNjAubCkJc3RyaW5nCUxYCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA3LTMwIGJ5IENhcmwNCjAJc3RyaW5nCU1TRlQJW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMFRMQjtleHQ9dGxiO21pbWU9O11NaWNyb3NvZnQgY29tcG9uZW50IHR5cGUgbGlicmFyeQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTExIGJ5IENhcmwNCjAJYmVzaG9ydAkweDYwMUEJW2ZpZD0wMDAwMDEwMDYtMTAtMDAwMFRUUDtleHQ9dHRwLGdlbSxwcmc7bWltZT07XUF0YXJpIE1pTlQgZXhlY3V0YWJsZS9vYmplY3QgZmlsZQ0KJjB4MTIJc3RyaW5nCU1pTlQJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTEgYnkgQ2FybA0KMAliZXNob3J0CTB4NjAxQQlbZmlkPTAwMDAwMTAwNi0xMC0wMDAwVFRQO2V4dD10dHAsZ2VtLHByZzttaW1lPTtdQXRhcmkgVE9TIGV4ZWN1dGFibGUvb2JqZWN0IGZpbGUNCiYweDEyCWJlbG9uZwkweDAwMDAJDQoNCiMgTWFnaWMgSUQgZm9yIFZpcnR1YWwgUGFzY2FsIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0zMCBieSBDYXJsDQowCXN0cmluZwlWUEkJW2ZpZD0wMDAwMDAwMDAtMTAtMDAwMFZQSTtleHQ9dnBpO21pbWU9O11WaXJ0dWFsIHBhc2NhbCB1bml0IGZpbGUNCiYweDAzCWJ5dGUJPjQ3CQ0KJjB4MDMJYnl0ZQk8NTgJDQoNCiMgTWFnaWMgSUQgZm9yIEphdmEgY29tcGlsZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTExIGJ5IENhcmwNCjAJYmVsb25nCTB4Q0FGRUJBQkUJW2ZpZD0wMDAwMDEwMTEtMTEtMDBDTEFTUztleHQ9Y2xhc3M7bWltZT07XUphdmFsIHZpcnR1YWwgbWFjaGluZSBjbGFzcyBmaWxlDQo+NgliZXNob3J0CXgJLCB2ZXJzaW9uICVkDQo+NAliZXNob3J0CXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIEJvcmxhbmQgRGVscGhpIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0zMCBieSBDYXJsDQowCXN0cmluZwlQS0cJW2ZpZD0wMDAwMDEwMDUtMTEtMDAwMERDUDtleHQ9ZGNwO21pbWU9O11Cb3JsYW5kIERlbHBoaSBjb21waWxlZCBwYWNrYWdlIGNvZGUgZmlsZQ0KJjB4MDMJYnl0ZQk+NDcJDQomMHgwMwlieXRlCTw1OAkNCg0KIyBNYWdpYyBJRCBmb3IgQm9ybGFuZCBEZWxwaGkgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA3LTMwIGJ5IENhcmwNCjAJc3RyaW5nCVxceERGXFx4MDBcXHgwMFxceDBGCVtmaWQ9MDAwMDAxMDA1LTExLTAwMDBEQ1U7ZXh0PWRjdTttaW1lPTtdQm9ybGFuZCBEZWxwaGkgY29kZSB1bml0IGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgVHVyYm8gUGFzY2FsIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0yOSBieSBDYXJsDQowCXN0cmluZwlUUFU5CVtmaWQ9MDAwMDAxMDA1LTExLTAwMDBUUFU7ZXh0PXRwdTttaW1lPTtdVHVyYm8gUGFzY2FsIDYuMCBjb2RlIHVuaXQgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBUdXJibyBQYXNjYWwsIEJvcmxhbmQgUGFzY2FsIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0yOSBieSBDYXJsDQowCXN0cmluZwlUUFVRCVtmaWQ9MDAwMDAxMDA1LTExLTAwMDBUUFU7ZXh0PXRwdSx0cHAsdHB3O21pbWU9O11Cb3JsYW5kIFBhc2NhbCA3LjAgY29kZSB1bml0IGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoyCXN0cmluZwlBRExJQi0JW2ZpZD0wMDAwMDEwMTYtMjAtMDAwMEJOSztleHQ9Ym5rO21pbWU9O11BZGxpYiBGTSBpbnN0cnVtZW50IGJhbmsgZmlsZQ0KPjAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjEJYnl0ZQl4CS4lZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE2IGJ5IENhcmwNCjAJc3RyaW5nCUlCS1xceDFBCVtmaWQ9MDAwMDAxMDEzLTIwLTAwMDBJQks7ZXh0PWliazttaW1lPTtdQ3JlYXRpdmUgTGFicyBGTSBpbnN0cnVtZW50IGJhbmsgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgSW5zdHJ1bWVudCBEZWZpbml0aW9uIGZpbGUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDEtMjAtMDAwMElERjtleHQ9aWRmO21pbWU9O11NaWNyb3NvZnQgaW5zdHJ1bWVudCBkZWZpbml0aW9uIGZpbGUsIGxpdHRsZS1lbmRpYW4NCiY4CXN0cmluZwlJREZcXCAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBJbnN0cnVtZW50IERlZmluaXRpb24gZmlsZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMTAwMS0yMC0wMDAwSURGO2V4dD1pZGY7bWltZT07XU1pY3Jvc29mdCBpbnN0cnVtZW50IGRlZmluaXRpb24gZmlsZSwgYmlnLWVuZGlhbg0KJjgJc3RyaW5nCUlERlxcIAkNCg0KIyBNYWdpYyBJRCBmb3IgRGlnaXRyYWtrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCURJU1QJW2ZpZD0wMDAxMDAwODgtMjAtMDAwMElTVDtleHQ9aXN0O21pbWU9O11EaWdpdHJha2tlciBJbnN0cnVtZW50IGZpbGUNCiY0CWJ5dGUJPDIJDQoNCiMgTWFnaWMgSUQgZm9yIEltcHVsc2UgdHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJSU1QSQlbZmlkPTAwMDEwMDAzMi0yMC0wMDAwSVRJO2V4dD1pdGk7bWltZT07XUltcHVsc2UgdHJhY2tlciBpbnN0cnVtZW50IGZpbGUNCj4weDIwCXN0cmluZwl4CVt0aXRsZT0lLjI2c10NCg0KIyBNYWdpYyBJRCBmb3IgTWFkdHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDUgYnkgQ2FybA0KMAlzdHJpbmcJTUkyMQlbZmlkPTAwMDEwMDA5MS0yMC0wMDAwTVRJO2V4dD1tdGk7bWltZT07XU1hZHRyYWNrZXIgaW5zdHJ1bWVudCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEdyYXZpcyBVbHRyYXNvdW5kIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlHRjFQQVRDSDEwMFxcMElEIzAwMDAwMlxcMAlbZmlkPTAwMDAwMTAxOC0yMC0wMDAwUEFUO2V4dD1wYXQ7bWltZT07XUdyYXZpcyBVbHRyYXNvdW5kIFBhdGNoIChvbGQgaW5zdHJ1bWVudCBkYXRhKQ0KDQojIE1hZ2ljIElEIGZvciBHcmF2aXMgVWx0cmFzb3VuZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJR0YxUEFUQ0gxMTBcXDBJRCMwMDAwMDJcXDAJW2ZpZD0wMDAwMDEwMTgtMjAtMDAwMFBBVDtleHQ9cGF0O21pbWU9O11HcmF2aXMgVWx0cmFzb3VuZCBQYXRjaCAoaW5zdHJ1bWVudCBkYXRhKQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVNCSVxceDFBCVtmaWQ9MDAwMDAxMDEzLTIwLTAwMDBTQkk7ZXh0PXNiaTttaW1lPTtdQ3JlYXRpdmUgTGFicyBGTSBpbnN0cnVtZW50IGRhdGEgZmlsZQ0KPjQJc3RyaW5nCT4wCVt0aXRsZT0lLjMyc10NCg0KIyBNYWdpYyBJRCBmb3IgU2lkcGxheSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDUgYnkgQ2FybA0KMAlzdHJpbmcJU0lEUExBWVxcIElORk9GSUxFCVtmaWQ9MDAwMDAwMDAwLTIwLTAwMDBTSUQ7ZXh0PXNpZDttaW1lPTtdU0lEUGxheWVyIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRmFzdHRyYWNrZXIgMi4wIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlFeHRlbmRlZFxcIEluc3RydW1lbnQ6XFwgCVtmaWQ9MDAwMTAwMDI2LTIwLTAwMDAwWEk7ZXh0PXhpO21pbWU9O11GYXN0VHJhY2tlciBJSSBpbnN0cnVtZW50IGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlSSUZGCVtmaWQ9MDAwMDAxMDAxLTIxLTAwMDAwMDA7ZXh0PTttaW1lPTtdTUlESSBtdXNpYyBmaWxlLCBsaXR0bGUtZW5kaWFuDQomOAlzdHJpbmcJUk1JRAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTIxLTAwMDAwMDA7ZXh0PTttaW1lPTtdTUlESSBtdXNpYyBmaWxlLCBiaWctZW5kaWFuDQomOAlzdHJpbmcJUk1JRAkNCg0KIyBNYWdpYyBJRCBmb3IgQWJ5c3NcJ3MgaGlnaGVzdCBleHBlcmllbmNlIChBSFgpIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlUSFgJW2ZpZD0wMDAxMDAwMjktMjEtMDAwMEFIWDtleHQ9YWh4O21pbWU9O11BSFggbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQW11c2ljIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoxMDYyCXN0cmluZwlcXHgzY1xceDZmXFx4ZWZcXHg1MVxceDU1XFx4RUVcXHg1MlxceDZGXFx4NTIJW2ZpZD0wMDAxMDAwMzQtMjEtMDAwMEFNRDtleHQ9YW1kO21pbWU9O11BbXVzaWMgQWRsaWIgdHJhY2tlciBtdXNpYyBmaWxlDQo+MAlzdHJpbmcJPlxceDAwCVt0aXRsZT0lLjIzc10NCj4yNAlzdHJpbmcJPlxcMAlbY3JlYXRvcj0lLjI0c10NCg0KIyBNYWdpYyBJRCBmb3IgVmVsdmV0IFN0dWRpbyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJQU1TaGRyXFx4MWEJW2ZpZD0wMDAwMDEyNzYtMjEtMDAwMEFNUztleHQ9YW1zO21pbWU9O11WZWx2ZXQgU3R1ZGlvIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEF1ZGlvIHZpc3VhbCByZXNlYXJjaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJMkJJVAlbZmlkPTAwMDAwMTMwMS0yMS0wMDAwQVZSO2V4dD1hdnI7bWltZT07XUF1ZGlvIHZpc3VhbCByZXNlYXJjaCBhdWRpbyBmaWxlDQo+NAlzdHJpbmcJeAlbdGl0bGU9JS44c10NCg0KIyBNYWdpYyBJRCBmb3IgU291bmRtb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjI2CXN0cmluZwlWLjIJW2ZpZD0wMDAxMDAwMjgtMjEtMDAwMDBCUDtleHQ9YnA7bWltZT07XVNvdW5kbW9uIG1vZHVsZSBtdXNpYyBmaWxlLCB2ZXJzaW9uIDIueA0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjZzXQ0KDQojIE1hZ2ljIElEIGZvciBTb3VuZG1vbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMjYJc3RyaW5nCVYuMwlbZmlkPTAwMDEwMDAyOC0yMS0wMDAwQlAzO2V4dD1icDM7bWltZT07XVNvdW5kbW9uIG1vZHVsZSBtdXNpYyBmaWxlLCB2ZXJzaW9uIDMueA0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjZzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCUNUTUYJW2ZpZD0wMDAwMDEwMTMtMjEtMDAwMENNRjtleHQ9Y21mO21pbWU9O11DcmVhdGl2ZSBMYWJzIG11c2ljIGZpbGUNCj40CWJ5dGUJeAksIHZlcnNpb24gJWQNCj41CWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgRGlnaWJvb3N0ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCURJR0kgQm9vc3RlciBtb2R1bGVcXDAJW2ZpZD0wMDAwMDEzMDItMjEtMDAwRElHSTtleHQ9ZGlnaTttaW1lPTtdRGlnaWJvb3N0ZXIgbXVzaWMgZmlsZQ0KPjYxMAlzdHJpbmcJeAlbdGl0bGU9JS4zMnNdDQoNCiMgTWFnaWMgSUQgZm9yIERlbHVzaW9uIFh0cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlERE1GCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBETUY7ZXh0PWRtZjttaW1lPTtdRGVsdXNpb24gdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KPjQJYnl0ZQl4CSwgdmVyc2lvbiAlZC4wDQo+MTMJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMzBzXQ0KPjQzCXN0cmluZwk+XFwwCVtjcmVhdG9yPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBET1MgU291bmQgaW50ZXJmYWNlIGtpdCAoRFNJSykgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDAwMDAtMjEtMDAwMERTTTtleHQ9ZHNtO21pbWU9O11ET1MgU291bmQgaW50ZXJmYWNlIGtpdCBtb2R1bGUgbXVzaWMgZmlsZQ0KJjgJc3RyaW5nCURTTUYJDQoNCiMgTWFnaWMgSUQgZm9yIEVkbGliIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNyBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDA2XFx4RkVcXHhGRAlbZmlkPTAwMDEwMDAyNy0yMS0wMDAwRURMO2V4dD1lZGw7bWltZT07XUVkbGliIEZNIHRyYWNrZXIgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBRdWFkcmEgQ29tcG9zZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAxMDAwODUtMjEtMDAwMEVNRDtleHQ9ZW1kO21pbWU9O11FbmhhbmNlZCBtb2R1bGUgbXVzaWMgZmlsZSAoSUZGKQ0KJjgJc3RyaW5nCUVNT0QJDQoNCiMgTWFnaWMgSUQgZm9yIEZhcmFuZG9sZSBjb21wb3NlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJRkFSXFx4RkUJW2ZpZD0wMDAxMDAwODctMjEtMDAwMEZBUjtleHQ9ZmFyO21pbWU9O11GYXJhbmRvbGUgY29tcG9zZXIgbW9kdWxlIG11c2ljIGZpbGUNCj40CXN0cmluZwk+XFwwCVt0aXRsZT0lLjQwc10NCg0KIyBNYWdpYyBJRCBmb3IgRnVua3RyYWNrZXIgR29sZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRnVuawlbZmlkPTAwMDEwMDA4Ni0yMS0wMDAwRk5LO2V4dD1mbms7bWltZT07XUZ1bmt0cmFja2VyIEdvbGQgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCZWxscywgV2hpc3RsZXMsIGFuZCBTb3VuZCBCb2FyZHMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE2IGJ5IENhcmwNCjAJc3RyaW5nCUdETVxceEZFCVtmaWQ9MDAwMDAxMjgwLTIxLTAwMDBHRE07ZXh0PWdkbTttaW1lPTtdR2VuZXJhbCBEaWdpTXVzaWMgbW9kdWxlIG11c2ljIGZpbGUNCj40CXN0cmluZwk+XFx4MDAJW3RpdGxlPSUuMzJzXQ0KDQojIE1hZ2ljIElEIGZvciBHcmFvdW1mIFRyYWNrZXIgMiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJR1QyCVtmaWQ9MDAwMTAwMDMxLTIxLTAwMDBHVDI7ZXh0PWd0MjttaW1lPTtdR3Jhb3VtZiBUcmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEltYWdvIE1vcnBoZXVzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQoweDNDCXN0cmluZwlJTTEwCVtmaWQ9MDAwMDAxMjc5LTIxLTAwMDBJTUY7ZXh0PWltZjttaW1lPTtdSW1hZ28gbW9ycGhldXMgbXVzaWMgZmlsZSwgMzIgY2hhbm5lbHMNCj4wCXN0cmluZwl4CVt0aXRsZT0lLjMxc10NCg0KIyBNYWdpYyBJRCBmb3IgSW1wdWxzZSB0cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlJTVBNCVtmaWQ9MDAwMTAwMDMyLTIxLTAwMDAwSVQ7ZXh0PWl0O21pbWU9O11JbXB1bHNlIFRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCj40CXN0cmluZwk+XFx4MDAJW3RpdGxlPSUuMjZzXQ0KDQojIE1hZ2ljIElEIGZvciBKYW1jcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlCZUVwCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBKQU07ZXh0PWphbTttaW1lPTtdSmFtY3JhY2tlciB0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIExpcXVpZCB0cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlMaXF1aWQgTW9kdWxlOglbZmlkPTAwMDEwMDA5MC0yMS0wMDAwTElRO2V4dD1saXE7bWltZT07XUxpcXVpZCB0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQomMHg0MAlieXRlCTB4MUEJDQo+MHgwRQlzdHJpbmcJPlxcMAlbdGl0bGU9JS4zMHNdDQo+MHgyYwlzdHJpbmcJPlxcMAlbY3JlYXRvcj0lLjIwc10NCg0KIyBNYWdpYyBJRCBmb3IgRGlnaXRyYWtrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCURNREwJW2ZpZD0wMDAxMDAwODgtMjEtMDAwME1ETDtleHQ9bWRsO21pbWU9O11EaWdpdHJha2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KJjQJYnl0ZQk8MHgxMgkNCg0KIyBNYWdpYyBJRCBmb3IgTUVEIFNvdW5kc3R1ZGlvIC8gT2N0YU1FRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJTU1EMAlbZmlkPTAwMDAwMTI3OC0yMS0wMDAwTUVEO2V4dD1tZWQ7bWltZT07XU9jdGFtZWQgdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNRUQgU291bmRzdHVkaW8gLyBPY3RhTUVEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlNTUQxCVtmaWQ9MDAwMDAxMjc4LTIxLTAwMDBNRUQ7ZXh0PW1lZDttaW1lPTtdT2N0YW1lZCBQcm8gVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNRUQgU291bmRzdHVkaW8gLyBPY3RhTUVEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlNTUQyCVtmaWQ9MDAwMDAxMjc4LTIxLTAwMDBNRUQ7ZXh0PW1lZDttaW1lPTtdT2N0YW1lZCBQcm8gVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNRUQgU291bmRzdHVkaW8gLyBPY3RhTUVEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlNTUQzCVtmaWQ9MDAwMDAxMjc4LTIxLTAwMDBNRUQ7ZXh0PW1lZDttaW1lPTtdT2N0YW1lZCBTb3VuZCBTdHVkaW8gbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTXVzaWNsaW5lIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlNTEVETU9ETAlbZmlkPTAwMDAwMTMwNC0yMS0wMDAwME1MO2V4dD1tbDttaW1lPTtdTXVzaWNsaW5lIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFByb3RyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjEwODAJc3RyaW5nCU0hSyEJW2ZpZD0wMDAxMDAwMjItMjEtMDAwME1PRDtleHQ9bW9kO21pbWU9O11Qcm90cmFja2VyIDIuMyBtb2R1bGUgbXVzaWMgZmlsZQ0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBQcm90cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoxMDgwCXN0cmluZwlNLksuCVtmaWQ9MDAwMTAwMDIyLTIxLTAwMDBNT0Q7ZXh0PW1vZDttaW1lPTtdUHJvdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBQcm90cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMTAwMDIyLTIxLTAwMDBNT0Q7ZXh0PW1vZDttaW1lPTtdUHJvdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZSwgdmVyc2lvbiAzLngNCiY4CXN0cmluZwlNT0RMCQ0KDQojIE1hZ2ljIElEIGZvciBTdGFydHJla2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMTA4MAlzdHJpbmcJRkxUNAlbZmlkPTAwMDEwMDAyNC0yMS0wMDAwTU9EO2V4dD1tb2Q7bWltZT07XVN0YXJ0cmVra2VyIG1vZHVsZSBtdXNpYyBmaWxlLCA0IGNoYW5uZWxzDQo+MAlzdHJpbmcJPlxcMAlbdGl0bGU9JS4yMHNdDQoNCiMgTWFnaWMgSUQgZm9yIFN0YXJ0cmVra2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoxMDgwCXN0cmluZwlGTFQ4CVtmaWQ9MDAwMTAwMDI0LTIxLTAwMDBNT0Q7ZXh0PW1vZDttaW1lPTtdU3RhcnRyZWtrZXIgbW9kdWxlIG11c2ljIGZpbGUsIDggY2hhbm5lbHMNCj4wCXN0cmluZwk+XFwwCVt0aXRsZT0lLjIwc10NCg0KIyBNYWdpYyBJRCBmb3IgRmFzdHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjEwODAJc3RyaW5nCTZDSE4JW2ZpZD0wMDAwMDEyNzUtMjEtMDAwME1PRDtleHQ9bW9kO21pbWU9O11GYXN0dHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZSwgNiBjaGFubmVscw0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBGYXN0dHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMTA4MAlzdHJpbmcJOENITglbZmlkPTAwMDAwMTI3NS0yMS0wMDAwTU9EO2V4dD1tb2Q7bWltZT07XUZhc3R0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlLCA2IGNoYW5uZWxzDQo+MAlzdHJpbmcJPlxcMAlbdGl0bGU9JS4yMHNdDQoNCiMgTWFnaWMgSUQgZm9yIE1hZHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA1IGJ5IENhcmwNCjAJc3RyaW5nCU1UMjAJW2ZpZD0wMDAxMDAwOTEtMjEtMDAwME1UMjtleHQ9bXQyO21pbWU9O11NYWR0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQo+NDIJc3RyaW5nCXgJW3RpdGxlPSUuNjRzXQ0KPjExMglsZXNob3J0CXgJW2Nobj0lZF0NCg0KIyBNYWdpYyBJRCBmb3IgTXVsdGl0cmFja2VyIE1vZHVsZSBlZGl0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCU1UTQlbZmlkPTAwMDEwMDA4OS0yMS0wMDAwTVRNO2V4dD1tdG07bWltZT07XU11bHRpVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KPjQJc3RyaW5nCT5cXHgwMAlbdGl0bGU9JS4yMHNdDQoNCiMgTWFnaWMgSUQgZm9yIE1hZHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA1IGJ5IENhcmwNCjAJc3RyaW5nCU1UUDIJW2ZpZD0wMDAxMDAwOTEtMjEtMDAwME1UUDtleHQ9bXRwO21pbWU9O11NYWR0cmFja2VyIHBhdHRlcm4gZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBBL05FUyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJTkVTQQlbZmlkPTAwMDEwMDA5NC0yMS0wMDAwTlNBO2V4dD1uc2E7bWltZT07XUEvTkVTIHJpcHBlZCBhdWRpbyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJTkVTTVxceDFBCVtmaWQ9MDAwMTAwMDkzLTIxLTAwMDBOU0Y7ZXh0PW5zZjttaW1lPTtdTkVTIHJpcHBlZCBhdWRpbyBmaWxlDQo+NQlieXRlCXgJLCB2ZXJzaW9uICVkLjANCj4weDBFCXN0cmluZwl4CVt0aXRsZT0lLjMyc10NCj4weDJFCXN0cmluZwl4CVtjcmVhdG9yPSUuMzJzXQ0KDQojIE1hZ2ljIElEIGZvciBOb2lzZXRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjEwODAJc3RyaW5nCU0mSyEJW2ZpZD0wMDAxMDAwMjMtMjEtMDAwME5TVDtleHQ9bnN0O21pbWU9O11Ob2lzZXRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCj4wCXN0cmluZwk+XFwwCVt0aXRsZT0lLjIwc10NCg0KIyBNYWdpYyBJRCBmb3IgT2t0YWx5emVyIHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCU9LVEFTT05HCVtmaWQ9MDAwMTAwMDMwLTIxLTAwMDBPS1Q7ZXh0PW9rdDttaW1lPTtdT2t0YWx5emVyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNCU3R1ZGlvIHNvdW5kIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlQQUNHCVtmaWQ9MDAwMTAwMDIwLTIxLTAwMDBQQUM7ZXh0PXBhYzttaW1lPTtdU0JTdHVkaW8gbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUG9seXRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjQ0CXN0cmluZwlQVE1GCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBQVE07ZXh0PXB0bTttaW1lPTtdUG9seSBUcmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQo+MzgJbGVzaG9ydAk+MAlbY2huPSVkXQ0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjhzXQ0KDQojIE1hZ2ljIElEIGZvciBSZWFsaXR5IEFkbGliIHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVJBRFxcIGJ5CVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBSQUQ7ZXh0PXJhZDttaW1lPTtdUmVhbGl0eSBBZGxpYiB0cmFja2VyIG11c2ljIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlSSUZGCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBSTUk7ZXh0PXJtaTttaW1lPWFwcGxpY2F0aW9uL3ZuZC5tdXNpYy1uaWZmO11Tb25nIG5vdGF0aW9uIGRhdGEgZmlsZSwgbGl0dGxlLWVuZGlhbg0KJjgJc3RyaW5nCU5JRkYJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMDAwMC0yMS0wMDAwUk1JO2V4dD1ybWk7bWltZT1hcHBsaWNhdGlvbi92bmQubXVzaWMtbmlmZjtdU29uZyBub3RhdGlvbiBkYXRhIGZpbGUsIGJpZy1lbmRpYW4NCiY4CXN0cmluZwlOSUZGCQ0KDQojIE1hZ2ljIElEIGZvciBBZGxpYiBWaXN1YWwgQ29tcG9zZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJbGVzaG9ydAkweDAwMDAJW2ZpZD0wMDAwMDEwMTYtMjEtMDAwMFJPTDtleHQ9cm9sO21pbWU9O11BZGxpYiBtdXNpYyBmaWxlDQomMglsZXNob3J0CTB4MDAwNAkNCg0KIyBNYWdpYyBJRCBmb3IgU2NyZWFtdHJhY2tlciAzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoweDJDCXN0cmluZwlTQ1JNCVtmaWQ9MDAwMTAwMDI1LTIxLTAwMDBTM007ZXh0PXMzbTttaW1lPTtdU2NyZWFtIHRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCj4weDJBCWxlc2hvcnQJPjAJLCB2ZXJzaW9uICVkLjANCj4wCXN0cmluZwk+XFwwCVt0aXRsZT0lLjI4c10NCg0KIyBNYWdpYyBJRCBmb3IgU3VycHJpc2UhIEFkbGliIFRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVNBZFQJW2ZpZD0wMDAxMDAwMjEtMjEtMDAwMFNBMjtleHQ9c2EyO21pbWU9O11TdXJwcmlzZSBQcm9kdWN0aW9ucyBBZGxpYiB0cmFja2VyIG11c2ljIGZpbGUNCj40CWJ5dGUJeAksIHZlcnNpb24gMC4lZA0KDQojIE1hZ2ljIElEIGZvciBTb3VuZEZYIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQo2MAlzdHJpbmcJU09ORwlbZmlkPTAwMDAwMTI3Ny0yMS0wMDAwU0ZYO2V4dD1zZng7bWltZT07XVNvdW5kRlggVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQbGF5U0lELCBTaWRwbGF5IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlQU0lECVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBTSUQ7ZXh0PXNpZDttaW1lPTtdUGxheVNJRCBtdXNpYyBmaWxlDQo+MTYJc3RyaW5nCXgJW3RpdGxlPSUuMjBzXQ0KPjM2CXN0cmluZwl4CVtjcmVhdG9yPSUuMjBzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCU1UaGQJW2ZpZD0wMDAwMDEwMTctMjEtMDAwMFNNRjtleHQ9c21mLG1pZGk7bWltZT07XVN0YW5kYXJkIE1JREkgbXVzaWMgZmlsZQ0KPjEwCWJlc2hvcnQJPjAJW2Nobj0lZF0NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMDEwLTIxLTAwMFNNVVM7ZXh0PXNtdXMsbXVzO21pbWU9O11JRkYgU2ltcGxlIE11c2ljYWwgU2NvcmUgZmlsZQ0KJjgJc3RyaW5nCVNNVVMJDQoNCiMgTWFnaWMgSUQgZm9yIFNuZHRvb2wyLG5lenBsYXkgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA1IGJ5IENhcmwNCjAJc3RyaW5nCVNORFxceDFBCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBTTkQ7ZXh0PXNuZDttaW1lPTtdTmludGVuZG8gRW50ZXJ0YWlubWVudCBTeXN0ZW0gYXVkaW8gZmlsZSAoTkVTKQ0KJjQJYnl0ZQkzCSwgdmVyc2lvbiAlMy4wDQo+NQlieXRlCXgJW2Nobj0lZF0NCg0KIyBNYWdpYyBJRCBmb3IgaU5FUyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDUgYnkgQ2FybA0KMAlzdHJpbmcJU05EXFx4MUEJW2ZpZD0wMDAxMDAwOTItMjEtMDAwMFNORDtleHQ9c25kO21pbWU9O11pTkVTIGVtdWxhdG9yIGF1ZGlvIGZpbGUNCiY0CWJ5dGUJMQksIHZlcnNpb24gJTEuMA0KPjUJYnl0ZQl4CVtjaG49JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFNUTUlLIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoweDE1CXN0cmluZwlTY3JlYW0hCVtmaWQ9MDAwMTAwMDI1LTIxLTAwMDBTVFg7ZXh0PXN0eDttaW1lPTtdU1RNSUsgbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgVGhlIEZpbmFsIE11c2ljc3lzdGVtIGVYdGVuZGVkIChURk1YKSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJVEZNWC1TT05HXFwgCVtmaWQ9MDAwMTAwMDk2LTIxLTAwMDBURlg7ZXh0PXRmeCx0Zm14O21pbWU9O11URk1YIHRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgVWx0cmEgVHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJTUFTX1VUcmFja19WMDAJW2ZpZD0wMDAxMDAwOTctMjEtMDAwMFVMVDtleHQ9dWx0O21pbWU9O11VbHRyYSBUcmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQo+MTUJc3RyaW5nCXgJW3RpdGxlPSUuMzJzXQ0KDQojIE1hZ2ljIElEIGZvciBBUGxheWVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlBUFVOXFx4MDEJW2ZpZD0wMDAwMDAwMDAtMjEtMDAwMFVOSTtleHQ9dW5pO21pbWU9O11BUGxheWVyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE1pa21vZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJVU4wCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBVTkk7ZXh0PXVuaTttaW1lPTtdTWlrbW9kIG1vZHVsZSBtdXNpYyBmaWxlDQo+NAlieXRlCXgJW2Nobj0lZF0NCg0KIyBNYWdpYyBJRCBmb3IgRmFzdHRyYWNrZXIgMi4wIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlFeHRlbmRlZFxcIE1vZHVsZTpcXCAJW2ZpZD0wMDAxMDAwMjYtMjEtMDAwMDBYTTtleHQ9eG07bWltZT07XUZhc3RUcmFja2VyIElJIG1vZHVsZSBtdXNpYyBmaWxlDQo+NTkJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjU4CWJ5dGUJeAkuMCVkDQo+MTcJc3RyaW5nCXgJW3RpdGxlPSUuMjBzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEwMTAtMjItMDAwOFNWWDtleHQ9OHN2eDttaW1lPTtdQW1pZ2EgU2FtcGxlZCBhdWRpbyBmaWxlDQomOAlzdHJpbmcJOFNWWAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMDAyLTIyLTAwMEFJRkM7ZXh0PWFpZmMsYWlmO21pbWU9O11BdWRpbyBDb21wcmVzc2VkIEludGVyY2hhbmdlIEZpbGUgRm9ybWF0DQomOAlzdHJpbmcJQUlGQwkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMDAyLTIyLTAwMEFJRkY7ZXh0PWFpZmYsYWlmO21pbWU9O11BdWRpbyBJbnRlcmNoYW5nZSBGaWxlIEZvcm1hdA0KJjgJc3RyaW5nCUFJRkYJDQoNCiMgTWFnaWMgSUQgZm9yIE1vbmtleUF1ZGlvIHNvZnR3YXJlIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCXN0cmluZwlNQUNcXCAJW2ZpZD0wMDAxMDAxMjAtMjItMDAwMEFQRTtleHQ9YXBlO21pbWU9O11Nb25rZXlBdWRpbyBjb21wcmVzc2VkIGF1ZGlvIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwkuc25kCVtmaWQ9MDAwMDAxMDExLTIyLTAwMDAwQVU7ZXh0PWF1LHNuZDttaW1lPTtdU3VuIC8gTmVYdCBzYW1wbGVkIGF1ZGlvIGZpbGUNCj4xNgliZWxvbmcJPjAJW2ZyZXE9JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFNwcGFjayBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMjUyCWJlc2hvcnQJMHg0MEMzCVtmaWQ9MDAwMDAxMDE5LTIyLTAwMDAwMEQ7ZXh0PWQ7bWltZT07XVNwcGFjayBhdWRpbyBzYW1wbGUgZmlsZQ0KJjI1NAliZXNob3J0CTB4RkMwRQkNCg0KIyBNYWdpYyBJRCBmb3IgRmxhYyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDggYnkgQ2FybA0KMAlzdHJpbmcJZkxhQwlbZmlkPTAwMDEwMDA5OC0yMi0wMDBGTEFDO2V4dD1mbGFjO21pbWU9O11GcmVlIExvc3NsZXNzIEF1ZGlvIENvZGVjIHJhdyBhdWRpbyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEZhcmFuZG9sZSBDb21wb3NlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRlNNXFx4RkUJW2ZpZD0wMDAxMDAwODctMjItMDAwMEZTTTtleHQ9ZnNtO21pbWU9O11GYXJhbmRvbGUgY29tcG9zZXIgYXVkaW8gc2FtcGxlIGZpbGUNCj40CXN0cmluZwl4CVt0aXRsZT0lLjMyc10NCg0KIyBNYWdpYyBJRCBmb3IgTUFVRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMDAwMC0yMi0wMDBNQVVEO2V4dD1tYXVkO21pbWU9O11NQVVEIGF1ZGlvIHNhbXBsZSBmaWxlDQomNAlzdHJpbmcJTUFVRAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0wNCBieSBDYXJsDQowCWJlc2hvcnQmMHhGRkUwCTB4ZmZlMAlbZmlkPTAwMDAwMDAwMS0yMi0wMDExMTcyO2V4dD1tcDEsbXAyLG1wMzttaW1lPWF1ZGlvL21wZWc7XU1QMyBBdWRpbyBzdHJlYW0gZmlsZQ0KJloxMjgJc3RyaW5nCVRBRwkNCj5aMTI1CXN0cmluZwl4CVt0aXRsZT0lLjMwc10NCj5aOTUJc3RyaW5nCXgJW2NyZWF0b3I9JS4zMHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMDQgYnkgQ2FybA0KMAlzdHJpbmcJSUQzCVtmaWQ9MDAwMDAwMDAxLTIyLTAwMTExNzI7ZXh0PW1wMSxtcDIsbXAzO21pbWU9YXVkaW8vbXBlZztdTVAzIEF1ZGlvIHN0cmVhbSBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFwwXFwwMDFcXDI0M1xcMTQ0CVtmaWQ9MDAwMDAxMDE0LTIyLTAwMDAwU0Y7ZXh0PXNmO21pbWU9O11JUkNBTSBhdWRpbyBzYW1wbGUgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxcMFxcMDAyXFwyNDNcXDE0NAlbZmlkPTAwMDAwMTAxNC0yMi0wMDAwMFNGO2V4dD1zZjttaW1lPTtdSVJDQU0gYXVkaW8gc2FtcGxlIGZpbGUsIGxpdHRsZS1lbmRpYW4NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXDBcXDAwM1xcMjQzXFwxNDQJW2ZpZD0wMDAwMDEwMTQtMjItMDAwMDBTRjtleHQ9c2Y7bWltZT07XUlSQ0FNIGF1ZGlvIHNhbXBsZSBmaWxlLCBiaWctZW5kaWFuDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFwxNDRcXDI0M1xcMDAxXFwwCVtmaWQ9MDAwMDAxMDE0LTIyLTAwMDAwU0Y7ZXh0PXNmO21pbWU9O11JUkNBTSBhdWRpbyBzYW1wbGUgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxcMTQ0XFwyNDNcXDAwMlxcMAlbZmlkPTAwMDAwMTAxNC0yMi0wMDAwMFNGO2V4dD1zZjttaW1lPTtdSVJDQU0gYXVkaW8gc2FtcGxlIGZpbGUsIGJpZy1lbmRpYW4NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXDE0NFxcMjQzXFwwMDNcXDAJW2ZpZD0wMDAwMDEwMTQtMjItMDAwMDBTRjtleHQ9c2Y7bWltZT07XUlSQ0FNIGF1ZGlvIHNhbXBsZSBmaWxlLCBsaXR0bGUtZW5kaWFuDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFwxNDRcXDI0M1xcMDA0XFwwCVtmaWQ9MDAwMDAxMDE0LTIyLTAwMDAwU0Y7ZXh0PXNmO21pbWU9O11JUkNBTSBhdWRpbyBzYW1wbGUgZmlsZSwgYmlnLWVuZGlhbg0KDQojIE1hZ2ljIElEIGZvciBTY3JlYW10cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQoweDRDCXN0cmluZwlTQ1JTCVtmaWQ9MDAwMTAwMDI1LTIyLTAwMDBTTVA7ZXh0PXNtcDttaW1lPTtdU2NyZWFtdHJhY2tlciBhdWRpbyBzYW1wbGUNCj4weDMwCXN0cmluZwl4CVt0aXRsZT0lLjMwc10NCg0KIyBNYWdpYyBJRCBmb3IgU291bmRUb29sIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNyBieSBDYXJsDQowCXN0cmluZwlTT1VORFxceDFBCVtmaWQ9MDAwMTAwMDk1LTIyLTAwMDBTTkQ7ZXh0PXNuZDttaW1lPTtdU291bmQgdG9vbCBhdWRpbyBkYXRhIGZpbGUNCj4xNAlsZXNob3J0CXgJW2ZyZXE9JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFNCU3R1ZGlvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlTTkRcXCAJW2ZpZD0wMDAxMDAwMjAtMjItMDAwMFNPVTtleHQ9c291O21pbWU9O11TQlN0dWRpbyBzYW1wbGVkIGF1ZGlvIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xOCBieSBDYXJsDQowCXN0cmluZwlTcGVleAlbZmlkPTAwMDAwMDAwMC0yMi0wMFNQRUVYO2V4dD1zcGVleDttaW1lPTtdU3BlZXggTG9zc3kgQXVkaW8gQ29kZWMgcmF3IGF1ZGlvIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU291bmQgQmxhc3RlciBTREsgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCUNyZWF0aXZlXFwgVm9pY2VcXCBGaWxlXFx4MUEJW2ZpZD0wMDAwMDEwMTMtMjItMDAwMFZPQztleHQ9dm9jO21pbWU9O11DcmVhdGl2ZSBWb2ljZSBhdWRpbyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTggYnkgQ2FybA0KMAlzdHJpbmcJdm9yYmlzCVtmaWQ9MDAwMDAwMDAwLTIyLTBWT1JCSVM7ZXh0PXZvcmJpczttaW1lPTtdVm9yYmlzIExvc3N5IEF1ZGlvIENvZGVjIHJhdyBhdWRpbyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGRglbZmlkPTAwMDAwMTAwMS0yMi0wMDAwV0FWO2V4dD13YXY7bWltZT07XU1pY3Jvc29mdCBXYXZlZm9ybSBBdWRpbyBmaWxlLCBsaXR0bGUtZW5kaWFuDQomOAlzdHJpbmcJV0FWRQkNCj4yNAlsZWxvbmcJPjAJW2ZyZXE9JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMTAwMS0yMi0wMDAwV0FWO2V4dD13YXY7bWltZT07XU1pY3Jvc29mdCBXYXZlZm9ybSBBdWRpbyBmaWxlLCBiaWctZW5kaWFuDQomOAlzdHJpbmcJV0FWRQkNCj4yNAliZWxvbmcJPjAJW2ZyZXE9JWRdDQoNCiMgTWFnaWMgSUQgZm9yIE1heWEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUZPUjQJW2ZpZD0wMDAwMDEzMTItMzEtMDAwMDAwMDtleHQ9O21pbWU9O11NYXlhIGltYWdlIGZpbGUNCiY4CXN0cmluZwlDSU1HCQ0KDQojIE1hZ2ljIElEIGZvciBNYXlhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlGT1I4CVtmaWQ9MDAwMDAxMzEyLTMxLTAwMDAwMDA7ZXh0PTttaW1lPTtdTWF5YSBpbWFnZSBmaWxlDQomOAlzdHJpbmcJQ0lNRwkNCg0KIyBNYWdpYyBJRCBmb3IgQU9MIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwlKR1xceDA0XFx4MEUJW2ZpZD0wMDAwMDEwMjMtMzEtMDAwMEFSVDtleHQ9YXJ0O21pbWU9O11BT0wvSm9obnNvbi1HcmFjZSBpbWFnZSBmaWxlLCB2ZXJzaW9uIDIuMA0KPjB4MEQJbGVzaG9ydAl4CVtyZXM9JWR4DQo+MHgwRglsZXNob3J0CXgJJWRdDQoNCiMgTWFnaWMgSUQgZm9yIEJNRiBpbWFnZSBjb21wcmVzc29yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlcXHg4MVxceDhBMAlbZmlkPTAwMDEwMDA0OC0zMS0wMDAwQk1GO2V4dD1ibWY7bWltZT07XUJNRiBpbWFnZSBmaWxlDQo+MglzdHJpbmcJeAksIHZlcnNpb24gJS4xcw0KPjMJc3RyaW5nCXgJLiUuMXMNCg0KIyBNYWdpYyBJRCBmb3IgQk1GIGltYWdlIGNvbXByZXNzb3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTI3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDgxXFx4OEEyCVtmaWQ9MDAwMTAwMDQ4LTMxLTAwMDBCTUY7ZXh0PWJtZjttaW1lPTtdQk1GIGltYWdlIGZpbGUNCj4yCXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzDQo+MwlzdHJpbmcJeAkuJS4xcw0KDQojIE1hZ2ljIElEIGZvciBCTUYgaW1hZ2UgY29tcHJlc3NvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ODFcXHg4QTEJW2ZpZD0wMDAxMDAwNDgtMzEtMDAwMEJNRjtleHQ9Ym1mO21pbWU9O11CTUYgaW1hZ2UgZmlsZQ0KPjIJc3RyaW5nCXgJLCB2ZXJzaW9uICUuMXMNCj4zCXN0cmluZwl4CS4lLjFzDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJQk0JW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMEJNUDtleHQ9Ym1wO21pbWU9O11XaW5kb3dzIG9yIE9TLzIgQml0bWFwIGltYWdlIGZpbGUNCiY2CWxlbG9uZwkwCQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvZGVzayBBbmltYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4OTExOQlbZmlkPTAwMDAwMTI1NC0zMS0wMDAwQ0VMO2V4dD1jZWwscGljO21pbWU9O11BdXRvZGVzayBhbmltYXRvciBpbWFnZSBmaWxlDQomMTAJYnl0ZQk4CQ0KJjExCWJ5dGUJMAkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkeDhicHBdDQoNCiMgTWFnaWMgSUQgZm9yIEFuZHJldyBVc2VyIEludGVyZmFjZSBTeXN0ZW0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjEJc3RyaW5nCWJlZ2luZGF0YXtyYXN0ZXIJW2ZpZD0wMDAwMDEzMTUtMzEtMDAwMENNVTtleHQ9Y211O21pbWU9O11BbmRyZXcgdG9vbGtpdCByYXN0ZXIgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBBbml2Z2EgdG9vbGtpdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMzgJc3RyaW5nCUtSXFx4MDFcXHgwMAlbZmlkPTAwMDEwMDEwNC0zMS0wMDAwQ09EO2V4dD1jb2Q7bWltZT07XUFuaXZnYSBzcHJpdGUgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEN1cnNvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAyXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMENVUjtleHQ9Y3VyO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjdXJzb3IgaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQkwCQ0KPjQJbGVzaG9ydAl4CSwgJWQgY3Vyc29yKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHg4YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEN1cnNvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAyXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMENVUjtleHQ9Y3VyO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjdXJzb3IgaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQkxNgkNCj40CWxlc2hvcnQJeAksICVkIGN1cnNvcihzKQ0KPjYJYnl0ZQl4CVtyZXM9JWR4DQo+NwlieXRlCXgJJWR4NGJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgV2luZG93cyBDdXJzb3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMlxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBDVVI7ZXh0PWN1cjttaW1lPTtdTWljcm9zb2Z0IHdpbmRvd3MgY3Vyc29yIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMgkNCj40CWxlc2hvcnQJeAksICVkIGN1cnNvcihzKQ0KPjYJYnl0ZQl4CVtyZXM9JWR4DQo+NwlieXRlCXgJJWR4MWJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgV2luZG93cyBDdXJzb3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMlxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBDVVI7ZXh0PWN1cjttaW1lPTtdTWljcm9zb2Z0IHdpbmRvd3MgY3Vyc29yIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMzIJDQo+NAlsZXNob3J0CXgJLCAlZCBjdXJzb3IocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDVicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgQ3Vyc29yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDAwXFx4MDJcXHgwMAlbZmlkPTAwMDAwMTAwMS0zMS0wMDAwQ1VSO2V4dD1jdXI7bWltZT07XU1pY3Jvc29mdCB3aW5kb3dzIGN1cnNvciBpbWFnZSBmaWxlDQomMHgwOAlieXRlCTY0CQ0KPjQJbGVzaG9ydAl4CSwgJWQgY3Vyc29yKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHg2YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEN1cnNvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAyXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMENVUjtleHQ9Y3VyO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjdXJzb3IgaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQk4CQ0KPjQJbGVzaG9ydAl4CSwgJWQgY3Vyc29yKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHgzYnBwXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEzIGJ5IENhcmwNCjEyOAlzdHJpbmcJRElDTQlbZmlkPTAwMDAwMDAwNC0zMS0wMDBESUNNO2V4dD1kaWNtLGRjbTttaW1lPTtdRGlnaXRhbCBpbWFnaW5nIGFuZCBjb21tdW5pY2F0aW9uIGluIG1lZGVjaW5lIGltZy4NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlTRFBYCVtmaWQ9MDAwMDAxMzA5LTMxLTAwMDBEUFg7ZXh0PWRweDttaW1lPTtdRGlnaXRhbCBNb3ZpbmctUGljdHVyZSBFeGNoYW5nZSBpbWFnZSBmaWxlDQo+MTYwCXN0cmluZwk+XFx4MDAJW2NyZWF0b3I9JS4xMDBzXQ0KPjI2MAlzdHJpbmcJPlxceDAwCVt0aXRsZT0lLjIwMHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJWFBEUwlbZmlkPTAwMDAwMTMwOS0zMS0wMDAwRFBYO2V4dD1kcHg7bWltZT07XURpZ2l0YWwgTW92aW5nLVBpY3R1cmUgRXhjaGFuZ2UgaW1hZ2UgZmlsZQ0KPjE2MAlzdHJpbmcJPlxceDAwCVtjcmVhdG9yPSUuMTAwc10NCj4yNjAJc3RyaW5nCT5cXHgwMAlbdGl0bGU9JS4yMDBzXQ0KDQojIE1hZ2ljIElEIGZvciBMaWdodHdhdmUgM0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNTEtMzEtMDAwRlBCTTtleHQ9ZnBibTttaW1lPTtdRmxleGlibGUgUHJlY2lzaW9uIEJ1ZmZlciBNYXAgaW1hZ2UgZmlsZQ0KJjgJc3RyaW5nCUZQQk0JDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJR0lGOAlbZmlkPTAwMDAwMTI3NC0zMS0wMDAwR0lGO2V4dD1naWY7bWltZT1pbWFnZS9naWY7XUdJRiBpbWFnZSBmaWxlDQomMTAJYnl0ZSYweDcwCSEweDcwCQ0KPjQJc3RyaW5nCXgJLCB2ZXJzaW9uIDglLjJzDQo+NglsZXNob3J0CT4wCVtyZXM9JWR4DQo+OAlsZXNob3J0CT4wCSVkXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCUdJRjgJW2ZpZD0wMDAwMDEyNzQtMzEtMDAwMEdJRjtleHQ9Z2lmO21pbWU9aW1hZ2UvZ2lmO11HSUYgaW1hZ2UgZmlsZQ0KJjEwCWJ5dGUmMHg3MAkweDcwCQ0KPjQJc3RyaW5nCXgJLCB2ZXJzaW9uIDglLjJzDQo+NglsZXNob3J0CT4wCVtyZXM9JWR4DQo+OAlsZXNob3J0CT4wCSVkeDhicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgSWNvbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAxXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMElDTztleHQ9aWNvO21pbWU9aW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uO11NaWNyb3NvZnQgd2luZG93cyBJY29uIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMAkNCj40CWxlc2hvcnQJeAksICVkIGljb24ocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDhicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgSWNvbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAxXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMElDTztleHQ9aWNvO21pbWU9aW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uO11NaWNyb3NvZnQgd2luZG93cyBJY29uIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMTYJDQo+NAlsZXNob3J0CXgJLCAlZCBpY29uKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHg0YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEljb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMVxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBJQ087ZXh0PWljbzttaW1lPWltYWdlL3ZuZC5taWNyb3NvZnQuaWNvbjtdTWljcm9zb2Z0IHdpbmRvd3MgSWNvbiBpbWFnZSBmaWxlDQomMHgwOAlieXRlCTIJDQo+NAlsZXNob3J0CXgJLCAlZCBpY29uKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHgxYnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEljb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMVxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBJQ087ZXh0PWljbzttaW1lPWltYWdlL3ZuZC5taWNyb3NvZnQuaWNvbjtdTWljcm9zb2Z0IHdpbmRvd3MgSWNvbiBpbWFnZSBmaWxlDQomMHgwOAlieXRlCTMyCQ0KPjQJbGVzaG9ydAl4CSwgJWQgaWNvbihzKQ0KPjYJYnl0ZQl4CVtyZXM9JWR4DQo+NwlieXRlCXgJJWR4NWJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgV2luZG93cyBJY29uIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDAwXFx4MDFcXHgwMAlbZmlkPTAwMDAwMTAwMS0zMS0wMDAwSUNPO2V4dD1pY287bWltZT1pbWFnZS92bmQubWljcm9zb2Z0Lmljb247XU1pY3Jvc29mdCB3aW5kb3dzIEljb24gaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQk2NAkNCj40CWxlc2hvcnQJeAksICVkIGljb24ocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDZicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgSWNvbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAxXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMElDTztleHQ9aWNvO21pbWU9aW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uO11NaWNyb3NvZnQgd2luZG93cyBJY29uIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJOAkNCj40CWxlc2hvcnQJeAksICVkIGljb24ocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDNicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFN1bk9TIEljb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJc3RyaW5nCS8qXFwgRm9ybWF0X3ZlcnNpb249MSxcXCAJW2ZpZD0wMDAwMDEwMTEtMzEtMDAwSUNPTjtleHQ9aWNvbjttaW1lPTtdU3VuT1MgaWNvbiBpbWFnZSBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MDEJW2ZpZD0wMDAwMDEyNzMtMzEtMDAwMElNRztleHQ9aW1nO21pbWU9O11HRU0gQml0IEltYWdlDQomMgliZXNob3J0CTB4MDgJDQo+MTIJYmVzaG9ydAk+MAlbcmVzPSVkeA0KPjE0CWJlc2hvcnQJPjAJJWQNCj40CWJlc2hvcnQJPjAJeCVkYnBwXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJc3RyaW5nCVxceDhiSk5HXFx4MGRcXHgwYVxceDFhXFx4MGEJW2ZpZD0wMDAwMDAwMDAtMzEtMDAwMEpORztleHQ9am5nO21pbWU9O11KUEVHIE5ldHdvcmsgZ3JhcGhpY3MgaW1hZ2UgZmlsZQ0KJjEyCXN0cmluZwlKSERSCQ0KPjE2CWJlbG9uZwl4CVtyZXM9JWQNCj4yMAliZWxvbmcJeAl4JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAwXFx4MGNqUFxceDIwXFx4MjAJW2ZpZD0wMDAwMDAwMDEtMzEtMDAxNTQ0NDtleHQ9anAyO21pbWU9aW1hZ2UvanAyO11KUEVHIDIwMDAgaW1hZ2UgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEzIGJ5IENhcmwNCjAJc3RyaW5nCVxceGZmXFx4NGZcXHhmZlxceDUxCVtmaWQ9MDAwMDAwMDAxLTMxLTAwMTU0NDQ7ZXh0PWpwYzttaW1lPTtdSlBFRyAyMDAwIGNvZGUgc3RyZWFtIGltYWdlIGZpbGUNCiZaMgliZXNob3J0CTB4RkZEOQkNCj44CWJlbG9uZwl4CVtyZXM9JWR4DQo+MTIJYmVsb25nCXgJJWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZWxvbmcJMHhmZmQ4ZmZlMAlbZmlkPTAwMDAwMTMwNS0zMS0wMDBKUEVHO2V4dD1qcGVnLGpwZzttaW1lPWltYWdlL2pwZWc7XUpvaW50IFBob3RvZ3JhcGhpYyBFeHBlcnRzIEdyb3VwIEpGSUYgaW1hZ2UgZmlsZQ0KJjYJc3RyaW5nCUpGSUZcXHgwMAkNCj4xMQlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTIJYnl0ZQl4CS4wJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlcXHhmZlxceGQ4XFx4ZmZcXHhlMQlbZmlkPTAwMDAwMDAwNS0zMS0wMDBKUEVHO2V4dD1qcGcsanBlZzttaW1lPWltYWdlL2pwZWc7XURpZ2l0YWwgc3RpbGwgY2FtZXJhIGltYWdlIGZpbGUNCiY2CXN0cmluZwlFeGlmCQ0KDQojIE1hZ2ljIElEIGZvciBEZWx1eGUgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEwMTAtMzEtMDAwMExCTTtleHQ9bGJtO21pbWU9O11JbnRlcmxlYXZlZCBiaXRtYXAgaW1hZ2UgZmlsZQ0KJjgJc3RyaW5nCUlMQk0JDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQ2FybA0KMAlzdHJpbmcJVGhpc1xcIGlzXFwgYVxcIEJpdE1hcFxcIGZpbGUJW2ZpZD0wMDAwMDAwMDAtMzEtMDAwTElTUDtleHQ9bGlzcDttaW1lPTtdTGlzcCBtYWNoaW5lIGZvcm1hdCBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3JvZGVzaWduMiwgTWljcm9kZXNpZ24zIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwkuTURBCVtmaWQ9MDAwMDAxMzE2LTMxLTAwMDBNREE7ZXh0PW1kYTttaW1lPTtdTWljcm9kZXNpZ24gQXJlYSBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3JvZGVzaWduMiwgTWljcm9kZXNpZ24zIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwkuTURQCVtmaWQ9MDAwMDAxMzE2LTMxLTAwMDBNRFA7ZXh0PW1kcDttaW1lPTtdTWljcm9kZXNpZ24gcGFnZSBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEltYWdlbWFnaWNrIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlpZD1JbWFnZU1hZ2ljawlbZmlkPTAwMDEwMDEwMS0zMS0wMDBNSUZGO2V4dD1taWZmLG1pZjttaW1lPTtdSW1hZ2VtYWdpY2sgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBOZXRwYm0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJc3RyaW5nCU1SRjEJW2ZpZD0wMDAxMDAxMDUtMzEtMDAwME1SRjtleHQ9bXJmO21pbWU9O11Nb25vY2hyb21lIHJlY3Vyc2l2ZSBmb3JtYXQgaW1hZ2UgZmlsZQ0KPjQJYmVsb25nCXgJW3Jlcz0lZHgNCj44CWJlbG9uZwl4CSVkeDFicHBdDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMAlsZXNob3J0CTB4NjE0NAlbZmlkPTAwMDAwMTAwMS0zMS0wMDAwTVNQO2V4dD1tc3A7bWltZT07XU1pY3Jvc29mdCBwYWludCBpbWFnZSBmaWxlLCB2ZXJzaW9uIDEuMA0KJjIJbGVzaG9ydAkweDRkNmUJDQo+NAlsZXNob3J0CXgJW3Jlcz0lZHgNCj42CWxlc2hvcnQJeAklZHgxYnBwXQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJbGVzaG9ydAkweDY5NGMJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwME1TUDtleHQ9bXNwO21pbWU9O11NaWNyb3NvZnQgcGFpbnQgaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjANCiYyCWxlc2hvcnQJMHg1MzZlCQ0KPjQJbGVzaG9ydAl4CVtyZXM9JWR4DQo+NglsZXNob3J0CXgJJWR4MWJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQN1xceDBBCVtmaWQ9MDAwMTAwMTAwLTMxLTAwMDBQQU07ZXh0PXBhbTttaW1lPTtdUG9ydGFibGUgYXJiaXRyYXJ5IG1hcCBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE5ldHBibSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJUDEJW2ZpZD0wMDAxMDAxMDAtMzEtMDAwMFBCTTtleHQ9cGJtO21pbWU9O11Qb3J0YWJsZSBiaXRtYXAgaW1hZ2UgZmlsZSwgYXNjaWkNCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQNAlbZmlkPTAwMDEwMDEwMC0zMS0wMDAwUEJNO2V4dD1wYm07bWltZT07XVBvcnRhYmxlIGJpdG1hcCBpbWFnZSBmaWxlLCBiaW5hcnkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwMAlbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjUNCiYyCWJ5dGUJMQkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwMglbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjgNCiYyCWJ5dGUJMQkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwMwlbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjgNCiYyCWJ5dGUJMQkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwNAlbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggZm9yIHdpbmRvd3MgaW1hZ2UgZmlsZQ0KJjIJYnl0ZQkxCQ0KDQojIE1hZ2ljIElEIGZvciBQQy1QYWludGJydXNoIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCWJlc2hvcnQJMHgwQTA1CVtmaWQ9MDAwMDAxMjU3LTMxLTAwMDBQQ1g7ZXh0PXBjeDttaW1lPTtdUEMtUGFpbnRicnVzaCBpbWFnZSBmaWxlLCB2ZXJzaW9uIDMuMA0KJjIJYnl0ZQkxCQ0KDQojIE1hZ2ljIElEIGZvciBOZXRwYm0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCVAyCVtmaWQ9MDAwMTAwMTAwLTMxLTAwMDBQR007ZXh0PXBnbTttaW1lPTtdUG9ydGFibGUgZ3JheSBtYXAgaW1hZ2UgZmlsZSwgYXNjaWkNCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQNQlbZmlkPTAwMDEwMDEwMC0zMS0wMDAwUEdNO2V4dD1wZ207bWltZT07XVBvcnRhYmxlIGdyYXkgbWFwIGltYWdlIGZpbGUsIGJpbmFyeQ0KDQojIE1hZ2ljIElEIGZvciBQQyBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4MTIzNAlbZmlkPTAwMDAwMTMxOC0zMS0wMDAwUElDO2V4dD1waWM7bWltZT07XVBpY3RvciBQQyBQYWludCBpbWFnZSBmaWxlDQomMTEJYnl0ZQkweEZGCQ0KJjEwCWJ5dGUJMHgwMgkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBQQyBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4MTIzNAlbZmlkPTAwMDAwMTMxOC0zMS0wMDAwUElDO2V4dD1waWM7bWltZT07XVBpY3RvciBQQyBQYWludCBpbWFnZSBmaWxlDQomMTEJYnl0ZQkweEZGCQ0KJjEwCWJ5dGUJMHgwOAkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBQQyBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4MTIzNAlbZmlkPTAwMDAwMTMxOC0zMS0wMDAwUElDO2V4dD1waWM7bWltZT07XVBpY3RvciBQQyBQYWludCBpbWFnZSBmaWxlDQomMTEJYnl0ZQkweEZGCQ0KJjEwCWJ5dGUJMHgzMQkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBTb2Z0aW1hZ2UgM0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTA4IGJ5IENhcmwNCjAJYmVsb25nCTB4NTM4MGY2MzQJW2ZpZD0wMDAwMDEzMjEtMzEtMDAwMFBJQztleHQ9cGljO21pbWU9O11Tb2Z0aW1hZ2UgM0QgaW1hZ2UgZmlsZQ0KJjg4CXN0cmluZwlQSUNUCQ0KPjgJc3RyaW5nCT5cXHgwMAlbdGl0bGU9JS44MHNdDQo+OTIJYmVzaG9ydAl4CVtyZXM9JWQNCj45NAliZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBCaW8tcmFkIG1pY3Jvc2NvcGUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTA4IGJ5IENhcmwNCjU0CWxlc2hvcnQJMTIzNDUJW2ZpZD0wMDAwMDEzMjItMzEtMDAwMFBJQztleHQ9cGljO21pbWU9O11CaW8tcmFkIGNvbmZvY2FsIG1pY3Jvc2NvcGUgaW1hZ2UgZmlsZQ0KJjE2CWxlc2hvcnQJMAkNCj4wCWxlc2hvcnQJPjAJW3Jlcz0lZA0KPjIJbGVzaG9ydAk+MAl4JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ODlQTkdcXHgwZFxceDBhXFx4MWFcXHgwYQlbZmlkPTAwMDAwMDAwMS0zMS0wMDE1OTQ4O2V4dD1wbmc7bWltZT1pbWFnZS9wbmc7XVBvcnRhYmxlIE5ldHdvcmsgR3JhcGhpYyBmaWxlDQomMTIJc3RyaW5nCUlIRFIJDQo+MTYJYmVsb25nCT4wCVtyZXM9JWQNCj4yMAliZWxvbmcJPjAJeCVkDQo+MjQJYnl0ZQl4CXglZGJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQMwlbZmlkPTAwMDEwMDEwMC0zMS0wMDAwUFBNO2V4dD1wcG07bWltZT07XVBvcnRhYmxlIHBpeGVsIG1hcCBpbWFnZSBmaWxlLCBhc2NpaQ0KDQojIE1hZ2ljIElEIGZvciBOZXRwYm0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCVA2CVtmaWQ9MDAwMTAwMTAwLTMxLTAwMDBQUE07ZXh0PXBwbTttaW1lPTtdUG9ydGFibGUgcGl4ZWwgbWFwIGltYWdlIGZpbGUsIGJpbmFyeQ0KDQojIE1hZ2ljIElEIGZvciBQaG90b3Nob3AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCThCUFNcXHgwMFxceDAxCVtmaWQ9MDAwMDAxMDAzLTMxLTAwMDBQU0Q7ZXh0PXBzZDttaW1lPTtdQWRvYmUgUGhvdG9zaG9wIGltYWdlIGZpbGUNCj4xOAliZWxvbmcJPjAJW3Jlcz0lZHgNCj4xNAliZWxvbmcJPjAJJWRdDQoNCiMgTWFnaWMgSUQgZm9yIFBhaW50IHNob3AgcHJvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlQYWludCBTaG9wIFBybyBJbWFnZSBGaWxlXFx4MGFcXHgxYQlbZmlkPTAwMDAwMTMxMC0zMS0wMDAwUFNQO2V4dD1wc3A7bWltZT07XVBhaW50c2hvcCBwcm8gaW1hZ2UgZmlsZQ0KPjUwCWxlbG9uZwk+MAlbcmVzPSVkeA0KPjU0CWxlbG9uZwk+MAklZA0KPjY5CWxlc2hvcnQJPjAJeCVkYnBwXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJYmVsb25nCTB4NTlhNjZhOTUJW2ZpZD0wMDAwMDEwMTEtMzEtMDAwMFJBUztleHQ9cmFzO21pbWU9O11TdW4gcmFzdGVyIGltYWdlDQo+NAliZWxvbmcJPjAJW3Jlcz0lZHgNCj44CWJlbG9uZwk+MAklZA0KPjEyCWJlbG9uZwk+MAl4JWRicHBdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFwweDAxXFx4REEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZQ0KPjI0CXN0cmluZwk+XFx4MDAJW3RpdGxlPSUuODBzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAxXFx4REFcXHgwMFxceDAxCVtmaWQ9MDAwMDAxMDA0LTMxLTAwMDBSR0I7ZXh0PXJnYjttaW1lPTtdU0dJIEltYWdlIGZpbGUNCiYxMAliZXNob3J0CTEJDQo+NgliZXNob3J0CXgJW3Jlcz0lZHgNCj44CWJlc2hvcnQJeAklZHg4YnBwXQ0KPjI0CXN0cmluZwk+XFx4MAlbdGl0bGU9JS44MHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHhEQVxceDAwXFx4MDEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZQ0KJjEwCWJlc2hvcnQJMwkNCj42CWJlc2hvcnQJeAlbcmVzPSVkeA0KPjgJYmVzaG9ydAl4CSVkeDI0YnBwXQ0KPjI0CXN0cmluZwk+XFx4MAlbdGl0bGU9JS44MHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHhEQVxceDAwXFx4MDEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZQ0KJjEwCWJlc2hvcnQJNAkNCj42CWJlc2hvcnQJeAlbcmVzPSVkeA0KPjgJYmVzaG9ydAl4CSVkeDI0YnBwXQ0KPjI0CXN0cmluZwk+XFx4MAlbdGl0bGU9JS44MHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHhEQVxceDAxXFx4MDEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZSwgY29tcHJlc3NlZA0KJjEwCWJlc2hvcnQJMQkNCj42CWJlc2hvcnQJeAlbcmVzPSVkeA0KPjgJYmVzaG9ydAl4CSVkeDhicHBdDQo+MjQJc3RyaW5nCT5cXHgwCVt0aXRsZT0lLjgwc10NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMVxceERBXFx4MDFcXHgwMQlbZmlkPTAwMDAwMTAwNC0zMS0wMDAwUkdCO2V4dD1yZ2I7bWltZT07XVNHSSBJbWFnZSBmaWxlLCBjb21wcmVzc2VkDQomMTAJYmVzaG9ydAkzCQ0KPjYJYmVzaG9ydAl4CVtyZXM9JWR4DQo+OAliZXNob3J0CXgJJWR4MjRicHBdDQo+MjQJc3RyaW5nCT5cXHgwCVt0aXRsZT0lLjgwc10NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMVxceERBXFx4MDFcXHgwMQlbZmlkPTAwMDAwMTAwNC0zMS0wMDAwUkdCO2V4dD1yZ2I7bWltZT07XVNHSSBJbWFnZSBmaWxlLCBjb21wcmVzc2VkDQomMTAJYmVzaG9ydAk0CQ0KPjYJYmVzaG9ydAl4CVtyZXM9JWR4DQo+OAliZXNob3J0CXgJJWR4MjRicHBdDQo+MjQJc3RyaW5nCT5cXHgwCVt0aXRsZT0lLjgwc10NCg0KIyBNYWdpYyBJRCBmb3IgVHVyYm8gU2lsdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMjUyLTMxLTAwMFJHQjg7ZXh0PXJnYjgscmdiO21pbWU9O11UdXJibyBTaWx2ZXIgMjQtYml0IFJHQiBpbWFnZSBmaWxlDQomOAlzdHJpbmcJUkdCOAkNCg0KIyBNYWdpYyBJRCBmb3IgVHVyYm8gU2lsdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMjUyLTMxLTAwMFJHQk47ZXh0PXJnYm4scmdiO21pbWU9O11UdXJibyBTaWx2ZXIgMTItYml0IFJHQiBpbWFnZSBmaWxlDQomOAlzdHJpbmcJUkdCTgkNCg0KIyBNYWdpYyBJRCBmb3IgQ29sb1JJWCBWR0EgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTA4IGJ5IENhcmwNCjAJc3RyaW5nCVJJWDMJW2ZpZD0wMDAwMDEzMjAtMzEtMDAwMFNDWjtleHQ9c2N6O21pbWU9O11Db2xvclJJWCBWR0EgUGFpbnQgaW1hZ2UgZmlsZQ0KPjQJbGVzaG9ydAl4CVtyZXM9JWQNCj42CWxlc2hvcnQJeAl4JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQnJ5YW4gSGVuZGVyc29uDQowCXN0cmluZwlcXDExN1xcMDcyCVtmaWQ9MDAwMDAwMDAwLTMxLTAwMDBTSVI7ZXh0PXNpcjttaW1lPTtdU29saXRhaXJlIGltYWdlIHJlY29yZGVyIGltYWdlIGZpbGUsIE1HSSB0eXBlIDExDQomNAlzdHJpbmcJXFwwMTMJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQnJ5YW4gSGVuZGVyc29uDQowCXN0cmluZwlcXDExN1xcMDcyCVtmaWQ9MDAwMDAwMDAwLTMxLTAwMDBTSVI7ZXh0PXNpcjttaW1lPTtdU29saXRhaXJlIGltYWdlIHJlY29yZGVyIGltYWdlIGZpbGUsIE1HSSB0eXBlIDE3DQomNAlzdHJpbmcJXFwwMjEJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KWjE4CXN0cmluZwlUUlVFVklTSU9OLVhGSUxFCVtmaWQ9MDAwMDAxMzA2LTMxLTAwMDBUR0E7ZXh0PXRnYTttaW1lPTtdVHJ1ZXZpc2lvbiBUYXJnYSBpbWFnZSBmaWxlDQo+MTIJbGVzaG9ydAl4CVtyZXM9JWR4DQo+MTQJbGVzaG9ydAl4CSVkDQo+MTYJYnl0ZQl4CXglZGJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgR3JhcGhpY3MgV29ya3Nob3AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVRITkwJW2ZpZD0wMDAwMDEyNTgtMzEtMDAwMFRITjtleHQ9dGhuO21pbWU9O11HcmFwaGljcyB3b3Jrc2hvcCB0aHVtYm5haWwgaW1hZ2UgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCUlJCVtmaWQ9MDAwMDAxMDAzLTMxLTAwMDBUSUY7ZXh0PXRpZix0aWZmLGRuZzttaW1lPWltYWdlL3RpZmY7XVRhZ2dlZCBpbWFnZSBmaWxlIGZvcm1hdCBpbWFnZSBmaWxlLCBsaXR0bGUtZW5kaWFuDQomMglsZXNob3J0CTQyCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCU1NCVtmaWQ9MDAwMDAxMDAzLTMxLTAwMDBUSUY7ZXh0PXRpZix0aWZmLGRuZzttaW1lPWltYWdlL3RpZmY7XVRhZ2dlZCBpbWFnZSBmaWxlIGZvcm1hdCBpbWFnZSBmaWxlLCBiaWctZW5kaWFuDQomMglsZXNob3J0CQkNCg0KIyBNYWdpYyBJRCBmb3IgVklDQVIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCUxCTFNJWkU9CVtmaWQ9MDAwMDAxMDIyLTMxLTAwMDBWSUM7ZXh0PXZpYyx2aWNhcjttaW1lPTtdVmljYXIgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBLaG9yb3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceEFCXFx4MDFcXHgwMVxceDAzCVtmaWQ9MDAwMDAxMzA4LTMxLTAwMDBWSUY7ZXh0PXZpZix2aWZmO21pbWU9O11LaG9yb3MgVmlzdWFsaXphdGlvbi9JbWFnZSBGaWxlIEZvcm1hdCwgdmVyc2lvbiAxLjMNCiY0CWJ5dGUJMgkNCj41MjAJYmVsb25nCT4wCVtyZXM9JWR4DQo+NTI0CWJlbG9uZwk+MAklZF0NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwlGSUFTQ08JW2ZpZD0wMDAxMDAxMDctMzEtMDAwMFdGQTtleHQ9d2ZhO21pbWU9O11GcmFjdGFsIEltYWdlIEFuZCBTZXF1ZW5jZSBDb2RlYyBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFgtV2luZG93cyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJLyogWFBNICovCVtmaWQ9MDAwMDAxMDIwLTMxLTAwMDBYUE07ZXh0PXhwbTttaW1lPTtdWC1XaW5kb3dzIHBpeGVsIG1hcCBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFhWIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlQN1xcIDMzMglbZmlkPTAwMDEwMDEwMy0zMS0wMDAwMFhWO2V4dD14djttaW1lPTtdWFYgVGh1bWJuYWlsIGltYWdlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgWFdpbmRvd3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJYmVsb25nCTB4NDAJW2ZpZD0wMDAwMDEwMjAtMzEtMDAwMFhXRDtleHQ9eHdkO21pbWU9O11YMTAgWFdpbmRvd3MgZHVtcCBpbWFnZSBmaWxlDQomNAliZWxvbmcJMHgwNgkNCj4yNAliZWxvbmcJeAlbcmVzPSVkDQo+MjgJYmVsb25nCXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBYV2luZG93cyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMAlsZWxvbmcJMHg0MAlbZmlkPTAwMDAwMTAyMC0zMS0wMDAwWFdEO2V4dD14d2Q7bWltZT07XVgxMCBYV2luZG93cyBkdW1wIGltYWdlIGZpbGUNCiY0CWxlbG9uZwkweDA2CQ0KPjI0CWxlbG9uZwl4CVtyZXM9JWQNCj4yOAlsZWxvbmcJeAl4JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFByb3ZlY3RvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTMxOS0zMi0wMDBEUjJEO2V4dD1kcjJkO21pbWU9O11Qcm92ZWN0b3IgMkQgaW1hZ2UgZmlsZQ0KJjgJc3RyaW5nCURSMkQJDQoNCiMgTWFnaWMgSUQgZm9yIFhGaWcsIFdpbkZpZywgakZpZyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJI0ZJRwlbZmlkPTAwMDEwMDAxMS0zMi0wMDAwRklHO2V4dD1maWc7bWltZT07XUZhY2lsaXR5IGZvciBJbnRlcmFjdGl2ZSBHZW5lcmF0aW9uIGZpbGUNCj41CXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLg0KPjcJc3RyaW5nCXgJJS4xcw0KDQojIE1hZ2ljIElEIGZvciBMb3R1cyAxLTItMyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHgwMFxceDAwXFx4MDBcXHgwMVxceDAwXFx4MDhcXHgwMFxceDQ0CVtmaWQ9MDAwMDAxMDA5LTMyLTAwMDBQSUM7ZXh0PXBpYzttaW1lPTtdTG90dXMgMS0yLTMgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvY2FkIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlBdXRvQ0FEIFNsaWRlCVtmaWQ9MDAwMDAxMjU0LTMyLTAwMDBTTEQ7ZXh0PXNsZDttaW1lPTtdQXV0b2NhZCBzbGlkZSBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlcXHhmZldQQwlbZmlkPTAwMDAwMTAwOC0zMi0wMDAwV1BHO2V4dD13cGc7bWltZT07XVdvcmRwZXJmZWN0IEdyYXBoaWNzIHZlY3RvcnMNCiY4CWJ5dGUJMQkNCiY5CWJ5dGUJMHgxNgkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkLg0KPjExCWJ5dGUJeAklZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAxMDAwMTktMzMtMDAwQU1GRjtleHQ9YW1mZjttaW1lPTtdQW1pZ2EgbWV0YWZpbGUNCiY4CXN0cmluZwlBTUZGCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJbGVsb25nCTB4OUFDNkNERDcJW2ZpZD0wMDAwMDEwMDMtMzMtMDAwMEFQTTtleHQ9YXBtO21pbWU9O11BbGR1cyBwbGFjZWFibGUgV2luZG93cyBtZXRhZmlsZQ0KJjQJbGVzaG9ydAkwCQ0KDQojIE1hZ2ljIElEIGZvciBDb3JlbERSQVcgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDgtMzMtMDAwMENEUjtleHQ9Y2RyO21pbWU9O11Db3JlbGRyYXcgIGxpdHRsZS1lbmRpYW4gbWV0YWZpbGUNCiY4CXN0cmluZwlDRFIJDQoNCiMgTWFnaWMgSUQgZm9yIENvcmVsRFJBVyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMTAwOC0zMy0wMDAwQ0RSO2V4dD1jZHI7bWltZT07XUNvcmVsZHJhdyAgYmlnLWVuZGlhbiBtZXRhZmlsZQ0KJjgJc3RyaW5nCUNEUgkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wOCBieSBDYXJsDQowCWJlc2hvcnQmMHhGRjIwCTB4MDAyMAlbZmlkPTAwMDAwMDAwMS0zMy0wMDA4NjMyO2V4dD1jZ207bWltZT1pbWFnZS9jZ207XUNvbXB1dGVyIGdyYXBoaWNzIG1ldGFmaWxlLCBiaW5hcnkgZW5jb2RlZA0KJloweDAyCWJlc2hvcnQmMHhGRjQwCTB4MDA0MAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wOCBieSBDYXJsDQowCXN0cmluZwlCRUdNRglbZmlkPTAwMDAwMDAwMS0zMy0wMDA4NjMyO2V4dD1jZ207bWltZT1pbWFnZS9jZ207XUNvbXB1dGVyIGdyYXBoaWNzIG1ldGFmaWxlLCBhc2NpaSBlbmNvZGVkDQoNCiMgTWFnaWMgSUQgZm9yIENvcmVsRFJBVyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGRglbZmlkPTAwMDAwMTAwOC0zMy0wMDAwQ01YO2V4dD1jbXg7bWltZT07XUNvcmVsIGxpdHRsZS1lbmRpYW4gbWV0YWZpbGUNCiY4CXN0cmluZwlDTVgxCQ0KDQojIE1hZ2ljIElEIGZvciBDb3JlbERSQVcgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVJJRlgJW2ZpZD0wMDAwMDEwMDgtMzMtMDAwMENNWDtleHQ9Y214O21pbWU9O11Db3JlbCBiaWctZW5kaWFuIG1ldGFmaWxlDQomOAlzdHJpbmcJQ01YMQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCWxlbG9uZwkweDAwMDAwMDAxCVtmaWQ9MDAwMDAxMDAxLTMzLTAwMDBFTUY7ZXh0PWVtZjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgRW5oYW5jZWQgbWV0YWZpbGUNCiY0MAlsZWxvbmcJMHg0NjRENDUyMAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwklIVBTLUFkb2JlLTIuMFxcIEVQU0YtMS4yCVtmaWQ9MDAwMDAxMDAzLTMzLTAwMEVQU0Y7ZXh0PWVwc2Y7bWltZT1hcHBsaWNhdGlvbi9wb3N0c2NyaXB0O11BZG9iZSBFbmNhcHN1bGF0ZWQgUG9zdHNjcmlwdCBMZXZlbCAyLCB2ZXJzaW9uIDEuMg0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCSUhUFMtQWRvYmUtMi4wXFwgRVBTRi0yLjAJW2ZpZD0wMDAwMDEwMDMtMzMtMDAwRVBTRjtleHQ9ZXBzZjttaW1lPWFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQ7XUFkb2JlIEVuY2Fwc3VsYXRlZCBQb3N0c2NyaXB0IExldmVsIDIsIHZlcnNpb24gMi4wDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJJSFQUy1BZG9iZS0zLjBcXCBFUFNGLTMuMAlbZmlkPTAwMDAwMTAwMy0zMy0wMDBFUFNGO2V4dD1lcHNmO21pbWU9YXBwbGljYXRpb24vcG9zdHNjcmlwdDtdQWRvYmUgRW5jYXBzdWxhdGVkIFBvc3RzY3JpcHQgTGV2ZWwgMywgdmVyc2lvbiAzLjANCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHhDNVxceEQwXFx4RDNcXHhDNglbZmlkPTAwMDAwMTAwMy0zMy0wMDBFUFNGO2V4dD1lcHNmLGFpO21pbWU9YXBwbGljYXRpb24vcG9zdHNjcmlwdDtdQWRvYmUgRW5jYXBzdWxhdGVkIFBvc3RzY3JpcHQsIHZlcnNpb24gMy4wLCBiaW5hcnkNCg0KIyBNYWdpYyBJRCBmb3IgR0VNIFBhaW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCWJlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIE1vdG9yb2xhIE1ldGFmaWxlLCB2ZXJzaW9uIDEuMDENCiY0CWJlc2hvcnQJMTAxCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIE1ldGFmaWxlDQomNAlsZXNob3J0CTAJDQoNCiMgTWFnaWMgSUQgZm9yIEFydGxpbmUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIEludGVsIE1ldGFmaWxlLCB2ZXJzaW9uIDQuMDANCiY0CWxlc2hvcnQJNDAwCQ0KDQojIE1hZ2ljIElEIGZvciBEZXNrcHJlc3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIEludGVsIE1ldGFmaWxlLCB2ZXJzaW9uIDMuMTANCiY0CWxlc2hvcnQJMzEwCQ0KDQojIE1hZ2ljIElEIGZvciBHRU0gUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIEludGVsIE1ldGFmaWxlLCB2ZXJzaW9uIDEuMDENCiY0CWxlc2hvcnQJMTAxCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2RyYXcgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjB4MjBBCWJlbG9uZwkweDAwMTEwMkZGCVtmaWQ9MDAwMDAxMDAyLTMzLTAwMDBQQ1Q7ZXh0PXBjdDttaW1lPTtdTWFjaW50b3NoIFF1aWNrZHJhdyBtZXRhZmlsZSBcJ1BJQ1RcJywgdmVyc2lvbiAyLjANCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCWxlc2hvcnQJMHgwMDAxCVtmaWQ9MDAwMDAxMDAxLTMzLTAwMDBXTUY7ZXh0PXdtZjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgbWV0YWZpbGUNCiYyCWxlc2hvcnQJOQkNCg0KIyBNYWdpYyBJRCBmb3IgQ2luZW1hIDREIFZlcnNpb24gNS54IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wNiBieSBDYXJsDQowCXN0cmluZwlNQzUwCVtmaWQ9MDAwMDAxMjU1LTQwLTAwMDAwMDA7ZXh0PTttaW1lPTtdTWF4b24gQ2luZW1hIDREIHZlcnNpb24gNSAzRCBkYXRhDQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrZHJhdyAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJM0RNRglbZmlkPTAwMDAwMTAwMi00MC0wMDAzRE1GO2V4dD0zZG1mO21pbWU9O11BcHBsZSBRdWlja2RyYXcgM0QgbWV0YWZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUmhpbm8gM2QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCTNEIEdlb21ldHJ5IEZpbGUgRm9ybWF0CVtmaWQ9MDAwMDAxMzMwLTQwLTAwMDNETUY7ZXh0PTNkbWY7bWltZT07XVJoaW5vM2QgLyBPcGVuTnVyYnMgM2QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tkcmF3IDNEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMSBieSBDYXJsDQowCXN0cmluZwkzRE1ldGFmaWxlCVtmaWQ9MDAwMDAxMDAyLTQwLTAwMDNETUY7ZXh0PTNkbWYsYTNkO21pbWU9O11BcHBsZSBRdWlja2RyYXcgM0QgbWV0YWZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQUMzZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJQUMzRAlbZmlkPTAwMDAwMDAwMC00MC0wMDAwMEFDO2V4dD1hYzttaW1lPTtdQWMzZCAzZCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciAzZFN0dWRpbyBNYXggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCSozRFNNQVhfQVNDSUlFWFBPUlQJW2ZpZD0wMDAwMDEzMjYtNDAtMDAwMEFTRTtleHQ9YXNlO21pbWU9O10zZCBzdHVkaW8gbWF4IGFzY2lpIGV4cG9ydCAzRCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciBDYWxpZ2FyaSBUcnVlc3BhY2UgTW9kZWxlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJQ2FsaWdhcmlcXCBWCVtmaWQ9MDAwMDAxMjU2LTQwLTAwMDBDT0I7ZXh0PWNvYixzY247bWltZT07XUNhbGlnYXJpIFRydWVzcGFjZTIgM0QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgVGFjaHlvbiBwYXJhbGxlbCByYXl0cmFjZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUJFR0lOX1NDRU5FCVtmaWQ9MDAwMTAwMTE2LTQwLTAwMDBEQVQ7ZXh0PWRhdDttaW1lPTtdVGFjaHlvbiByYXktdHJhY2VyIDNkIG1vZGVsDQoNCiMgTWFnaWMgSUQgZm9yIEF1dG9jYWQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUFDMTAJW2ZpZD0wMDAwMDEyNTQtNDAtMDAwMERXRztleHQ9ZHdnO21pbWU9aW1hZ2Uvdm5kLmR3ZztdQXV0b2NhZCBkcmF3aW5nIGZvcm1hdCAzZCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciBBdXRvY2FkIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlBdXRvQ0FEIEJpbmFyeSBEWEYJW2ZpZD0wMDAwMDEyNTQtNDAtMDAwMERYRjtleHQ9ZHhmO21pbWU9aW1hZ2Uvdm5kLmR4ZjtdQXV0b2NhZCBkcmF3aW5nIGludGVyY2hhbmdlIDNkIG1vZGVsLCBiaW5hcnkNCg0KIyBNYWdpYyBJRCBmb3IgTXVsdGlnZW4gY3JlYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAliZXNob3J0CTEJW2ZpZD0wMDAwMDEzMzItNDAtMDAwMEZMVDtleHQ9Zmx0O21pbWU9O11PcGVuZmxpZ2h0IHNjZW5lIGRlc2NyaXB0aW9uIDNkIG1vZGVsDQomNAlzdHJpbmcJZGIJDQoNCiMgTWFnaWMgSUQgZm9yIFZpZGVvc2NhcGUgM0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUdPVVIJW2ZpZD0wMDAwMDEzMjgtNDAtMDAwMEdFTztleHQ9Z2VvO21pbWU9O11WaWRlb3NjYXBlIDNkIG1vZGVsIHdpdGggY29sb3JlZCB2ZXJ0aWNlcw0KDQojIE1hZ2ljIElEIGZvciBWaWRlb3NjYXBlIDNELCBCbGVuZGVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwkzREcxCVtmaWQ9MDAwMDAxMzI4LTQwLTAwMDBHRU87ZXh0PWdlbzttaW1lPTtdVmlkZW9zY2FwZSAzZCBtb2RlbCB3aXRoIGNvbG9yZWQgZmFjZXMNCg0KIyBNYWdpYyBJRCBmb3IgVmlkZW9zY2FwZSAzRCwgQmxlbmRlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJM0RHMglbZmlkPTAwMDAwMTMyOC00MC0wMDAwR0VPO2V4dD1nZW87bWltZT07XVZpZGVvc2NhcGUgM2QgbW9kZWwgbGlnaHQgc291cmNlDQoNCiMgTWFnaWMgSUQgZm9yIFZpZGVvc2NhcGUgM0QsIEJsZW5kZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCTNERzMJW2ZpZD0wMDAwMDEzMjgtNDAtMDAwMEdFTztleHQ9Z2VvO21pbWU9O11WaWRlb3NjYXBlIDNkIG1vZGVsIHdpdGggZ291cmF1ZCBjdXJ2ZXMNCg0KIyBNYWdpYyBJRCBmb3IgU29mdGltYWdlIDREIENyZWF0aXZlIGVudmlyb25tZW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlIUkNIOglbZmlkPTAwMDAwMTMyMS00MC0wMDAwSFJDO2V4dD1ocmM7bWltZT07XVNvZnRpbWFnZSA0ZCBtb2RlbCwgYXNjaWkgZW5jb2RlZA0KDQojIE1hZ2ljIElEIGZvciBPcGVuIEludmVudG9yIFRvb2xraXQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA2IGJ5IENhcmwNCjAJc3RyaW5nCSNJbnZlbnRvcglbZmlkPTAwMDAwMTAwNC00MC0wMDAwMElWO2V4dD1pdjttaW1lPTtdT3BlbiBJbnZlbnRvciAzZCBtb2RlbA0KPjExCXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLg0KPjEzCXN0cmluZwl4CSUuMXMNCj4xNQlzdHJpbmcJYmluYXJ5CSwgYmluYXJ5IGVuY29kZWQNCj4xNQlzdHJpbmcJYXNjaWkJLCBhc2NpaSBlbmNvZGVkDQoNCiMgTWFnaWMgSUQgZm9yIEdlb212aWV3IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlMSVNUCVtmaWQ9MDAwMTAwMTE4LTQwLTAwMExJU1Q7ZXh0PWxpc3Q7bWltZT07XUdlb212aWV3IGxpc3Qgb2YgM0QgbW9kZWxzIGFuZCBvYmplY3RzDQoNCiMgTWFnaWMgSUQgZm9yIExpZ2h0d2F2ZSAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTI1MS00MC0wMDAwTFdPO2V4dD1sd28sbHdvYjttaW1lPTtdTGlnaHR3YXZlIDNEIG9iamVjdA0KJjgJc3RyaW5nCUxXTzIJDQoNCiMgTWFnaWMgSUQgZm9yIExpZ2h0d2F2ZSAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTI1MS00MC0wMDAwTFdPO2V4dD1sd29iLGx3bzttaW1lPTtdTGlnaHR3YXZlIDNEIG9iamVjdA0KJjgJc3RyaW5nCUxXT0IJDQoNCiMgTWFnaWMgSUQgZm9yIExpZ2h0d2F2ZSAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJTFdTQwlbZmlkPTAwMDAwMTI1MS00MC0wMDAwTFdTO2V4dD1sd3NjLGx3czttaW1lPTtdTGlnaHR3YXZlIDNEIHNjZW5lDQoNCiMgTWFnaWMgSUQgZm9yIE1heWEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCS8vTWF5YQlbZmlkPTAwMDAwMTMxMi00MC0wMDAwME1BO2V4dD1tYTttaW1lPTtdTWF5YSAzZCBtb2RlbCwgYXNjaWkgZW5jb2RlZA0KDQojIE1hZ2ljIElEIGZvciBDaW5lbWEgNEQgVmVyc2lvbiA0LnggYW5kIGVhcmxpZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA2IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNTUtNDAtMDAwTUM0RDtleHQ9bWM0ZDttaW1lPTtdTWF4b24gQ2luZW1hIDREIHY0LnggM0QgZGF0YQ0KJjgJc3RyaW5nCU1DNEQJDQoNCiMgTWFnaWMgSUQgZm9yIEdlb212aWV3IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlDTUVTSAlbZmlkPTAwMDEwMDExOC00MC0wMDBNRVNIO2V4dD1tZXNoO21pbWU9O11HZW9tdmlldyBwb2x5Z29uDQoNCiMgTWFnaWMgSUQgZm9yIEdlb212aWV3IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlNRVNICVtmaWQ9MDAwMTAwMTE4LTQwLTAwME1FU0g7ZXh0PW1lc2g7bWltZT07XUdlb212aWV3IHBvbHlnb24NCg0KIyBNYWdpYyBJRCBmb3IgTWlsc2hhcGUgM2QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCU1TM0QwMDAwMDAJW2ZpZD0wMDAxMDAxMTctNDAtMDAwTVMzRDtleHQ9bXMzZDttaW1lPTtdTWlsa3NoYXBlIDNkIG1vZGVsLCBiaW5hcnkgZW5jb2RlZA0KDQojIE1hZ2ljIElEIGZvciBXb3JsZHRvb2xraXQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA2IGJ5IENhcmwNCjAJc3RyaW5nCW5mZglbZmlkPTAwMDAwMTI1My00MC0wMDAwTkZGO2V4dD1uZmY7bWltZT07XVNlbnNlOCBXb3JsZHRvb2xraXQgM0Qgb2JqZWN0DQoNCiMgTWFnaWMgSUQgZm9yIEF1dG9kZXNrIEFuaW1hdG9yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQoyCWxlbG9uZwkweDAwMDAJW2ZpZD0wMDAwMDEyNTQtNDAtMDAwMFBMWTtleHQ9cGx5O21pbWU9O11BdXRvZGVzayBhbmltYXRvciBwb2x5Z29uIGZpbGUNCiY2CWJ5dGUJMAkNCiY3CWJ5dGUJMHg5OQkNCg0KIyBNYWdpYyBJRCBmb3IgQXV0b2Rlc2sgQW5pbWF0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjIJbGVsb25nCTB4MDAwMAlbZmlkPTAwMDAwMTI1NC00MC0wMDAwUExZO2V4dD1wbHk7bWltZT07XUF1dG9kZXNrIGFuaW1hdG9yIHBvbHlnb24gZmlsZQ0KJjYJYnl0ZQkxCQ0KJjcJYnl0ZQkweDk5CQ0KDQojIE1hZ2ljIElEIGZvciBRdWljazNkIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlxdWljazNEbwlbZmlkPTAwMDAwMTMzNC00MC0wMDAwUTNPO2V4dD1xM287bWltZT07XVF1aWNrM2QgM0Qgb2JqZWN0DQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrM2QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCXF1aWNrM0RzCVtmaWQ9MDAwMDAxMzM0LTQwLTAwMDBRM1M7ZXh0PXEzczttaW1lPTtdUXVpY2szZCAzRCBzY2VuZQ0KDQojIE1hZ2ljIElEIGZvciBSZW5kZXJtYW4gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCSMjUmVuZGVyTWFuXFwgUklCLVN0cnVjdHVyZQlbZmlkPTAwMDAwMTMyMy00MC0wMDAwUklCO2V4dD1yaWI7bWltZT07XVJlbmRlcm1hbiBieXRlc3RyZWFtIDNEIG1vZGVsDQoNCiMgTWFnaWMgSUQgZm9yIFNjdWxwdCAzZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMDAwMC00MC0wMFNDRU5FO2V4dD1zY2VuZTttaW1lPTtdU2N1bHB0IDNkIHNjZW5lIG1vZGVsDQomOAlzdHJpbmcJU0MzRAkNCg0KIyBNYWdpYyBJRCBmb3IgSW1hZ2luZSAzRCBTdHVkaW8sIFR1cmJvIFNpbHZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTI1Mi00MC0wMDBUREREO2V4dD10ZGRkLG9iajttaW1lPTtdSW1hZ2luZSAzRCBvYmplY3QNCiY4CXN0cmluZwlURERECQ0KDQojIE1hZ2ljIElEIGZvciBNYWNyb21lZGlhIERpcmVjdG9yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlJRlgJW2ZpZD0wMDAwMDEyNTktNDAtMDAwMFczRDtleHQ9dzNkO21pbWU9O11TaG9ja3dhdmUgM0QgbW9kZWwNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wNiBieSBDYXJsDQowCXN0cmluZwkjVlJNTAlbZmlkPTAwMDAwMDAwMS00MC0wMDE0NzcyO2V4dD13cmw7bWltZT1tb2RlbC92cm1sO11WaXJ0dWFsIFJlYWxpdHkgbW9kZWxpbmcgbGFuZ3VhZ2UNCj43CXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLg0KPjkJc3RyaW5nCXgJJS4xcw0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCTxXT1JMRD4JW2ZpZD0wMDAwMDAwMDAtNDAtMDAwMFhHTDtleHQ9eGdsO21pbWU9O11YR0wgM2QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgRGlyZWN0M0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTExIGJ5IENhcmwNCjAJc3RyaW5nCXhvZlxcIAlbZmlkPTAwMDAwMTAwMS00MC0wMDAwWElFO2V4dD14aWU7bWltZT07XU1pY3Jvc29mdCBkaXJlY3QzZCAzRCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciBTb2Z0aW1hZ2UgWFNJIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwl4c2lcXCAJW2ZpZD0wMDAwMDEzMjEtNDAtMDAwMFhTSTtleHQ9eHNpO21pbWU9O11Tb2Z0aW1hZ2UgM2QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgS2Fib29tIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlcXHhBOE1QXFx4QTgJW2ZpZD0wMDAwMDAwMDAtNTAtMDAwMDAwMDtleHQ9O21pbWU9O11LYm9vbSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQ1RXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCWxlc2hvcnQJMTIJW2ZpZD0wMDAxMDAwNzctNTAtMDAwMDAwMDtleHQ9O21pbWU9O11Db250ZXh0IHRyZWUgd2VpZ2hpbmcgKENUVykgYXJjaGl2ZSBmaWxlDQomMglsZXNob3J0CTAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBDb21wcmVzcyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJU1pERFxceDg4XFx4RjBcXHgyN1xceDMzCVtmaWQ9MDAwMDAxMDAxLTUwLTAwMDAwMDA7ZXh0PTttaW1lPTtdTWljcm9zb2Z0IExaU1MgY29tcHJlc3NlZCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFBWCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJXFx4NDBcXHhGRVxceDAwXFx4MDAJW2ZpZD0wMDAwMDEyODEtNTAtMDAwMEFBWDtleHQ9YWF4O21pbWU9O11BQVggYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFCQ29tcCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDNBQjIJW2ZpZD0wMDAwMDEyODItNTAtMDAwMEFCUDtleHQ9YWJwO21pbWU9O11BQkNvbXAgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFjZSAvIFdpbkFjZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KNwlzdHJpbmcJKipBQ0UqKglbZmlkPTAwMDAwMTI2NS01MC0wMDAwQUNFO2V4dD1hY2U7bWltZT07XUFjZSAvIFdpbkFDRSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQWkgQXJjaGl2ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUFpCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDAwQUk7ZXh0PWFpO21pbWU9O11BaSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQWt0IGFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlBS1RcXHgwQQlbZmlkPTAwMDAwMDAwMC01MC0wMDAwQUtUO2V4dD1ha3Q7bWltZT07XUFLVCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQU1HIEFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlcXHhBRFxceDM2CVtmaWQ9MDAwMDAxMjg0LTUwLTAwMDBBTUc7ZXh0PWFtZzttaW1lPTtdQU1HIGFyY2hpdmUgZmlsZQ0KPjIJYnl0ZQl4CSwgdmVyc2lvbiAlYmguDQo+MglieXRlCXgJJWJsDQomMwlieXRlCTAJDQoNCiMgTWFnaWMgSUQgZm9yIGFyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlcXHgyMTxhcmNoPlxceDBBCVtmaWQ9MDAwMDAwMDAzLTUwLTAwMDAwQVI7ZXh0PWFyO21pbWU9O11VTklYIGFyY2hpdmUgZmlsZSAoYXIpDQoNCiMgTWFnaWMgSUQgZm9yIEFSNyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJLEFSNyBlLW1haWxhYmxlIGFyY2hpdmU6CVtmaWQ9MDAwMTAwMDM2LTUwLTAwMDBBUjc7ZXh0PWFyNzttaW1lPTtdQVI3IGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTcXVhc2ggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjMJc3RyaW5nCU9jdFNxdQlbZmlkPTAwMDEwMDAzOC01MC0wMDAwQVJIO2V4dD1hcmg7bWltZT07XVNxdWFzaCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQXJqIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlcXHg2MFxceEVBCVtmaWQ9MDAwMDAxMjg1LTUwLTAwMDBBUko7ZXh0PWFyajttaW1lPTtdQVJKIGFyY2hpdmUgZmlsZQ0KJjEwCWJ5dGUJMgkNCg0KIyBNYWdpYyBJRCBmb3IgQVNEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlBU0QwMVxceDFBCVtmaWQ9MDAwMDAxMjg3LTUwLTAwMDBBU0Q7ZXh0PWFzZDttaW1lPTtdQVNEIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCb2EgY29uc3RyaWN0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUJPQVxceDAwCVtmaWQ9MDAwMTAwMDQwLTUwLTAwMDBCNTg7ZXh0PWI1ODttaW1lPTtdQk9BIGNvbnN0cmljdG9yIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCV0MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUJXQwlbZmlkPTAwMDEwMDA0Mi01MC0wMDAwMEJDO2V4dD1iYzttaW1lPTtdQldDIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCaXggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUJJWDAJW2ZpZD0wMDAxMDAwMzctNTAtMDAwMEJJWDtleHQ9Yml4O21pbWU9O11CSVggYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJ0b2EgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCXhidG9hNQlbZmlkPTAwMDEwMDA0My01MC0wMDAwQk9PO2V4dD1ib287bWltZT07XUJ0b2EgZW5jb2RlZCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJzYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZCU0dcXHgwMFxceDAwXFx4RkZCU0EJW2ZpZD0wMDAwMDEyODktNTAtMDAwMEJTTjtleHQ9YnNuO21pbWU9O11Cc2EgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJUUEMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTAzIGJ5IENhcmwNCjAJc3RyaW5nCWJ0cGNcXCAJW2ZpZD0wMDAxMDAwNzQtNTAtMDAwQlRQQztleHQ9YnRwYzttaW1lPTtdQlRQQyBjb21wcmVzc2VkIGltYWdlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQlRTIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlcXHgxQVxceDAzRGVzY3JpcHQJW2ZpZD0wMDAxMDAwNDQtNTAtMDAwMEJUUztleHQ9YnRzO21pbWU9O11CVFNwayBhcmNoaXZlIGZpbGUNCiYweDUyMQlzdHJpbmcJQlRTUEshCQ0KDQojIE1hZ2ljIElEIGZvciBCemlwIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlCWjAJW2ZpZD0wMDAxMDAwMDgtNTAtMDAwMDBCWjtleHQ9Yno7bWltZT07XUJ6aXAgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJ6aXAyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlCWmgJW2ZpZD0wMDAxMDAwMDgtNTAtMDAwMEJaMjtleHQ9YnoyO21pbWU9O11CemlwMiBhcmNoaXZlIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlNU0NGCVtmaWQ9MDAwMDAxMDAxLTUwLTAwMDBDQUI7ZXh0PWNhYjttaW1lPTtdTWljcm9zb2Z0IENhYmluZXQgZmlsZQ0KPjI1CWJ5dGUJeAksIHZlcnNpb24gJWQuDQo+MjQJYnl0ZQl4CSVkDQoNCiMgTWFnaWMgSUQgZm9yIENydXNoIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlDUlVTSFxcIHYxLjgJW2ZpZD0wMDAwMDEyOTAtNTAtMDAwMENSVTtleHQ9Y3J1O21pbWU9O11DcnVzaCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQ3R4ZiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJQ1hGXFx4MUEJW2ZpZD0wMDAxMDAwNDUtNTAtMDAwMENYRjtleHQ9Y3hmO21pbWU9O11DdHggYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIERBWFdhdiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMDAwMC01MC0wMDAwREFYO2V4dD1kYXg7bWltZT07XURBWCBhdWRpbyBhcmNoaXZlIGZpbGUNCiY4CXN0cmluZwlkYXhBCQ0KDQojIE1hZ2ljIElEIGZvciBEaXNrbWFzaGVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlETVMhCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDBETVM7ZXh0PWRtczttaW1lPTtdRGlza21hc2hlciBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRHBhZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJRGlya1xcIFBhZWhsKGMpCVtmaWQ9MDAwMTAwMDQ2LTUwLTAwMDBEUEE7ZXh0PWRwYTttaW1lPTtdRHBhZSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRGlzaW50ZWdyYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJRFNUYglbZmlkPTAwMDEwMDA0Ny01MC0wMDAwRFNUO2V4dD1kc3Q7bWltZT07XURpc2ludGVncmF0b3IgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEVuaGFuY2VkIGNvbXByZXNzb3IgKEVOQykgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjAJc3RyaW5nCUVuY2gJW2ZpZD0wMDAxMDAwNTEtNTAtMDAwMEVOQztleHQ9ZW5jO21pbWU9O11FbmhhbmNlZCBjb21wcmVzc29yIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBFU1AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUVTUD4JW2ZpZD0wMDAxMDAwMDItNTAtMDAwMEVTUDtleHQ9ZXNwO21pbWU9O11FU1AgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEVTUCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMHg1M2YJc3RyaW5nCUVTUAlbZmlkPTAwMDEwMDAwMi01MC0wMDAwRVhFO2V4dD1leGU7bWltZT07XUVTUCBTZWxmLWV4dHJhY3RpbmcgYXJjaGl2ZXcgKE1TLURPUykNCg0KIyBNYWdpYyBJRCBmb3IgRnJlZXplIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHgxRlxceDlFCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDAwMEY7ZXh0PWY7bWltZT07XUZyZWV6ZSBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMS4wDQoNCiMgTWFnaWMgSUQgZm9yIEZyZWV6ZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MUZcXHg5RglbZmlkPTAwMDAwMDAwMC01MC0wMDAwMDBGO2V4dD1mO21pbWU9O11GcmVlemUgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDIuMA0KDQojIE1hZ2ljIElEIGZvciBRbGZjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlcXHg0N1xceDY4XFx4NjlcXHg2NFxceDZmCVtmaWQ9MDAwMTAwMDU1LTUwLTAwMDAwR1E7ZXh0PWdxO21pbWU9O11RbGZjIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBHemlwIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlcXHgxRlxceDhCCVtmaWQ9MDAwMDAwMDAyLTUwLTAwMDE5NTI7ZXh0PWd6O21pbWU9O11HemlwIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBIYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTAgYnkgQ2FybA0KMAlzdHJpbmcJSEEJW2ZpZD0wMDAxMDAwMTMtNTAtMDAwMDBIQTtleHQ9aGE7bWltZT07XUhBIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBIQVAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjAJc3RyaW5nCVxceDkxM0hGCVtmaWQ9MDAwMDAxMjkxLTUwLTAwMDBIQVA7ZXh0PWhhcDttaW1lPTtdSEFQIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBIcGFjayBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJSFBBSwlbZmlkPTAwMDEwMDAxNi01MC0wMDAwSFBLO2V4dD1ocGs7bWltZT07XUhwYWNrIGFyY2hpdmUgZmlsZQ0KJlo0CXN0cmluZwlIUEFLCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTEwIGJ5IENhcmwNCjExCXN0cmluZwltdXN0XFwgYmVcXCBjb252ZXJ0ZWRcXCB3aXRoXFwgQmluSGV4CVtmaWQ9MDAwMDAxMDAyLTUwLTAwMDBIUVg7ZXh0PWhxeDttaW1lPTtdQmluSGV4IGFyY2hpdmUNCg0KIyBNYWdpYyBJRCBmb3IgSFlQIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlcXHgxQUhQXFx4MjUJW2ZpZD0wMDAxMDAwNTYtNTAtMDAwMEhZUDtleHQ9aHlwO21pbWU9O11IWVAgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEhZUCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MUFTVFxceDI1CVtmaWQ9MDAwMTAwMDU2LTUwLTAwMDBIWVA7ZXh0PWh5cDttaW1lPTtdSFlQIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBXaW5pbXAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJbGVsb25nCTB4QTUwNEQ0OQlbZmlkPTAwMDAwMTI3MC01MC0wMDAwSU1QO2V4dD1pbXA7bWltZT07XVdpbmltcCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgSlJjaGl2ZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJSlJjaGl2ZQlbZmlkPTAwMDAwMTI2My01MC0wMDAwSlJDO2V4dD1qcmM7bWltZT07XUpSY2hpdmUgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFyY2hpdmUgSGFuZGxlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJTEcJW2ZpZD0wMDAxMDAwMDEtNTAtMDAwMDBMRztleHQ9bGc7bWltZT07XUFyaGFuZ2VsIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBMaW1pdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJTE1cXHgxQQlbZmlkPTAwMDEwMDAwMy01MC0wMDAwTElNO2V4dD1saW07bWltZT07XUxpbWl0IGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBMYXJjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbHo0LQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semg7bWltZT07XUxhcmMgYXJjaGl2ZQ0KDQojIE1hZ2ljIElEIGZvciBMYXJjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbHo1LQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semg7bWltZT07XUxhcmMgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIExhcmMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1senMtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aDttaW1lPTtdTGFyYyBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGhcXCAtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGgwLQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semgsbGhhO21pbWU9O11MSGFyYyBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMS54DQoNCiMgTWFnaWMgSUQgZm9yIGxoYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMglzdHJpbmcJLWxoMS0JW2ZpZD0wMDAxMDAwMTctNTAtMDAwMExaSDtleHQ9bHpoLGxoYTttaW1lPTtdTEhhcmMgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDEueA0KDQojIE1hZ2ljIElEIGZvciBsaGEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1saDItCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGgzLQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semgsbGhhO21pbWU9O11MSGFyYyBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMi54DQoNCiMgTWFnaWMgSUQgZm9yIGxoYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMglzdHJpbmcJLWxoNC0JW2ZpZD0wMDAxMDAwMTctNTAtMDAwMExaSDtleHQ9bHpoLGxoYTttaW1lPTtdTEhhcmMgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDIueA0KDQojIE1hZ2ljIElEIGZvciBsaGEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1saDUtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGg2LQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semgsbGhhO21pbWU9O11MSGFyYyBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMi54DQoNCiMgTWFnaWMgSUQgZm9yIGxoYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMglzdHJpbmcJLWxoNy0JW2ZpZD0wMDAxMDAwMTctNTAtMDAwMExaSDtleHQ9bHpoLGxoYTttaW1lPTtdTEhhcmMgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDIueA0KDQojIE1hZ2ljIElEIGZvciBsaGEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1saGQtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbHpvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHg4OVxceDRjXFx4NWFcXHg0ZlxceDAwXFx4MGRcXHgwYVxceDFhXFx4MGEJW2ZpZD0wMDAxMDAwMTgtNTAtMDAwMExaTztleHQ9bHpvO21pbWU9O11MWk9QIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBMenggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjAJc3RyaW5nCUxaWAlbZmlkPTAwMDEwMDA1OC01MC0wMDAwTFpYO2V4dD1seng7bWltZT07XUxaWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTWRjZCAoTWlrZSBEYXZlbnBvcnQgY29tcHJlc3NvcikgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCU1EbWQJW2ZpZD0wMDAxMDAwMDQtNTAtMDAwMDBNRDtleHQ9bWQ7bWltZT07XU1pa2UgRGF2ZW5wb3J0IGFyY2hpdmUgZmlsZQ0KPjQJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KJjUJYnl0ZQkxCQ0KDQojIE1hZ2ljIElEIGZvciBOYXNocmluayBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJTlNLCVtmaWQ9MDAwMDAxMjkyLTUwLTAwMDBOU0s7ZXh0PW5zazttaW1lPTtdTmFTaHJpbmsgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNlbW9uZSBhcmNoaXZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJU0VNaAlbZmlkPTAwMDEwMDA2OC01MC0wMDAwT05FO2V4dD1vbmU7bWltZT07XVNlbW9uZSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTHBhYyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJTFBBQwlbZmlkPTAwMDEwMDA4NC01MC0wMDAwUEFDO2V4dD1wYWM7bWltZT07XUxQQUMgYXVkaW8gYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIENyb3NzZVBBQyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJRFNJR0RDQwlbZmlkPTAwMDAwMTI2Mi01MC0wMDAwUEFDO2V4dD1wYWM7bWltZT07XUNyb3NzZVBBQyBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgSGlnaCBDb21wcmVzc2lvbiBNYXJrb3YgUHJlZGljdGl2ZSBDb2RlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJUFBaMglbZmlkPTAwMDEwMDA2MS01MC0wMDAwUE1aO2V4dD1wbXo7bWltZT07XVBQTVoyIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQb3dlcnBhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJUFAyMAlbZmlkPTAwMDEwMDA2Mi01MC0wMDAwMFBQO2V4dD1wcDttaW1lPTtdUG93ZXJwYWNrZXIgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFBBUTEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTI3IGJ5IENhcmwNCjAJc3RyaW5nCVBBUTFcXHgwRFxceDBBCVtmaWQ9MDAwMTAwMDY0LTUwLTAwMDBQUTE7ZXh0PXBxMTttaW1lPTtdUEFRMSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUEFRMyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJUEFRM1xceDBEXFx4MEEJW2ZpZD0wMDAxMDAwNjQtNTAtMDAwMFBRMztleHQ9cHEzO21pbWU9O11QQVEzIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQQVE2IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlQQVE2CVtmaWQ9MDAwMTAwMDY0LTUwLTAwMDBQUTY7ZXh0PXBxNjttaW1lPTtdUEFRNiBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUHJldHR5IHNpbXBsZSBhcmNoaXZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJUFNBXFx4MDFcXHgwMwlbZmlkPTAwMDEwMDA2NS01MC0wMDAwUFNBO2V4dD1wc2E7bWltZT07XVByZXR0eSBzaW1wbGUgYXJjaGl2ZXIgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFF1YW50dW0gY29tcHJlc3NvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJRFMJW2ZpZD0wMDAwMDEyOTQtNTAtMDAwMDAwUTtleHQ9cTttaW1lPTtdUXVhbnR1bSBhcmNoaXZlIGZpbGUNCiYyCWJ5dGUJPDIJDQo+MglieXRlCXgJLCB2ZXJzaW9uICVkDQo+MwlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFJhciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJXFx4NTJcXHg2MVxceDcyXFx4MjFcXHgxYVxceDA3XFx4MDAJW2ZpZD0wMDAwMDEyNjctNTAtMDAwMFJBUjtleHQ9cmFyO21pbWU9O11SQVIgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFJvbWFuaWFuIGFyY2hpdmVyIGVYcGVydCAoUkFYKSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJVUxFQglbZmlkPTAwMDAwMTI5NS01MC0wMDAwUkFYO2V4dD1yYXg7bWltZT07XVJBWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUmVkdXEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTI3IGJ5IENhcmwNCjAJc3RyaW5nCXJkcXgJW2ZpZD0wMDAxMDAwNjYtNTAtMDAwMFJEUTtleHQ9cmRxO21pbWU9O11SZWR1cSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUlBNIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlcXHhlZFxceGFiXFx4ZWVcXHhkYglbZmlkPTAwMDAwMDAwMC01MC0wMDAwUlBNO2V4dD1ycG07bWltZT07XVJQTSBhcmNoaXZlDQo+NAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+NQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIHJ6aXAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCVJaSVAJW2ZpZD0wMDAxMDAwNzYtNTAtMDAwMDBSWjtleHQ9cno7bWltZT07XVJ6aXAgYXJjaGl2ZSBmaWxlDQo+NAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+NQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFN0cmVhbWxpbmUgQXJjaGl2YWwgVXRpbGl0eSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMwlzdHJpbmcJTEgwCVtmaWQ9MDAwMDAxMjY0LTUwLTAwMDBTQVI7ZXh0PXNhcjttaW1lPTtdU3RyZWFtaW5nIEFyY2hpdmVyIFV0aWxpdHkgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFN0cmVhbWxpbmUgQXJjaGl2YWwgVXRpbGl0eSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMwlzdHJpbmcJTEg0CVtmaWQ9MDAwMDAxMjY0LTUwLTAwMDBTQVI7ZXh0PXNhcjttaW1lPTtdU3RyZWFtaW5nIEFyY2hpdmVyIFV0aWxpdHkgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFN0cmVhbWxpbmUgQXJjaGl2YWwgVXRpbGl0eSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMwlzdHJpbmcJTEg1CVtmaWQ9MDAwMDAxMjY0LTUwLTAwMDBTQVI7ZXh0PXNhcjttaW1lPTtdU3RyZWFtaW5nIEFyY2hpdmVyIFV0aWxpdHkgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNCWCBBcmNoaXZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJU0IxXFx4MDAJW2ZpZD0wMDAwMDEyOTctNTAtMDAwMDBTQjtleHQ9c2I7bWltZT07XVNCWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU0JDIEFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTQkNcXHgxRQlbZmlkPTAwMDEwMDA2Ny01MC0wMDAwU0JDO2V4dD1zYmM7bWltZT07XVNCQyBhcmNoaXZlIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQoxMAlzdHJpbmcJI1xcIFRoaXNcXCBpc1xcIGFcXCBzaGVsbFxcIGFyY2hpdmUJW2ZpZD0wMDAwMDAwMDAtNTAtMDAwU0hBUjtleHQ9c2hhcjttaW1lPTtdVU5JWCBzaGVsbCBhcmNoaXZlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTAgYnkgQ2FybA0KMTEJc3RyaW5nCSNcXCBUaGlzXFwgaXNcXCBhXFwgc2hlbGxcXCBhcmNoaXZlCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMFNIQVI7ZXh0PXNoYXI7bWltZT07XVVOSVggc2hlbGwgYXJjaGl2ZQ0KDQojIE1hZ2ljIElEIGZvciBOdWxpYiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJXFx4NGVcXHhmNVxceDQ2XFx4ZDgJW2ZpZD0wMDAxMDAwMDUtNTAtMDAwMFNISztleHQ9c2hrO21pbWU9O11TaHJpbmtpdC9OdWxpYiBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTnVsaWIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVxceDRlXFx4ZjVcXHg0NlxceGU5XFx4NmNcXHhlNQlbZmlkPTAwMDEwMDAwNS01MC0wMDAwU0hLO2V4dD1zaGs7bWltZT07XVNocmlua2l0L051bGliIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTdHVmZml0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlTdHVmZkl0XFwgCVtmaWQ9MDAwMDAxMjcyLTUwLTAwMDBTSVQ7ZXh0PXNpdDttaW1lPTtdU3R1ZmZpdCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU3R1ZmZpdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJU0lUIQlbZmlkPTAwMDAwMTI3Mi01MC0wMDAwU0lUO2V4dD1zaXQ7bWltZT07XVN0dWZmaXQgYXJjaGl2ZSBmaWxlDQomMTAJc3RyaW5nCXJMYXUJDQo+MTQJYnl0ZQl4CSwgdmVyc2lvbiAlZC4wDQoNCiMgTWFnaWMgSUQgZm9yIFN0dWZmaXQgRXh0ZW5kZWQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCVN0dWZmSXQhCVtmaWQ9MDAwMDAxMjcyLTUwLTAwMFNJVFg7ZXh0PXNpdHg7bWltZT07XVN0dWZmaXQgZXh0ZW5kZWQgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNvZiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJUEtcXHgwM1xceDA2CVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDBTT0Y7ZXh0PXNvZjttaW1lPTtdU09GIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTcGxpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVxceDkzXFx4QjlcXHgwNglbZmlkPTAwMDEwMDAwNi01MC0wMDAwU1BMO2V4dD1zcGw7bWltZT07XVNwbGludCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU3F3ZWV6IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQowCXN0cmluZwlTUVdFWlxcIAlbZmlkPTAwMDEwMDAxNC01MC0wMDAwU1FaO2V4dD1zcXo7bWltZT07XVNxd2V6IGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTcXogZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTEwIGJ5IENhcmwNCjAJc3RyaW5nCUhMU1FaCVtmaWQ9MDAwMTAwMDE1LTUwLTAwMDBTUVo7ZXh0PXNxejttaW1lPTtdU3F1ZWV6ZSBhcmNoaXZlIGZpbGUNCj41CXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLjANCg0KIyBNYWdpYyBJRCBmb3IgU3RvbmVjcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTNDAxCVtmaWQ9MDAwMTAwMDYzLTUwLTAwMDBTVEM7ZXh0PXN0YzttaW1lPTtdU3RvbmVjcmFja2VyIGFyY2hpdmUgZmlsZQ0KPjAJc3RyaW5nCVM0MDEJLCB2ZXJzaW9uIDQuMDENCg0KIyBNYWdpYyBJRCBmb3IgU3RvbmVjcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTNDAzCVtmaWQ9MDAwMTAwMDYzLTUwLTAwMDBTVEM7ZXh0PXN0YzttaW1lPTtdU3RvbmVjcmFja2VyIGFyY2hpdmUgZmlsZQ0KPjAJc3RyaW5nCVM0MDMJLCB2ZXJzaW9uIDQuMDMNCg0KIyBNYWdpYyBJRCBmb3IgU3RvbmVjcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTNDA0CVtmaWQ9MDAwMTAwMDYzLTUwLTAwMDBTVEM7ZXh0PXN0YzttaW1lPTtdU3RvbmVjcmFja2VyIGFyY2hpdmUgZmlsZQ0KPjAJc3RyaW5nCVM0MDQJLCB2ZXJzaW9uIDQuMDQNCg0KIyBNYWdpYyBJRCBmb3IgU3ppcCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJU1pcXHgwQVxceDA0CVtmaWQ9MDAwMTAwMDA5LTUwLTAwMDAwU1o7ZXh0PXN6O21pbWU9O11TWklQIGFyY2hpdmUgZmlsZQ0KPjQJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjUJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBUYXIscGF4IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQoyNTcJc3RyaW5nCXVzdGFyXFwwNDBcXDA0MFxcMAlbZmlkPTAwMDAwMDAwMC01MC0wMDAwVEFSO2V4dD10YXI7bWltZT07XUdOVSB0YXIgYXJjaGl2ZQ0KDQojIE1hZ2ljIElEIGZvciBUYXIscGF4IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQoyNTcJc3RyaW5nCXVzdGFyXFwwXFx4MDYJW2ZpZD0wMDAwMDAwMDMtNTAtMDAwMTAwMztleHQ9dGFyO21pbWU9O11PcGVuZ3JvdXAvUE9TSVggdGFyIGFyY2hpdmUNCg0KIyBNYWdpYyBJRCBmb3IgdWMyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQowCXN0cmluZwlVQzJcXHgxYQlbZmlkPTAwMDAwMTI3MS01MC0wMDAwVUMyO2V4dD11YzI7bWltZT07XVVsdHJhIENvbXByZXNzb3IgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFVoYXJjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlVSEEJW2ZpZD0wMDAxMDAwODMtNTAtMDAwMFVIQTtleHQ9dWhhO21pbWU9O11VSEFyYyBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgWUJTIGFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlZQlMzCVtmaWQ9MDAwMTAwMDcxLTUwLTAwMDBZQlM7ZXh0PXliczttaW1lPTtdWUJTIGFyY2hpdmUgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxcMDM3XFwyMzUJW2ZpZD0wMDAwMDAwMDAtNTAtMDAwMDAwWjtleHQ9ejttaW1lPTtdVU5JWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUGt1bnppcCwgSW5mby16aXAgVW56aXAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJbGVsb25nCTB4MDQwMzRiNTAJW2ZpZD0wMDAwMDEyNjYtNTAtMDAwMFpJUDtleHQ9emlwO21pbWU9YXBwbGljYXRpb24vemlwO11Qa3ppcCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3Igem9vIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQowCXN0cmluZwlaT08JW2ZpZD0wMDAxMDAwMTItNTAtMDAwMFpPTztleHQ9em9vO21pbWU9O11ab28gYXJjaGl2ZSBmaWxlDQomMHgxNAlsZWxvbmcJMHgwRkRDNEE3REMJDQo+MzIJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjMzCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgWnppcCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJWloJW2ZpZD0wMDAxMDAwMDctNTAtMDAwMDBaWjtleHQ9eno7bWltZT07XVpaaXAgYXJjaGl2ZSBmaWxlDQo+MglieXRlCXgJLCB2ZXJzaW9uICVkLjANCg0KIyBNYWdpYyBJRCBmb3IgNjI0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wMyBieSBDYXJsDQowCXN0cmluZwlbRVNQXVxceEI1XFx4NzgJW2ZpZD0wMDAxMDAwMDItNTEtMDAwMENPTTtleHQ9Y29tO21pbWU9O102MjQgZXhlY3V0YWJsZSBjb21wcmVzc2VkIGZpbGUgKE1TLURPUykNCg0KIyBNYWdpYyBJRCBmb3IgNjI0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wMyBieSBDYXJsDQowCXN0cmluZwlQVUxQXFx4ODMJW2ZpZD0wMDAxMDAwMDItNTEtMDAwMENPTTtleHQ9Y29tO21pbWU9O102MjQgZXhlY3V0YWJsZSBjb21wcmVzc2VkIGZpbGUgKE1TLURPUykNCg0KIyBNYWdpYyBJRCBmb3IgTHpleGUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjB4MUMJc3RyaW5nCUxaOTEJW2ZpZD0wMDAxMDAwNTMtNTEtMDAwMEVYRTtleHQ9ZXhlO21pbWU9O11MemV4ZSBjb21wcmVzc2VkIGV4ZWN1dGFibGUgZmlsZSAoTVMtRE9TKQ0KDQojIE1hZ2ljIElEIGZvciBIVE1MIEhlbHAgV29ya3Nob3AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUlUU0YJW2ZpZD0wMDAwMDEwMDEtNjAtMDAwMENITTtleHQ9Y2htO21pbWU9O11NaWNyb3NvZnQgY29tcGlsZWQgaHlwZXJ0ZXh0IGRvY3VtZW50DQoNCiMgTWFnaWMgSUQgZm9yIEJvcmxhbmQgRGVscGhpIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0zMCBieSBDYXJsDQoyCXN0cmluZwlERUxQSEkuRElBR1JBTS5QT1JURk9MSU8JW2ZpZD0wMDAwMDEwMDUtNjAtMDAwMEREUDtleHQ9ZGRwO21pbWU9O11EZWxwaGkgRGlhZ3JhbSBQb3J0Zm9saW8gZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQYWdlc3RyZWFtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMjY4LTYwLTAwMDBET0M7ZXh0PWRvYzttaW1lPTtdUGFnZXN0cmVhbSBkb2N1bWVudA0KJjgJc3RyaW5nCURPQ1xcIAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlDQVRcXCAJW2ZpZD0wMDAwMDEwMTAtNjAtMDAwRlRYVDtleHQ9ZnR4dDttaW1lPTtdRm9ybWF0dGVkIHRleHQgaW50ZXJjaGFuZ2UgZmlsZQ0KJjgJc3RyaW5nCUZUWFQJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTAxMC02MC0wMDBGVFhUO2V4dD1mdHh0O21pbWU9O11Gb3JtYXR0ZWQgdGV4dCBpbnRlcmNoYW5nZSBmaWxlDQomOAlzdHJpbmcJRlRYVAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlMSVNUCVtmaWQ9MDAwMDAxMDEwLTYwLTAwMEZUWFQ7ZXh0PWZ0eHQ7bWltZT07XUZvcm1hdHRlZCB0ZXh0IGludGVyY2hhbmdlIGZpbGUNCiY4CXN0cmluZwlGVFhUCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUBkYXRhYmFzZQlbZmlkPTAwMDAwMTAwNy02MC0wMEdVSURFO2V4dD1ndWlkZTttaW1lPTtdQW1pZ2FHdWlkZSBoeXBlcnRleHQgZG9jdW1lbnQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCWxlbG9uZwkweDAwMDM1RjNGCVtmaWQ9MDAwMDAxMDAxLTYwLTAwMDBITFA7ZXh0PWhscDttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgSGVscCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMTAtMDggYnkgQ2FybA0KMAlzdHJpbmcJPCFET0NUWVBFXFwgCVtmaWQ9MDAwMDAwMDAxLTYwLTAwMTU0NDU7ZXh0PWh0bWwsaHRtO21pbWU9dGV4dC9odG1sO11IeXBlclRleHQgTWFya3VwIExhbmd1YWdlIGRvY3VtZW50IChIVE1MKQ0KJjEwCXN0cmluZy9jCWh0bWwJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJSERPQwlbZmlkPTAwMDAwMTAwNi02MC0wMDAwSFlQO2V4dD1oeXA7bWltZT07XUF0YXJpIFNULUd1aWRlIGh5cGVydGV4dCBkb2N1bWVudA0KDQojIE1hZ2ljIElEIGZvciBPUy8yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlIU1AJW2ZpZD0wMDAwMDEwMDktNjAtMDAwMElORjtleHQ9aW5mO21pbWU9O11PUy8yIEd1aWRlIGh5cGVydGV4dCBkb2N1bWVudA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVRoaXNcXCBpc1xcIEluZm9cXCBmaWxlCVtmaWQ9MDAwMTAwMDEwLTYwLTAwMElORk87ZXh0PWluZm87bWltZT07XUdOVSBJbmZvIGh5cGVydGV4dCBkb2N1bWVudA0KDQojIE1hZ2ljIElEIGZvciBBZG9iZSBBY3JvYmF0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMC0wOCBieSBDYXJsDQowCXN0cmluZwklUERGLQlbZmlkPTAwMDAwMDAwMS02MC0wMDE1OTMwO2V4dD1wZGY7bWltZT1hcHBsaWNhdGlvbi9wZGY7XVBvcnRhYmxlIGRvY3VtZW50IGZvcm1hdCBkb2N1bWVudCBmaWxlIChQREYpDQo+NQlzdHJpbmcJeAksIHZlcnNpb24gJS4xcw0KPjcJc3RyaW5nCXgJLiUuMXMNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdvcmRwYWQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCXtcXFxccnRmCVtmaWQ9MDAwMDAxMDAxLTYwLTAwMDBSVEY7ZXh0PXJ0ZjttaW1lPXRleHQvcnRmO11SaWNoIFRleHQgRm9ybWF0IGRvY3VtZW50DQo+NQlzdHJpbmcJeAksIHZlcnNpb24gJS4xcy54DQoNCiMgTWFnaWMgSUQgZm9yIERvY0Jvb2sgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTEwLTA4IGJ5IENhcmwNCjAJc3RyaW5nCTwhRE9DVFlQRVxcIAlbZmlkPTAwMDAwMDAwMS02MC0wMDA4ODc5O2V4dD1zZ21sLHNnbTttaW1lPXRleHQvc2dtbDtdU3RhbmRhcmQgZ2VuZXJhbCBtYXJrdXAgbGFuZ3VhZ2UgZG9jdW1lbnQgKFNHTUwpDQoNCiMgTWFnaWMgSUQgZm9yIFR1cmJvIEMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVRVUkJPXFwgQ1xcIEhFTFBcXCBGSUxFXFx4MDAJW2ZpZD0wMDAwMDEwMDUtNjAtMDAwMFRDSDtleHQ9dGNoO21pbWU9O11UdXJibyBDIGhlbHAgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBUdXJibyBQYXNjYWwgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVRVUkJPXFwgUEFTQ0FMXFwgSEVMUFxcIEZJTEVcXHgwMAlbZmlkPTAwMDAwMTAwNS02MC0wMDAwVFBIO2V4dD10cGg7bWltZT07XUJvcmxhbmQgUGFzY2FsIGhlbHAgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBUdXJibyBWaXNpb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJbGVsb25nCTB4NDY0ODQyNDYJW2ZpZD0wMDAwMDEwMDUtNjAtMDAwMFRWSDtleHQ9dHZoO21pbWU9O11Cb3JsYW5kIFR1cmJvIFZpc2lvbiBoZWxwIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTYwLTAwMDBXUEQ7ZXh0PXdwZCxkb2M7bWltZT1hcHBsaWNhdGlvbi92bmQud29yZHBlcmZlY3Q7XVdvcmRwZXJmZWN0IGRvY3VtZW50DQomOQlieXRlCTB4MEEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdyaXRlIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCWxlc2hvcnQJMDEzNzA2MQlbZmlkPTAwMDAwMTAwMS02MC0wMDAwV1JJO2V4dD13cmk7bWltZT07XU1pY3Jvc29mdCBXcml0ZSBkb2N1bWVudA0KJjIJbGVzaG9ydAkweDAwMDAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBXcml0ZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlsZXNob3J0CTAxMzcwNjIJW2ZpZD0wMDAwMDEwMDEtNjAtMDAwMFdSSTtleHQ9d3JpO21pbWU9O11NaWNyb3NvZnQgV3JpdGUgZG9jdW1lbnQNCiYyCWxlc2hvcnQJMHgwMDAwCQ0KDQojIE1hZ2ljIElEIGZvciBYLVdpbmRvd3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVNUQVJURk9OVFxcIAlbZmlkPTAwMDAwMTAwMy03MC0wMDAwQkRGO2V4dD1iZGY7bWltZT07XUFkb2JlIGdseXBoIGJpdG1hcCBkaXN0cmlidXRpb24gZm9ybWF0IGZvbnQgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBEZWx1eGUgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJc3RyaW5nCUNGXFx4MDFcXHgwMAlbZmlkPTAwMDAwMTAxMC03MC0wMDAwMDBDO2V4dD1jO21pbWU9O11EZWx1eGUgcGFpbnQgbXVsdGktY29sb3VyIGZvbnQgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBGaWdsZXQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJc3RyaW5nCWZsZjIJW2ZpZD0wMDAxMDAxMjItNzAtMDAwMEZMRjtleHQ9ZmxmO21pbWU9O11GaWdsZXQgZm9udCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFBDTCA1IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOS0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDQ0XFx4MDBcXHgwMVxceDAwXFx4MDBcXHgwMFxceDFBCVtmaWQ9MDAwMDAxMzM2LTcwLTAwMDBMSUI7ZXh0PWxpYix0eXBlO21pbWU9O11JbnRlbGxpZm9udCBTY2FsYWJsZSBUeXBlZmFjZSBGb3JtYXQgIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRGVsdXhlIFBhaW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOS0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgxQlxceDI5XFx4NzNcXHgzNlxceDM0XFx4NTdcXHgwMFxceDQwCVtmaWQ9MDAwMDAxMDEwLTcwLTAwMDAwME07ZXh0PW07bWltZT07XURlbHV4ZSBwYWludCBtb25vIGNvbG91ciBmb250IGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCWJlbG9uZwkweDAwMDEwMDAwCVtmaWQ9MDAwMDAxMDAxLTcwLTAwMDBUVEY7ZXh0PW90Zix0dGY7bWltZT07XU9wZW50eXBlIGZvbnQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJc3RyaW5nCU9UVE8JW2ZpZD0wMDAwMDEwMDEtNzAtMDAwMFRURjtleHQ9b3RmLHR0ZjttaW1lPTtdT3BlbnR5cGUgZm9udCBmaWxlLCBDRkYgdHlwZQ0KDQojIE1hZ2ljIElEIGZvciBYLVdpbmRvd3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJYmVsb25nCTB4MDE2NjYzNzAJW2ZpZD0wMDAwMDAwMDAtNzAtMDAwMFBDRjtleHQ9cGNmO21pbWU9O11Qb3J0YWJsZSBjb21waWxlZCBmb3JtYXQgKFBDRikgZm9udCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJJSFGb250VHlwZTEJW2ZpZD0wMDAwMDAwMDEtNzAtMDAwOTU0MTtleHQ9cGZhO21pbWU9O11UeXBlIDEgZm9udCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJJSFQUy1BZG9iZUZvbnQtMS4wCVtmaWQ9MDAwMDAwMDAxLTcwLTAwMDk1NDE7ZXh0PXBmYTttaW1lPTtdVHlwZSAxIGZvbnQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjYJc3RyaW5nCSUhRm9udFR5cGUxCVtmaWQ9MDAwMDAxMDAzLTcwLTAwMDBQRkI7ZXh0PXBmYjttaW1lPTtdVHlwZSAxIHByaW50ZXIgZm9udCBiaW5hcnkgZmlsZQ0KJjAJYnl0ZQkweDgwCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjYJc3RyaW5nCSUhUFMtQWRvYmVGb250LTEuMAlbZmlkPTAwMDAwMTAwMy03MC0wMDAwUEZCO2V4dD1wZmI7bWltZT07XVR5cGUgMSBwcmludGVyIGZvbnQgYmluYXJ5IGZpbGUNCiYwCWJ5dGUJMHg4MAkNCg0KIyBNYWdpYyBJRCBmb3IgWC1XaW5kb3dzLCBHZW1ET1MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjIJc3RyaW5nCVxceDJFXFx4MzBcXHgwRFxceDBBXFx4MDBcXHgwMAlbZmlkPTAwMDAwMTMzNy03MC0wMDAwU1BEO2V4dD1zcGQ7bWltZT07XUJpdHN0cmVhbSBTcGVlZG8gZm9udCBmaWxlDQomMAlzdHJpbmcJRAkNCj4yNAlzdHJpbmcJeAlbdGl0bGU9JS43MHNdDQo+MQlzdHJpbmcJeAksdmVyc2lvbiAlLjFzLjANCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCXN0cmluZwl0cnVlCVtmaWQ9MDAwMDAxMDAyLTcwLTAwMDBUVEY7ZXh0PXR0ZjttaW1lPTtdVHJ1ZXR5cGUgZm9udCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJdHlwMQlbZmlkPTAwMDAwMTAwMi03MC0wMDAwVFRGO2V4dD10dGY7bWltZT07XVRydWV0eXBlIGZvbnQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJc3RyaW5nCVN0YXJ0Q29tcEZvbnRNZXRyaWNzCVtmaWQ9MDAwMDAxMDAzLTcwLTAwMDBBRk07ZXh0PWFmbTttaW1lPTtdQWRvYmUgY29tcG9zaXRlIGZvbnQgbWV0cmljcyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJU3RhcnRGb250TWV0cmljcwlbZmlkPTAwMDAwMTAwMy03MC0wMDAwQUZNO2V4dD1hZm07bWltZT07XUFkb2JlIGZvbnQgbWV0cmljcyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJU3RhcnRNYXN0ZXJGb250TWV0cmljcwlbZmlkPTAwMDAwMTAwMy03MC0wMDAwQUZNO2V4dD1hZm07bWltZT07XUFkb2JlIG1hc3RlciBmb250IG1ldHJpY3MgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJbGVzaG9ydAkweDAxMDAJW2ZpZD0wMDAwMDEwMDEtNzAtMDAwMFBGTTtleHQ9cGZtO21pbWU9O11QcmludGVyIEZvbnQgTWV0cmljcyBmaWxlIGZvciBUeXBlIDEgZm9udHMNCiY2NglsZXNob3J0CTB4MDA4MQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCWxlbG9uZwkweDc1QjIyNjMwCVtmaWQ9MDAwMDAxMDAxLTgxLTAwMDBBU0Y7ZXh0PWFzZix3bWEsd212O21pbWU9O11NaWNyb3NvZnQgQWR2YW5jZWQgU3RyZWFtaW5nIGZvcm1hdCBtdWx0aW1lZGlhIGZpbGUNCiY2CWxlc2hvcnQJMHgxMUNGCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDEtODEtMDAwMEFWSTtleHQ9YXZpO21pbWU9O11BdWRpby12aWRlbyBpbnRlcmxlYXZlZCBtb3ZpZSwgbGl0dGxlLWVuZGlhbg0KJjgJc3RyaW5nCUFWSVxcIAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMyBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTgxLTAwMDBBVkk7ZXh0PWF2aTttaW1lPTtdQXVkaW8tdmlkZW8gaW50ZXJsZWF2ZWQgbW92aWUsIGJpZy1lbmRpYW4NCiY4CXN0cmluZwlBVklcXCAJDQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrdGltZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KNAlzdHJpbmcJbWRhdAlbZmlkPTAwMDAwMTAwMi04MS0wMDAwTU9WO2V4dD1tb3YscXQ7bWltZT12aWRlby9xdWlja3RpbWU7XUFwcGxlIFF1aWNrVGltZSBtb3ZpZSBkYXRhIChtZGF0KQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja3RpbWUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjQJc3RyaW5nCW1vb3YJW2ZpZD0wMDAwMDEwMDItODEtMDAwME1PVjtleHQ9bW92LHF0O21pbWU9dmlkZW8vcXVpY2t0aW1lO11BcHBsZSBRdWlja1RpbWUgbW92aWUgcmVzb3VyY2UgKG1vb3YpDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAliZWxvbmcJMHgxQjMJW2ZpZD0wMDAwMDAwMDEtODEtMDAwTVBFRztleHQ9bXBlLG1wZWcsbXBnO21pbWU9dmlkZW8vbXBlZztdTVBFRyBtdWx0aW1lZGlhIChhdWRpby92aWRlbykgc3RyZWFtIGZpbGUNCiZaNAliZWxvbmcJMHgwMUI5CQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJYmVsb25nCTB4MUJBCVtmaWQ9MDAwMDAwMDAxLTgxLTAwME1QRUc7ZXh0PW1wZSxtcGVnLG1wZzttaW1lPXZpZGVvL21wZWc7XU1QRUcgbXVsdGltZWRpYSAoYXVkaW8vdmlkZW8pIHN0cmVhbSBmaWxlDQomWjQJYmVsb25nCTB4MDFCOQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCWJlbG9uZwkweDFFMAlbZmlkPTAwMDAwMDAwMS04MS0wMDBNUEVHO2V4dD1tcGUsbXBlZyxtcGc7bWltZT12aWRlby9tcGVnO11NUEVHIG11bHRpbWVkaWEgKGF1ZGlvL3ZpZGVvKSBzdHJlYW0gZmlsZQ0KJlo0CWJlbG9uZwkweDAxQjkJDQoNCiMgTWFnaWMgSUQgZm9yIEFsaWFzL1dhdmVmcm9udCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJTU9WSQlbZmlkPTAwMDAwMTAwNC04MS0wMDAwME1WO2V4dD1tdjttaW1lPTtdQWxpYXMvV2F2ZWZyb250IG1vdmllIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xOCBieSBDYXJsDQowCXN0cmluZwlPZ2dTCVtmaWQ9MDAwMDAwMDAwLTgxLTAwMDBPR0c7ZXh0PW9nZzttaW1lPWFwcGxpY2F0aW9uL29nZztdT0dHIE11bHRpbWVkaWEgY29udGFpbmVyIHN0cmVhbSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFJlYWxwbGF5ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE5IGJ5IENhcmwNCjAJc3RyaW5nCS5STUYJW2ZpZD0wMDAwMDEwMjctODEtMDAwMDBSTTtleHQ9cm0scmEscnQscnAscnBhO21pbWU9O11SZWFsTWVkaWEgbXVsdGltZWRpYSBjb250YWluZXIgc3RyZWFtIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTWFjcm9tZWRpYSBGbGFzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJRldTCVtmaWQ9MDAwMDAxMjU5LTgxLTAwMDBTV0Y7ZXh0PXN3ZjttaW1lPTtdU2hvY2t3YXZlIE1hY3JvbWVkaWEgYW5pbWF0aW9uDQo+MwlieXRlCXgJLCB2ZXJzaW9uICVkLjANCg0KIyBNYWdpYyBJRCBmb3IgVml2byBwbGF5ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjUJc3RyaW5nCVZlcnNpb246Vml2bwlbZmlkPTAwMDAwMDAwMC04MS0wMDBWSVZPO2V4dD12aXYsdml2bzttaW1lPXZpZGVvL3ZuZC52aXZvO11WaXZvIG11bHRpbWVkaWEgc3RyZWFtIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQWVnaXMgQW5pbWF0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNjEtODItMDAwQU5JTTtleHQ9YW5pbTttaW1lPTtdQW1pZ2EgLyBTcGFydGEgc29mdHdhcmUgYW5pbWF0aW9uDQomOAlzdHJpbmcJQU5JTQkNCg0KIyBNYWdpYyBJRCBmb3IgRmFudGF2aXNpb24gbW92aWUgbWFrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNjAtODItMDAwRkFOVDtleHQ9ZmFudDttaW1lPTtdRmFudGF2aXNpb24gbW92aWUNCiY4CXN0cmluZwlGQU5UCQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvZGVzayBBbmltYXRvciBQcm8gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjQJbGVzaG9ydAkweEFGMTIJW2ZpZD0wMDAwMDEyNTQtODItMDAwMEZMQztleHQ9ZmxjO21pbWU9O11BdXRvZGVzayBBbmltYXRvciBQcm8gYW5pbWF0aW9uDQomMTIJbGVzaG9ydAkweDA4CQ0KPjgJbGVzaG9ydAl4CVtyZXM9JWR4DQo+MTAJbGVzaG9ydAl4CSVkDQo+MTIJbGVzaG9ydAl4CXg4YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvZGVzayBBbmltYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KNAlsZXNob3J0CTB4QUYxMQlbZmlkPTAwMDAwMTI1NC04Mi0wMDAwRkxJO2V4dD1mbGk7bWltZT07XUF1dG9kZXNrIEFuaW1hdG9yIGFuaW1hdGlvbg0KJjEyCWxlc2hvcnQJMHgwOAkNCj44CWxlc2hvcnQJeAlbcmVzPSVkeA0KPjEwCWxlc2hvcnQJeAklZA0KPjEyCWxlc2hvcnQJeAl4OGJwcF0NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlcXHg4QU1OR1xceDBkXFx4MEFcXHgxQVxceDBBCVtmaWQ9MDAwMDAwMDAwLTgyLTAwMDBNTkc7ZXh0PW1uZzttaW1lPTtdTXVsdGktaW1hZ2UgbmV0d29yayBncmFwaGljcyBhbmltYXRpb24gZmlsZQ0KPjB4MTAJYmVsb25nCXgJW3Jlcz0lZHgNCj4weDE0CWJlbG9uZwl4CSVkXQ0KDQojIE1hZ2ljIElEIGZvciBDeWJlcnBhaW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCWJlc2hvcnQJMHhGRURCCVtmaWQ9MDAwMDAwMDAwLTgyLTAwMDBTRVE7ZXh0PXNlcTttaW1lPTtdQ3liZXJwYWludCBBbmltYXRpb24gU2VxdWVuY2UNCiYyCWJlc2hvcnQJMHgwMDAwCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuLE1vbmV5IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQowCXN0cmluZwlPRlhIRUFERVI6CVtmaWQ9MDAwMDAwMDA4LTkxLTAwMDBRRlg7ZXh0PXFmeDttaW1lPTtdT3BlbiBmaW5hbmNpYWwgZXhjaGFuZ2UgZmlsZSAoU0dNTCkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJQWNjb3VudAlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJVHlwZTpCYW5rCVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkNhc2gJW2ZpZD0wMDAwMDEzMzUtOTEtMDAwMFFJRjtleHQ9cWlmO21pbWU9O11RdWlja2VuIGludGVyY2hhbmdlIGZpbGUNCiYwCWJ5dGUJMzMJDQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrZW4gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA4LTAxIGJ5IENhcmwNCjEJc3RyaW5nCVR5cGU6Q2F0CVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkNDYXJkCVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkNsYXNzCVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkludnN0CVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOk1lbW9yaXplZAlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJVHlwZTpPdGggQQlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJVHlwZTpPdGggTAlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlSUkcJW2ZpZD0wMDAwMDEwMDEtQjAtMDAwMENSRDtleHQ9Y3JkO21pbWU9O11XaW5kb3dzIDMueCBjYXJkZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCU1HQwlbZmlkPTAwMDAwMTAwMS1CMC0wMDAwQ1JEO2V4dD1jcmQ7bWltZT07XVdpbmRvd3MgTlQgMy41MSBjYXJkIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlCRUdJTjpWQ0FSRAlbZmlkPTAwMDAwMTAxNS1CMC0wMDAwVkNGO2V4dD12Y2Y7bWltZT07XXZDYXJkIEJ1c2luZXNzIENhcmQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceGI1XFx4YTJcXHhiMFxceGIzXFx4YjNcXHhiMFxceGEyXFx4YjUJW2ZpZD0wMDAwMDEwMDEtQjEtMDAwMENBTDtleHQ9Y2FsO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjYWxlbmRhciBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJQkVHSU46VkNBTEVOREFSCVtmaWQ9MDAwMDAxMDE2LUIxLTAwMDBWQ1M7ZXh0PXZjczttaW1lPTtddkNhbGVuZGFyL2lDYWxlbmRhciBBZ2VuZGEgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMFxceDNDXFx4MDBcXHgwMFxceDAwXFx4M0YJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUsIFVURi0zMkJFIGVuY29kZWQNCiY4CWJlbG9uZwkweDAwMDAwMDc4CQ0KJjEyCWJlbG9uZwkweDAwMDAwMDZkCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHhmZVxceGZmXFx4MDBcXHgwMFxceDAwXFx4M0MJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUsIFVURi0zMkJFIGVuY29kZWQNCiY4CWJlbG9uZwkweDAwMDAwMDNGCQ0KJjEyCWJlbG9uZwkweDAwMDAwMDc4CQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4M0NcXHgwMFxceDNGXFx4MDBcXHg3OFxceDAwXFx4NkRcXHgwMFxceDZjCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtMTZCRSBlbmNvZGVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTcgYnkgQ2FybA0KMAlzdHJpbmcJXFx4M0NcXHgwMFxceDAwXFx4MDBcXHgzRlxceDAwXFx4MDBcXHgwMAlbZmlkPTAwMDAwMDAwNy1GMy0wMDAwWE1MO2V4dD14bWw7bWltZT10ZXh0L3htbDtdRXh0ZW5zaWJsZSBNYXJrdXAgbGFuZ3VhZ2UgKFhNTCkgZmlsZSwgVVRGLTMyTEUgZW5jb2RlZA0KJjgJYmVzaG9ydAkweDAwMDAwMDc4CQ0KJjEyCWJlc2hvcnQJMHgwMDAwMDA2ZAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xNyBieSBDYXJsDQowCXN0cmluZwlcXHgzQ1xceDAwXFx4M0ZcXHgwMFxceDc4XFx4MDBcXHg2RFxceDAwXFx4NmNcXHgwMAlbZmlkPTAwMDAwMDAwNy1GMy0wMDAwWE1MO2V4dD14bWw7bWltZT10ZXh0L3htbDtdRXh0ZW5zaWJsZSBNYXJrdXAgbGFuZ3VhZ2UgKFhNTCkgZmlsZSwgVVRGLTE2TEUgZW5jb2RlZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceGVmXFx4YmJcXHhiZjw/eG1sCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtOCBlbmNvZGVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTcgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ZmVcXHhmZlxceDAwXFx4M0NcXHgwMFxceDNGXFx4MDBcXHg3OFxceDAwXFx4NkQJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUsIFVURi0xNkJFIGVuY29kZWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xNyBieSBDYXJsDQowCXN0cmluZwlcXHhmZlxceGZlXFx4MDBcXHgwMFxceDNDXFx4MDBcXHgwMFxceDAwCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtMzJMRSBlbmNvZGVkDQomOAliZXNob3J0CTB4M0YwMDAwMDAJDQomMTIJYmVzaG9ydAkweDc4MDAwMDAwCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceGZmXFx4ZmVcXHgzQ1xceDAwXFx4M0ZcXHgwMFxceDc4XFx4MDBcXHg2RFxceDAwCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtMTZMRSBlbmNvZGVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTcgYnkgQ2FybA0KMAlzdHJpbmcJPD94bWwJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0yMCBieSBDYXJsDQowCXN0cmluZwlcXHhkMFxceGNmXFx4MTFcXHhlMFxceGExXFx4YjFcXHgxYVxceGUxCVtmaWQ9MDAwMDAxMDAxLUY0LTAwMDBPTEU7ZXh0PW9sZTttaW1lPTtdTWljcm9zb2Z0IE9MRSBDb21wb3VuZCBmaWxlLCBiaWctZW5kaWFuDQomMHgxQwlsZXNob3J0CSEweEZGRkUJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMjAgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ZDBcXHhjZlxceDExXFx4ZTBcXHhhMVxceGIxXFx4MWFcXHhlMQlbZmlkPTAwMDAwMTAwMS1GNC0wMDAwT0xFO2V4dD1vbGU7bWltZT07XU1pY3Jvc29mdCBPTEUgQ29tcG91bmQgZmlsZSwgbGl0dGxlLWVuZGlhbg0KJjB4MUMJbGVzaG9ydAkweEZGRkUJDQo+MHgxQQlsZXNob3J0CXgJLCB2ZXJzaW9uICVkDQo+MHgxOAlsZXNob3J0CXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIEZyZWVwYXNjYWwgY29tcGlsZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTEwLTI0IGJ5IENhcmwNCjAJc3RyaW5nCVBQVTAJW2ZpZD0wMDAxMDAxMjAtMTEtMDAwMFBQVTtleHQ9cHB1LHBwbCxwcG8scHB3LHBwYSxwcHQ7bWltZT07XUZyZWVwYXNjYWwgdW5pdCBmaWxlDQo+MHgwNAlzdHJpbmcJeAksIHZlcnNpb24gJS4ycw0KDQojIE1hZ2ljIElEIGZvciBTbWFydGNhcmRzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMC0yOSBieSBDYXJsDQowCWJlbG9uZwkweDAwRkFDQURFCVtmaWQ9MDAwMDAxMDExLTEwLTAwMDBFWFA7ZXh0PWV4cDttaW1lPTtdSmF2YWNhcmQgQVBJIGV4cG9ydCBmaWxlDQo+MHgwNQlieXRlCXgJLCB2ZXJzaW9uICVkDQo+NAlieXRlCXgJLiVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMTAtMjkgYnkgQ2FybA0KMAlzdHJpbmcJLXJvbTFmcy0JW2ZpZD0wMDAxMDAxMjEtMEYtMDAwMElNRztleHQ9aW1nO21pbWU9O11TaW1wbGUgUk9NIGZpbGVzeXN0ZW0gKFJPTUZTKQ0KPjE2CXN0cmluZwl4CVt0aXRsZT0lc10NCg0KIyBNYWdpYyBJRCBmb3IgVmlydHVhbCBQQyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMTAtMjkgYnkgQ2FybA0KMAlzdHJpbmcJY29uZWN0aXgJW2ZpZD0wMDAwMDEwMDEtMEYtMDAwMFZIRDtleHQ9dmhkO21pbWU9O11WaXJ0dWFsIFBDIEhhcmQgZHJpdmUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0xMiBieSBDYXJsIEVyaWMgQ29kZXJlDQowCXN0cmluZwklIVBTLUFkb2JlLQlbZmlkPTAwMDAwMTAwMy0zMy0wMDAwMFBTO2V4dD1wcyxlcHM7bWltZT1hcHBsaWNhdGlvbi9wb3N0c2NyaXB0O11Qb3N0c2NyaXB0IGZpbGUNCj4xMQlzdHJpbmcJeAksIGxldmVsICUuMXMNCj4xMwlzdHJpbmcJeAkuJS4xcw0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTEyIGJ5IENhcmwgRXJpYyBDb2RlcmUNCjAJbGVsb25nCTB4NTI2ZjZkMmUJW2ZpZD0wMDAwMDEzMzgtMEYtMDAwMFJPTTtleHQ9cm9tLGZzO21pbWU9O11lQ29zIFJPTSBGaWxlc3lzdGVtIGltYWdlIChST01GUykNCj4xNglzdHJpbmcJeAlbdGl0bGU9JS4xNnNdDQoNCiMgTWFnaWMgSUQgZm9yIFBBREdlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMTEtMjYgYnkgQ2FybCBFcmljIENvZGVyZQ0KMHgyOQlzdHJpbmcJPFhNTF9ESVpfSU5GTz4JW2ZpZD0wMDAwMDEzMzktQTAtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XVBvcnRhYmxlIGFwcGxpY2F0aW9uIGRlc2NyaXB0aW9uIGZpbGUgKFhNTCkNCiYwCXN0cmluZwk8P3htbAkNCg0KIyBNYWdpYyBJRCBmb3IgUEFER2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0yNiBieSBDYXJsIEVyaWMgQ29kZXJlDQoweDI4CXN0cmluZwk8WE1MX0RJWl9JTkZPPglbZmlkPTAwMDAwMTMzOS1BMC0wMDAwWE1MO2V4dD14bWw7bWltZT10ZXh0L3htbDtdUG9ydGFibGUgYXBwbGljYXRpb24gZGVzY3JpcHRpb24gZmlsZSAoWE1MKQ0KJjAJc3RyaW5nCTw/eG1sCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTI2IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjB4MjkJc3RyaW5nCTx4OnhtcG1ldGFcXCAJW2ZpZD0wMDAwMDEwMDMtQTAtMDAwMFhNUDtleHQ9eG1sLHhtcDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIG1ldGFkYXRhIHBsYXRmb3JtIHNpZGVjYXIgZmlsZSAoWE1MKQ0KJjAJc3RyaW5nCTw/eG1sCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTI2IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjB4MjgJc3RyaW5nCTx4OnhtcG1ldGFcXCAJW2ZpZD0wMDAwMDEwMDMtQTAtMDAwMFhNUDtleHQ9eG1sLHhtcDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIG1ldGFkYXRhIHBsYXRmb3JtIHNpZGVjYXIgZmlsZSAoWE1MKQ0KJjAJc3RyaW5nCTw/eG1sCQ0KDQojIE1hZ2ljIElEIGZvciBUZXhpbmZvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0yNiBieSBDYXJsIEVyaWMgQ29kZXJlDQoxCXN0cmluZwlpbnB1dCB0ZXhpbmZvCVtmaWQ9MDAwMDAxMzQwLTAwLTAwMFRFWEk7ZXh0PXRleGk7bWltZT07XVRleGluZm8gc291cmNlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTVMtRE9TIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0yNiBieSBDYXJsIEVyaWMgQ29kZXJlDQowCXN0cmluZwlcXHhGRkZPTlQJW2ZpZD0wMDAwMDEwMDEtNzAtMDAwMENQSTtleHQ9Y3BpO21pbWU9O11NUy1ET1MgY29kZSBwYWdlIHJhc3RlciBmb250DQoNCiMgTWFnaWMgSUQgZm9yIFVOSVggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTI2IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjAJc3RyaW5nCVRaaWYJW2ZpZD0wMDAwMDAwMDAtOTAtMDAwMDAwMDtleHQ9O21pbWU9O11UaW1lem9uZSBpbmZvcm1hdGlvbiBkYXRhYmFzZSBmaWxlIChjb21waWxlZCkNCg0KIyBNYWdpYyBJRCBmb3IgVGVsaXggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA1LTAzLTA0IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjAJbGVsb25nCTB4MmUyYjI5MWEJW2ZpZD0wMDAxMDAxMjYtQjAtMDAwMEZPTjtleHQ9Zm9uO21pbWU9O11UZWxpeCBwaG9uZSBib29rDQomNAlsZXNob3J0CTEJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBWaXN1YWwgQysrIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNS0wMy0wNCBieSBDYXJsIEVyaWMgQ29kZXJlDQowCXN0cmluZwlWQ1BDSDBcXHgwMFxceDAwCVtmaWQ9MDAwMDAxMDAxLTkwLTAwMDBQQ0g7ZXh0PXBjaDttaW1lPTtdTWljcm9zb2Z0IFZpc3VhbCBDKysgcHJlLWNvbXBpbGVkIGhlYWRlcihzKQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgVmlzdWFsIEMrKyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDUtMDMtMDQgYnkgQ2FybCBFcmljIENvZGVyZQ0KMAlzdHJpbmcJTWljcm9zb2Z0XFwgQy9DKytcXCBwcm9ncmFtXFwgZGF0YWJhc2UJW2ZpZD0wMDAwMDEwMDEtOTAtMDAwMFBEQjtleHQ9cGRiO21pbWU9O11NaWNyb3NvZnQgVmlzdWFsIEMrKyBkZWJ1ZyBpbmZvcm1hdGlvbiBkYXRhYmFzZQ0KJjB4MjUJc3RyaW5nCVxceDBEXFx4MEFcXHgxQQkNCiYweDI4CXN0cmluZwlKR1xceDAwCQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgVmlzdWFsIEMrKyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDUtMDMtMDQgYnkgQ2FybCBFcmljIENvZGVyZQ0KMAlzdHJpbmcJTWljcm9zb2Z0XFwgTGlua2VyXFwgRGF0YWJhc2VcXHgwQVxceDA3XFx4MUEJW2ZpZD0wMDAwMDEwMDEtOTAtMDAwMElMSztleHQ9aWxrO21pbWU9O11NaWNyb3NvZnQgVmlzdWFsIEMrKyBsaW5rZXIgZGF0YWJhc2UNCg0KDQojIENSQzMyOjhCQzNCQTQ2DQo=' ); - /** * Returns the test data for a given key * diff --git a/cake/tests/cases/libs/model/behavior.test.php b/cake/tests/cases/libs/model/behavior.test.php index 628397fa3..9b3760259 100644 --- a/cake/tests/cases/libs/model/behavior.test.php +++ b/cake/tests/cases/libs/model/behavior.test.php @@ -1,7 +1,7 @@ assertIdentical($Apple->beforeTestResult, $expected); } - /** * Test attach and detaching * + * @access public * @return void **/ function testBehaviorAttachAndDetach() { @@ -954,19 +960,8 @@ class BehaviorTest extends CakeTestCase { $Sample->Behaviors->init($Sample->alias, $Sample->actsAs); $Sample->Behaviors->attach('Test2'); $Sample->Behaviors->detach('Test3'); - + $Sample->Behaviors->trigger($Sample, 'beforeTest'); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - ClassRegistry::flush(); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/behaviors/acl.test.php b/cake/tests/cases/libs/model/behaviors/acl.test.php index 47ffc4a79..3ca1974e3 100644 --- a/cake/tests/cases/libs/model/behaviors/acl.test.php +++ b/cake/tests/cases/libs/model/behaviors/acl.test.php @@ -1,7 +1,7 @@ 'mother_id' ) ); - /** - * ParentNode + * parentNode method * * @return void - **/ + * @access public + */ function parentNode() { if (!$this->id && empty($this->data)) { return null; @@ -99,13 +98,11 @@ class AclPerson extends CakeTestModel { return array('AclPerson' => array('id' => $data['AclPerson']['mother_id'])); } } - } - /** -* Acl Test User +* AclUser class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ class AclUser extends CakeTestModel { @@ -139,11 +136,10 @@ class AclUser extends CakeTestModel { return null; } } - /** -* Acl Test User +* AclPost class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ class AclPost extends CakeTestModel { @@ -177,33 +173,62 @@ class AclPost extends CakeTestModel { return null; } } - /** -* ACL behavior test class +* AclBehaviorTest class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class AclBehaviorTestCase extends CakeTestCase { +/** + * Aco property + * + * @var Aco + * @access public + */ + var $Aco; +/** + * Aro property + * + * @var Aro + * @access public + */ + var $Aro; +/** + * fixtures property + * + * @var array + * @access public + */ var $fixtures = array('core.person', 'core.user', 'core.post', 'core.aco', 'core.aro', 'core.aros_aco'); - /** * Set up the test * * @return void - **/ + * @access public + */ function startTest() { Configure::write('Acl.database', 'test_suite'); $this->Aco =& new Aco(); $this->Aro =& new Aro(); } - +/** + * tearDown method + * + * @return void + * @access public + */ + function tearDown() { + ClassRegistry::flush(); + unset($this->Aro, $this->Aco); + } /** * Test Setup of AclBehavior * * @return void - **/ + * @access public + */ function testSetup() { $User =& new AclUser(); $this->assertTrue(isset($User->Behaviors->Acl->settings['User'])); @@ -215,12 +240,12 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertEqual($Post->Behaviors->Acl->settings['Post']['type'], 'controlled'); $this->assertTrue(is_object($Post->Aco)); } - /** * test After Save * * @return void - **/ + * @access public + */ function testAfterSave() { $Post =& new AclPost(); $data = array( @@ -264,12 +289,12 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertEqual($node[0]['Aro']['parent_id'], 5); $this->assertEqual($node[1]['Aro']['parent_id'], null); } - /** * Test After Delete * * @return void - **/ + * @access public + */ function testAfterDelete() { $aroData = array( 'Aro' => array( @@ -317,12 +342,12 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertTrue(empty($result)); } - /** * Test Node() * * @return void - **/ + * @access public + */ function testNode() { $Person =& new AclPerson(); $aroData = array( @@ -339,16 +364,5 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertTrue(is_array($result)); $this->assertEqual(sizeof($result), 1); } - -/** - * tear down test - * - * @return void - **/ - function tearDown() { - ClassRegistry::flush(); - unset($this->Aro, $this->Aco); - } - } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/behaviors/containable.test.php b/cake/tests/cases/libs/model/behaviors/containable.test.php index 9a7a2f4e1..b5f801df8 100644 --- a/cake/tests/cases/libs/model/behaviors/containable.test.php +++ b/cake/tests/cases/libs/model/behaviors/containable.test.php @@ -1,7 +1,7 @@ +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/behaviors/translate.test.php b/cake/tests/cases/libs/model/behaviors/translate.test.php index 4c0393df7..20eb3651c 100644 --- a/cake/tests/cases/libs/model/behaviors/translate.test.php +++ b/cake/tests/cases/libs/model/behaviors/translate.test.php @@ -1,7 +1,7 @@ simulated[count($this->simulated) - 1]; } } - /** - * Short description for class. + * AdodbTestModel * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class AdodbTestModel extends CakeTestModel { @@ -152,7 +149,6 @@ class AdodbTestModel extends CakeTestModel { ); } } - if (!class_exists('Article')) { /** * Article class @@ -171,11 +167,10 @@ if (!class_exists('Article')) { } } - /** - * The test class for the DboAdobd + * DboAdodbTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboAdodbTest extends CakeTestCase { @@ -186,14 +181,13 @@ class DboAdodbTest extends CakeTestCase { * @access public */ var $db = null; - /** - * undocumented class variable + * fixtures property * * @var string + * @access public **/ var $fixtures = array('core.article'); - /** * Skip if cannot connect to AdoDb * @@ -280,6 +274,5 @@ class DboAdodbTest extends CakeTestCase { function testColumns() { } - } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php index cc8448a3e..ab5592200 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php @@ -1,7 +1,7 @@ connected = true; return true; } - function lastError() {} +/** + * lastError method + * + * @return void + * @access public + */ + function lastError() { + } /** * simulated property * @@ -104,11 +121,10 @@ class DboMssqlTestDb extends DboMssql { return $this->simulated[count($this->simulated) - 1]; } } - /** - * Short description for class. + * MssqlTestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class MssqlTestModel extends Model { @@ -183,9 +199,9 @@ class MssqlTestModel extends Model { } } /** - * The test class for the DboMssql + * DboMssqlTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboMssqlTest extends CakeTestCase { @@ -215,6 +231,16 @@ class DboMssqlTest extends CakeTestCase { $this->db = new DboMssqlTestDb($db->config); $this->model = new MssqlTestModel(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->model); + } + /** * testQuoting method * @@ -314,7 +340,12 @@ class DboMssqlTest extends CakeTestCase { ); $this->assertEqual($result, $expected); } - +/** + * testUpdateAllSyntax method + * + * @return void + * @access public + */ function testUpdateAllSyntax() { $model = ClassRegistry::init('MssqlTestModel'); $fields = array('MssqlTestModel.client_id' => '[MssqlTestModel].[client_id] + 1'); @@ -326,15 +357,5 @@ class DboMssqlTest extends CakeTestCase { $this->assertPattern('/^UPDATE \[mssql_test_models\]/', $result); $this->assertPattern('/SET \[client_id\] = \[client_id\] \+ 1/', $result); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->model); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php index dda8322cf..3d94dc6af 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php @@ -1,7 +1,7 @@ db->query($this->db->dropSchema($schema1)); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php index 38ab1b891..9031164dd 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php @@ -1,7 +1,7 @@ assertEqual($result, $expected); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php index 0cacb783c..314fcfce8 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php @@ -1,7 +1,7 @@ db->config['password'] = $old_pw; $this->db->connect(); } - /** * testName method * @@ -131,10 +128,5 @@ class DboOracleTest extends CakeTestCase { $this->assertEqual($e, $r); } - - - - } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php index c6ff8a5f0..bae7ad584 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php @@ -1,7 +1,7 @@ assertEqual($this->db->buildColumn($result), $expected); } - /** * Tests that binary data is escaped/unescaped properly on reads and writes * @@ -409,7 +406,6 @@ class DboPostgresTest extends CakeTestCase { $result = $model->find('first'); $this->assertEqual($result['BinaryTest']['data'], $data); } - /** * Tests the syntax of generated schema indexes * @@ -479,7 +475,6 @@ class DboPostgresTest extends CakeTestCase { $db1->query('DROP TABLE ' . $db1->fullTableName('datatypes')); } - /** * Test index generation from table info. * diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php index a22cc7721..adfad9dbc 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php @@ -1,7 +1,7 @@ assertEqual($expected, $result); $this->db->query('DROP TABLE ' . $name); } - /** * Tests that cached table descriptions are saved under the sanitized key name * @@ -207,5 +205,4 @@ class DboSqliteTest extends CakeTestCase { Configure::write('Cache.disable', true); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo_source.test.php b/cake/tests/cases/libs/model/datasources/dbo_source.test.php index 54375cf7e..cb10ebc46 100644 --- a/cake/tests/cases/libs/model/datasources/dbo_source.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo_source.test.php @@ -1,7 +1,7 @@ _schema; } } +/** + * TestModel4TestModel7 class + * + * @package cake + * @subpackage cake.tests.cases.libs.model.datasources + */ class TestModel4TestModel7 extends CakeTestModel { /** * name property @@ -271,9 +276,9 @@ class TestModel4TestModel7 extends CakeTestModel { } } /** - * Short description for class. + * TestModel5 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel5 extends CakeTestModel { @@ -338,9 +343,9 @@ class TestModel5 extends CakeTestModel { } } /** - * Short description for class. + * TestModel6 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel6 extends CakeTestModel { @@ -395,9 +400,9 @@ class TestModel6 extends CakeTestModel { } } /** - * Short description for class. + * TestModel7 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel7 extends CakeTestModel { @@ -441,9 +446,9 @@ class TestModel7 extends CakeTestModel { } } /** - * Short description for class. + * TestModel8 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel8 extends CakeTestModel { @@ -501,9 +506,9 @@ class TestModel8 extends CakeTestModel { } } /** - * Short description for class. + * TestModel9 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel9 extends CakeTestModel { @@ -1136,11 +1141,10 @@ class ArticleFeatured2 extends CakeTestModel { return $this->_schema; } } - /** - * Short description for class. + * DboSourceTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class DboSourceTest extends CakeTestCase { @@ -3135,7 +3139,7 @@ class DboSourceTest extends CakeTestCase { 'fields' => null, 'order' => null, 'recursive' => null )); $this->assertEqual($result, $expected); - + $result = $this->testDb->query('findByFindBy', array('value'), $this->Model); $expected = array('first', array( 'conditions' => array('TestModel.find_by' => 'value'), @@ -3806,5 +3810,4 @@ class DboSourceTest extends CakeTestCase { $this->assertNoPattern('/Took:/s', $contents); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/db_acl.test.php b/cake/tests/cases/libs/model/db_acl.test.php index dc8fd24be..82d4d15ad 100644 --- a/cake/tests/cases/libs/model/db_acl.test.php +++ b/cake/tests/cases/libs/model/db_acl.test.php @@ -1,7 +1,7 @@ array('with' => 'DbPermissionTest')); } - /** -* Aco Test Wrapper -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * Aco Test Wrapper + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAcoTest extends DbAclNodeTestBase { /** * name property @@ -113,13 +109,12 @@ class DbAcoTest extends DbAclNodeTestBase { */ var $hasAndBelongsToMany = array('DbAroTest' => array('with' => 'DbPermissionTest')); } - /** -* Permission Test Wrapper -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * Permission Test Wrapper + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbPermissionTest extends CakeTestModel { /** * name property @@ -151,11 +146,11 @@ class DbPermissionTest extends CakeTestModel { var $belongsTo = array('DbAroTest' => array('foreignKey' => 'aro_id'), 'DbAcoTest' => array('foreignKey' => 'aco_id')); } /** -* Short description for class. -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * DboActionTest class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAcoActionTest extends CakeTestModel { /** * name property @@ -180,11 +175,11 @@ class DbAcoActionTest extends CakeTestModel { var $belongsTo = array('DbAcoTest' => array('foreignKey' => 'aco_id')); } /** -* Short description for class. -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * DbAroUserTest class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAroUserTest extends CakeTestModel { /** * name property @@ -215,13 +210,12 @@ class DbAroUserTest extends CakeTestModel { } } } - /** -* Short description for class. -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * DbAclTest class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAclTest extends DbAcl { /** * construct method @@ -237,9 +231,9 @@ class DbAclTest extends DbAcl { } } /** - * Short description for class. + * AclNodeTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components.dbacl.models */ class AclNodeTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/model/model.test.php b/cake/tests/cases/libs/model/model.test.php index 6c9760b81..a4845b77f 100644 --- a/cake/tests/cases/libs/model/model.test.php +++ b/cake/tests/cases/libs/model/model.test.php @@ -1,7 +1,7 @@ debug); } +/** + * endTest method + * + * @access public + * @return void + */ + function endTest() { + ClassRegistry::flush(); + } /** * testAutoConstructAssociations method * @@ -956,7 +963,6 @@ class ModelTest extends CakeTestCase { $result = $Article->read(null, 2); $this->assertEqual($result['Article']['title'], 'Staying alive'); } - /** * testCreationOfEmptyRecord method * @@ -3182,7 +3188,6 @@ class ModelTest extends CakeTestCase { Configure::write('Cache.check', $_back['check']); Configure::write('Cache.disable', $_back['disable']); } - /** * testSaveAll method * @@ -3248,12 +3253,12 @@ class ModelTest extends CakeTestCase { $expected = array('id' => '2', 'comment_id' => '7', 'attachment' => 'some_file.tgz', 'created' => $ts, 'updated' => $ts); $this->assertEqual($result[6]['Attachment'], $expected); } - /** * Test SaveAll with Habtm relations * + * @access public * @return void - **/ + */ function testSaveAllHabtm() { $this->loadFixtures('Article', 'Tag', 'Comment', 'User'); $data = array( @@ -3279,7 +3284,12 @@ class ModelTest extends CakeTestCase { $this->assertEqual(count($result['Comment']), 1); $this->assertEqual(count($result['Comment'][0]['comment']['Article comment']), 1); } - +/** + * Test SaveAll with Habtm relations and extra join table fields + * + * @access public + * @return void + */ function testSaveAllHabtmWithExtraJoinTableFields() { $this->loadFixtures('Something', 'SomethingElse', 'JoinThing'); @@ -3753,7 +3763,6 @@ class ModelTest extends CakeTestCase { ); $this->assertEqual($TestModel->validationErrors, $expected); } - /** * testSaveAllValidateFirst method * @@ -3929,7 +3938,6 @@ class ModelTest extends CakeTestCase { $expected = array_fill(0, 1, 1); $this->assertEqual($result, $expected); } - /** * testSaveWithCounterCacheScope method * @@ -4786,7 +4794,6 @@ class ModelTest extends CakeTestCase { $expected = $TestModel->save($data); $this->assertFalse($expected); } - // function testBasicValidation() { // $TestModel =& new ValidationTest(); // $TestModel->testing = true; @@ -5537,7 +5544,6 @@ class ModelTest extends CakeTestCase { $this->assertIdentical($result['DataTest']['count'], '0'); $this->assertIdentical($result['DataTest']['float'], '0'); } - /** * testNonNumericHabtmJoinKey method * @@ -5827,7 +5833,6 @@ class ModelTest extends CakeTestCase { $this->assertEqual($db2->fullTableName($TestModel, false), 'apples'); $this->assertEqual($db1->fullTableName($TestModel, false), 'apples'); } - /** * testDynamicBehaviorAttachment method * @@ -5858,7 +5863,6 @@ class ModelTest extends CakeTestCase { $this->assertEqual($TestModel->Behaviors->attached(), array()); $this->assertFalse(isset($TestModel->Behaviors->Tree)); } - /** * Tests cross database joins. Requires $test and $test2 to both be set in DATABASE_CONFIG * NOTE: When testing on MySQL, you must set 'persistent' => false on *both* database connections, @@ -6477,7 +6481,12 @@ class ModelTest extends CakeTestCase { $result = $Portfolio->ItemsPortfolio->find('all', array('conditions' => array('ItemsPortfolio.portfolio_id' => 1))); $this->assertFalse($result); } - +/** + * testDeleteArticleBLinks method + * + * @access public + * @return void + */ function testDeleteArticleBLinks() { $this->loadFixtures('Article', 'ArticlesTag', 'Tag'); $TestModel =& new ArticleB(); @@ -6500,21 +6509,16 @@ class ModelTest extends CakeTestCase { ); $this->assertEqual($result, $expected); } - +/** + * testPkInHAbtmLinkModelArticleB + * + * @access public + * @return void + */ function testPkInHabtmLinkModelArticleB() { $this->loadFixtures('Article', 'Tag'); $TestModel2 =& new ArticleB(); $this->assertEqual($TestModel2->ArticlesTag->primaryKey, 'article_id'); } -/** - * endTest method - * - * @access public - * @return void - */ - function endTest() { - ClassRegistry::flush(); - } } - -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/models.php b/cake/tests/cases/libs/model/models.php index 95170c748..8f1423e9c 100644 --- a/cake/tests/cases/libs/model/models.php +++ b/cake/tests/cases/libs/model/models.php @@ -1,7 +1,7 @@ Schema = new TestAppSchema(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Schema); + } /** * testSchemaName method * @@ -471,7 +479,7 @@ class CakeSchemaTest extends CakeTestCase { function testSchemaCreateTable() { $db =& ConnectionManager::getDataSource('test_suite'); $db->cacheSources = false; - + $Schema =& new CakeSchema(array( 'connection' => 'test_suite', 'testdescribes' => array( @@ -481,25 +489,16 @@ class CakeSchemaTest extends CakeTestCase { ), )); $sql = $db->createSchema($Schema); - + $col = $Schema->tables['testdescribes']['int_null']; $col['name'] = 'int_null'; $column = $this->db->buildColumn($col); $this->assertPattern('/' . preg_quote($column, '/') . '/', $sql); - + $col = $Schema->tables['testdescribes']['int_not_null']; $col['name'] = 'int_not_null'; $column = $this->db->buildColumn($col); $this->assertPattern('/' . preg_quote($column, '/') . '/', $sql); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Schema); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/multibyte.test.php b/cake/tests/cases/libs/multibyte.test.php index c97c40efc..68950cc78 100644 --- a/cake/tests/cases/libs/multibyte.test.php +++ b/cake/tests/cases/libs/multibyte.test.php @@ -1,7 +1,7 @@ methodCalls[] = array('methodWithOptionalParam' => array($param)); } - /** * testPersist * @@ -250,24 +249,20 @@ class TestObject extends Object { return $this->_persist($name, $return, $object, $type); } } - - /** - * ObjectTestModel + * ObjectTestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ObjectTestModel extends CakeTestModel { var $useTable = false; var $name = 'ObjectTestModel'; } - - /** - * Object Test Class + * Object Test class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ObjectTest extends CakeTestCase { @@ -286,6 +281,15 @@ class ObjectTest extends CakeTestCase { function setUp() { $this->object = new TestObject(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->object); + } /** * testLog method * @@ -593,7 +597,6 @@ class ObjectTest extends CakeTestCase { $_POST = $_tmp; } - /** * testCakeError * @@ -602,14 +605,5 @@ class ObjectTest extends CakeTestCase { function testCakeError() { } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->object); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/overloadable.test.php b/cake/tests/cases/libs/overloadable.test.php index 8e1d24b4f..5c0363ad5 100644 --- a/cake/tests/cases/libs/overloadable.test.php +++ b/cake/tests/cases/libs/overloadable.test.php @@ -1,7 +1,7 @@ skipif (true, 'OverloadableTest not implemented'); + $this->skipif(true, 'OverloadableTest not implemented'); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/router.test.php b/cake/tests/cases/libs/router.test.php index 0af3648d9..7cbc98161 100644 --- a/cake/tests/cases/libs/router.test.php +++ b/cake/tests/cases/libs/router.test.php @@ -1,7 +1,7 @@ array(), 'named' => array(), 'plugin' => null, 'controller' => 'posts', 'action' => 'index'); $this->assertEqual($result, $expected); } - /** * Tests URL generation with flags and prefixes in and out of context * diff --git a/cake/tests/cases/libs/sanitize.test.php b/cake/tests/cases/libs/sanitize.test.php index 31101445e..e564f9a92 100644 --- a/cake/tests/cases/libs/sanitize.test.php +++ b/cake/tests/cases/libs/sanitize.test.php @@ -1,7 +1,7 @@ assertEqual($result, $expected); } } - -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/security.test.php b/cake/tests/cases/libs/security.test.php index a04da4a44..4c2e97019 100644 --- a/cake/tests/cases/libs/security.test.php +++ b/cake/tests/cases/libs/security.test.php @@ -1,7 +1,7 @@ 'hi'); $this->assertFalse(Set::check($set, 'a.b')); } - /** * Tests Set::flatten * @@ -2612,5 +2610,4 @@ class SetTest extends CakeTestCase { $this->assertEqual($result, $expected); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/socket.test.php b/cake/tests/cases/libs/socket.test.php index c409b1664..31ce57873 100644 --- a/cake/tests/cases/libs/socket.test.php +++ b/cake/tests/cases/libs/socket.test.php @@ -1,7 +1,7 @@ Socket = new CakeSocket(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Socket); + } /** * testConstruct method * @@ -165,14 +174,5 @@ class SocketTest extends CakeTestCase { $anotherSocket->reset(); $this->assertEqual(array(), $anotherSocket->config); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Socket); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/string.test.php b/cake/tests/cases/libs/string.test.php index eacdd181e..0bb0460ab 100644 --- a/cake/tests/cases/libs/string.test.php +++ b/cake/tests/cases/libs/string.test.php @@ -1,7 +1,7 @@ Reporter =& new CakeHtmlReporter(); } /** - * undocumented function + * testRunAllTests method * * @return void * @access public @@ -55,7 +61,7 @@ class TestManagerTest extends CakeTestCase { $this->assertEqual(count($out), count($list)); } /** - * undocumented function + * testRunTestCase method * * @return void * @access public @@ -71,49 +77,44 @@ class TestManagerTest extends CakeTestCase { $this->assertTrue($result); } /** - * undocumented function + * testRunGroupTest method * * @return void * @access public */ function testRunGroupTest() { - } /** - * undocumented function + * testAddTestCasesFromDirectory method * * @return void * @access public */ function testAddTestCasesFromDirectory() { - } /** - * undocumented function + * testAddTestFile method * * @return void * @access public */ function testAddTestFile() { - } /** - * undocumented function + * testGetTestCaseList method * * @return void * @access public */ function testGetTestCaseList() { - } /** - * undocumented function + * testGetGroupTestList method * * @return void * @access public */ function testGetGroupTestList() { - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/validation.test.php b/cake/tests/cases/libs/validation.test.php index 310b7a8ae..60b6a187b 100644 --- a/cake/tests/cases/libs/validation.test.php +++ b/cake/tests/cases/libs/validation.test.php @@ -1,7 +1,7 @@ Validation =& Validation::getInstance(); } /** @@ -1975,4 +1974,4 @@ class ValidationTestCase extends CakeTestCase { // $this->assertTrue(Validation::file(TEST_CAKE_CORE_INCLUDE_PATH. 'VERSION.txt')); // } } -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helper.test.php b/cake/tests/cases/libs/view/helper.test.php index 7c3d7ea23..8cc1b811b 100644 --- a/cake/tests/cases/libs/view/helper.test.php +++ b/cake/tests/cases/libs/view/helper.test.php @@ -1,7 +1,7 @@ array('with' => 'HelperTestPostsTag')); } - /** * HelperTestComment class * @@ -156,11 +155,10 @@ class HelperTestPostsTag extends Model { return $this->_schema; } } - /** - * Short description for class. + * HelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class HelperTest extends CakeTestCase { @@ -180,6 +178,16 @@ class HelperTest extends CakeTestCase { ClassRegistry::addObject('HelperTestComment', new HelperTestComment()); ClassRegistry::addObject('HelperTestTag', new HelperTestTag()); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Helper, $this->View); + ClassRegistry::flush(); + } /** * testFormFieldNameParsing method * @@ -355,22 +363,22 @@ class HelperTest extends CakeTestCase { function testUrlConversion() { $result = $this->Helper->url('/controller/action/1'); $this->assertEqual($result, '/controller/action/1'); - + $result = $this->Helper->url('/controller/action/1?one=1&two=2'); $this->assertEqual($result, '/controller/action/1?one=1&two=2'); - + $result = $this->Helper->url(array('controller' => 'posts', 'action' => 'index', 'page' => '1" onclick="alert(\'XSS\');"')); $this->assertEqual($result, "/posts/index/page:1" onclick="alert('XSS');""); - + $result = $this->Helper->url('/controller/action/1/param:this+one+more'); $this->assertEqual($result, '/controller/action/1/param:this+one+more'); - + $result = $this->Helper->url('/controller/action/1/param:this%20one%20more'); $this->assertEqual($result, '/controller/action/1/param:this%20one%20more'); - + $result = $this->Helper->url('/controller/action/1/param:%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24'); $this->assertEqual($result, '/controller/action/1/param:%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24'); - + $result = $this->Helper->url(array( 'controller' => 'posts', 'action' => 'index', 'param' => '%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24' )); @@ -518,15 +526,5 @@ class HelperTest extends CakeTestCase { $result = $this->Helper->clean('<script>alert(document.cookie)</script>'); $this->assertEqual($result, '&lt;script&gt;alert(document.cookie)&lt;/script&gt;'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Helper, $this->View); - ClassRegistry::flush(); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/ajax.test.php b/cake/tests/cases/libs/view/helpers/ajax.test.php index 7b9073097..78060a7d8 100644 --- a/cake/tests/cases/libs/view/helpers/ajax.test.php +++ b/cake/tests/cases/libs/view/helpers/ajax.test.php @@ -1,7 +1,7 @@ codeBlocks[] = $parameter; } } - /** - * Short description for class. + * AjaxTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class AjaxTest extends CakeTestCase { +class AjaxHelperTest extends CakeTestCase { /** * Regexp for CDATA start block * @@ -168,6 +175,16 @@ class AjaxTest extends CakeTestCase { ClassRegistry::addObject('view', $view); ClassRegistry::addObject('PostAjaxTest', new PostAjaxTest()); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Ajax); + ClassRegistry::flush(); + } /** * testEvalScripts method * @@ -624,7 +641,6 @@ class AjaxTest extends CakeTestCase { $this->assertPattern('/^]+>\s*' . str_replace('/', '\\/', preg_quote('//')) . '\s*<\/script>$/', $result); $this->assertPattern('/' . str_replace('/', '\\/', preg_quote('new Ajax.Updater(\'divId\',\'http://www.cakephp.org\', {asynchronous:true, evalScripts:true, parameters:Form.Element.serialize(\'otherField\'), requestHeaders:[\'X-Update\', \'divId\']})')) . '/', $result); } - /** * testObserveForm method * @@ -887,15 +903,5 @@ class AjaxTest extends CakeTestCase { ); $this->assertTags($result, $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Ajax); - ClassRegistry::flush(); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/cache.test.php b/cake/tests/cases/libs/view/helpers/cache.test.php index b0fd41a46..f6e9b081e 100644 --- a/cake/tests/cases/libs/view/helpers/cache.test.php +++ b/cake/tests/cases/libs/view/helpers/cache.test.php @@ -1,7 +1,7 @@ viewPath = 'posts'; $this->layout = 'cache_layout'; @@ -56,11 +64,10 @@ class CacheTestController extends Controller { $this->set('superman', 'clark kent'); } } - /** - * Cache Helper Test Case + * CacheHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class CacheHelperTest extends CakeTestCase { @@ -76,7 +83,6 @@ class CacheHelperTest extends CakeTestCase { Configure::write('Cache.check', true); Configure::write('Cache.disable', false); } - /** * Start Case - switch view paths * @@ -87,10 +93,29 @@ class CacheHelperTest extends CakeTestCase { $this->_viewPaths = Configure::read('viewPaths'); Configure::write('viewPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views'. DS)); } - +/** + * End Case - restore view Paths + * + * @access public + * @return void + */ + function endCase() { + Configure::write('viewPaths', $this->_viewPaths); + } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Cache); + } /** * test cache parsing with no cake:nocache tags in view file. * + * @access public + * @return void */ function testLayoutCacheParsingNoTagsInView() { $this->Controller->cache_parsing(); @@ -113,10 +138,11 @@ class CacheHelperTest extends CakeTestCase { @unlink($filename); } - /** * Test cache parsing with cake:nocache tags in view file. * + * @access public + * @return void */ function testLayoutCacheParsingWithTagsInView() { $this->Controller->cache_parsing(); @@ -238,23 +264,5 @@ class CacheHelperTest extends CakeTestCase { @unlink($filename); } */ -/** - * End Case - restore view Paths - * - * @access public - * @return void - */ - function endCase() { - Configure::write('viewPaths', $this->_viewPaths); - } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Cache); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index 9123fb368..12764a2c0 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -1,7 +1,7 @@ array('with' => 'ContactTagsContact')); } +/** + * ContactTagsContact class + * + * @package cake + * @subpackage cake.tests.cases.libs.view.helpers + */ class ContactTagsContact extends CakeTestModel { /** * useTable property @@ -164,8 +170,13 @@ class ContactTagsContact extends CakeTestModel { $this->_schema = $schema; } } - -Class ContactNonStandardPk extends Contact { +/** + * ContactNonStandardPk class + * + * @package cake + * @subpackage cake.tests.cases.libs.view.helpers + */ +class ContactNonStandardPk extends Contact { /** * primaryKey property * @@ -567,9 +578,9 @@ class TestMail extends CakeTestModel { var $name = 'TestMail'; } /** - * Short description for class. + * FormHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class FormHelperTest extends CakeTestCase { @@ -617,6 +628,25 @@ class FormHelperTest extends CakeTestCase { Configure::write('Security.salt', 'foo!'); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + ClassRegistry::removeObject('view'); + ClassRegistry::removeObject('Contact'); + ClassRegistry::removeObject('ContactNonStandardPk'); + ClassRegistry::removeObject('ContactTag'); + ClassRegistry::removeObject('OpenidUrl'); + ClassRegistry::removeObject('UserForm'); + ClassRegistry::removeObject('ValidateItem'); + ClassRegistry::removeObject('ValidateUser'); + ClassRegistry::removeObject('ValidateProfile'); + unset($this->Form->Html, $this->Form, $this->Controller, $this->View); + Configure::write('Security.salt', $this->oldSalt); + } /** * testFormCreateWithSecurity method * @@ -723,7 +753,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * Tests correct generation of text fields for double and float fields * @@ -786,14 +815,13 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testFormSecurityMultipleSubmitButtons * * test form submit generation and ensure that _Token is only created on end() * * @return void - **/ + */ function testFormSecurityMultipleSubmitButtons() { $key = 'testKey'; $this->Form->params['_Token']['key'] = $key; @@ -828,7 +856,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testFormSecurityMultipleInputFields method * @@ -962,7 +989,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testFormSecuredInput method * @@ -2631,7 +2657,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testNestedSelect method * @@ -2694,7 +2719,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testSelectMultiple method * @@ -5071,7 +5095,12 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - +/** + * testBrokenness method + * + * @access public + * @return void + */ function testBrokenness() { /* * #4 This test has two parents and four children. By default (as of r7117) both @@ -5154,25 +5183,5 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - ClassRegistry::removeObject('view'); - ClassRegistry::removeObject('Contact'); - ClassRegistry::removeObject('ContactNonStandardPk'); - ClassRegistry::removeObject('ContactTag'); - ClassRegistry::removeObject('OpenidUrl'); - ClassRegistry::removeObject('UserForm'); - ClassRegistry::removeObject('ValidateItem'); - ClassRegistry::removeObject('ValidateUser'); - ClassRegistry::removeObject('ValidateProfile'); - unset($this->Form->Html, $this->Form, $this->Controller, $this->View); - Configure::write('Security.salt', $this->oldSalt); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/html.test.php b/cake/tests/cases/libs/view/helpers/html.test.php index 286a96646..57f3a9c9b 100644 --- a/cake/tests/cases/libs/view/helpers/html.test.php +++ b/cake/tests/cases/libs/view/helpers/html.test.php @@ -1,7 +1,7 @@ Html); + } /** * testDocType method * @@ -242,7 +251,7 @@ class HtmlHelperTest extends CakeTestCase { $result = $this->Html->image('cake.icon.gif'); $this->assertTags($result, array('img' => array('src' => 'preg:/img\/cake\.icon\.gif\?\d+/', 'alt' => ''))); - + $back = Configure::read('debug'); Configure::write('debug', 0); Configure::write('Asset.timestamp', 'force'); @@ -878,7 +887,6 @@ class HtmlHelperTest extends CakeTestCase { $result = $this->Html->div('class-name', '', array(), true); $this->assertTags($result, array('div' => array('class' => 'class-name'), '<text>', '/div')); } - /** * testPara method * @@ -895,14 +903,5 @@ class HtmlHelperTest extends CakeTestCase { $result = $this->Html->para('class-name', '', array(), true); $this->assertTags($result, array('p' => array('class' => 'class-name'), '<text>', '/p')); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Html); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/javascript.test.php b/cake/tests/cases/libs/view/helpers/javascript.test.php index 9bae09830..581f982c1 100644 --- a/cake/tests/cases/libs/view/helpers/javascript.test.php +++ b/cake/tests/cases/libs/view/helpers/javascript.test.php @@ -1,7 +1,7 @@ Javascript->escapeString('CakePHP: \'Rapid Development Framework\''); $expected = 'CakePHP: \\\'Rapid Development Framework\\\''; $this->assertEqual($result, $expected); - + $result = $this->Javascript->escapeString('my \\"string\\"'); $expected = 'my \\\"string\\\"'; $this->assertEqual($result, $expected); @@ -700,5 +700,4 @@ class JavascriptTest extends CakeTestCase { $this->Javascript->enabled = $old; } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/js.test.php b/cake/tests/cases/libs/view/helpers/js.test.php index 5f32b7596..6a56c1efc 100644 --- a/cake/tests/cases/libs/view/helpers/js.test.php +++ b/cake/tests/cases/libs/view/helpers/js.test.php @@ -1,7 +1,7 @@ Js); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/number.test.php b/cake/tests/cases/libs/view/helpers/number.test.php index 41346b2d4..ccc54540b 100644 --- a/cake/tests/cases/libs/view/helpers/number.test.php +++ b/cake/tests/cases/libs/view/helpers/number.test.php @@ -1,7 +1,7 @@ Number =& new NumberHelper(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Number); + } /** * testFormatAndCurrency method * @@ -101,7 +109,7 @@ class NumberTest extends CakeTestCase { $result = $this->Number->currency($value, '', array('thousands' =>' ', 'after' => '€', 'decimals' => ',', 'zero' => 'Gratuit')); $expected = '100 100 100,00€'; $this->assertEqual($expected, $result); - + } /** * testCurrencyPositive method @@ -136,7 +144,6 @@ class NumberTest extends CakeTestCase { $expected = '£100,100,100.00'; $this->assertEqual($expected, $result); } - /** * testCurrencyNegative method * @@ -363,16 +370,6 @@ class NumberTest extends CakeTestCase { - } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Number); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/paginator.test.php b/cake/tests/cases/libs/view/helpers/paginator.test.php index 912b28405..b0000eaa0 100644 --- a/cake/tests/cases/libs/view/helpers/paginator.test.php +++ b/cake/tests/cases/libs/view/helpers/paginator.test.php @@ -1,7 +1,7 @@ Paginator); + } /** * testHasPrevious method * @@ -835,14 +844,5 @@ class PaginatorTest extends CakeTestCase { $result = $this->Paginator->link('Page 3', array('page' => 3)); $this->assertPattern('/["\']\/issues\/index\/page:3["\']/', $result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Paginator); - } } -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/rss.test.php b/cake/tests/cases/libs/view/helpers/rss.test.php index a1eb5dc19..0f49570ff 100644 --- a/cake/tests/cases/libs/view/helpers/rss.test.php +++ b/cake/tests/cases/libs/view/helpers/rss.test.php @@ -1,7 +1,7 @@ assertEqual($result, $expected); } - /** * testItem method * diff --git a/cake/tests/cases/libs/view/helpers/session.test.php b/cake/tests/cases/libs/view/helpers/session.test.php index 06a0643b5..270194bd3 100644 --- a/cake/tests/cases/libs/view/helpers/session.test.php +++ b/cake/tests/cases/libs/view/helpers/session.test.php @@ -1,7 +1,7 @@ assertFalse($this->Session->valid()); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/text.test.php b/cake/tests/cases/libs/view/helpers/text.test.php index f83e079df..3360b8639 100644 --- a/cake/tests/cases/libs/view/helpers/text.test.php +++ b/cake/tests/cases/libs/view/helpers/text.test.php @@ -1,7 +1,7 @@ Text = new TextHelper(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Text); + } /** * testTruncate method * @@ -316,15 +324,5 @@ class TextTest extends CakeTestCase { $result = $this->Text->toList(array('Dusty', 'Lucky', 'Ned'), 'y'); $this->assertEqual($result, 'Dusty, Lucky y Ned'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Text); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/time.test.php b/cake/tests/cases/libs/view/helpers/time.test.php index f9f744c0a..1a92336c8 100644 --- a/cake/tests/cases/libs/view/helpers/time.test.php +++ b/cake/tests/cases/libs/view/helpers/time.test.php @@ -1,7 +1,7 @@ Time = new TimeHelper(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Time); + } /** * testToQuarter method * @@ -644,15 +652,5 @@ class TimeTest extends CakeTestCase { $expected = $this->Time->convert(strtotime('+1 hour'), $timezone); $this->assertEqual($result, $expected); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Time); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/xml.test.php b/cake/tests/cases/libs/view/helpers/xml.test.php index 6ad2d5acf..514de9495 100644 --- a/cake/tests/cases/libs/view/helpers/xml.test.php +++ b/cake/tests/cases/libs/view/helpers/xml.test.php @@ -1,7 +1,7 @@ namespaces = array(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Xml); + } /** * testAddNamespace method * @@ -239,15 +248,5 @@ class XmlHelperTest extends CakeTestCase { $expected = ''; $this->assertIdentical($result, $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Xml); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/theme.test.php b/cake/tests/cases/libs/view/theme.test.php index 9681a38d4..eeb5dd883 100644 --- a/cake/tests/cases/libs/view/theme.test.php +++ b/cake/tests/cases/libs/view/theme.test.php @@ -1,7 +1,7 @@ PostsController->index(); $this->ThemeView = new ThemeView($this->PostsController); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->ThemeView); + unset($this->PostsController); + unset($this->Controller); + } /** * testPluginGetTemplate method * @@ -260,16 +271,5 @@ class ThemeViewTest extends CakeTestCase { $this->assertPattern("/Missing Layout/", $expected); $this->assertPattern("/views(\/|\\\)themed(\/|\\\)my_theme(\/|\\\)layouts(\/|\\\)whatever.ctp/", $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->ThemeView); - unset($this->PostsController); - unset($this->Controller); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/view.test.php b/cake/tests/cases/libs/view/view.test.php index eaf07f564..a3bc87803 100644 --- a/cake/tests/cases/libs/view/view.test.php +++ b/cake/tests/cases/libs/view/view.test.php @@ -1,7 +1,7 @@ output .= 'modified in the afterlife'; } } - Mock::generate('Helper', 'CallbackMockHelper'); - /** - * Short description for class. + * ViewTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ViewTest extends CakeTestCase { @@ -213,6 +212,17 @@ class ViewTest extends CakeTestCase { $this->PostsController->index(); $this->View = new View($this->PostsController); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->View); + unset($this->PostsController); + unset($this->Controller); + } /** * testPluginGetTemplate method * @@ -736,16 +746,5 @@ class ViewTest extends CakeTestCase { $this->assertPattern("//", $result); $this->assertPattern("/<div id=\"content\">posts index<\/div>/", $result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->View); - unset($this->PostsController); - unset($this->Controller); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/xml.test.php b/cake/tests/cases/libs/xml.test.php index e9d619bfb..4ee508a68 100644 --- a/cake/tests/cases/libs/xml.test.php +++ b/cake/tests/cases/libs/xml.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * XmlTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -25,14 +25,19 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', 'Xml'); - /** - * Short description for class. + * XmlTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class XmlTest extends CakeTestCase { +/** + * setUp method + * + * @access public + * @return void + */ function setUp() { $manager =& new XmlManager(); $manager->namespaces = array(); @@ -364,146 +369,139 @@ class XmlTest extends CakeTestCase { $result = $node->removeAttribute('missing'); $this->assertFalse($result); } + /* Not implemented yet */ + /* function testChildFilter() { + $input = array( + array( + 'Project' => array('id' => 1, 'title' => null, 'client_id' => 1, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), + 'Industry' => array('id' => 1, 'name' => 'Financial'), + 'BusinessSolution' => array(array('id' => 6, 'name' => 'Convert Sales')), + 'MediaType' => array( + array('id' => 15, 'name' => 'Print'), + array('id' => 7, 'name' => 'Web Demo'), + array('id' => 6, 'name' => 'CD-ROM') + ) + ), + array( + 'Project' => array('id' => 2, 'title' => null, 'client_id' => 2, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), + 'Industry' => array('id' => 2, 'name' => 'Education'), + 'BusinessSolution' => array( + array('id' => 4, 'name' => 'Build Relationship'), + array('id' => 6, 'name' => 'Convert Sales') + ), + 'MediaType' => array( + array('id' => 17, 'name' => 'Web'), + array('id' => 6, 'name' => 'CD-ROM') + ) + ) + ); -/* - * Not implemented yet - */ -// function testChildFilter() { -// $input = array( -// array( -// 'Project' => array('id' => 1, 'title' => null, 'client_id' => 1, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), -// 'Industry' => array('id' => 1, 'name' => 'Financial'), -// 'BusinessSolution' => array(array('id' => 6, 'name' => 'Convert Sales')), -// 'MediaType' => array( -// array('id' => 15, 'name' => 'Print'), -// array('id' => 7, 'name' => 'Web Demo'), -// array('id' => 6, 'name' => 'CD-ROM') -// ) -// ), -// array( -// 'Project' => array('id' => 2, 'title' => null, 'client_id' => 2, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), -// 'Industry' => array('id' => 2, 'name' => 'Education'), -// 'BusinessSolution' => array( -// array('id' => 4, 'name' => 'Build Relationship'), -// array('id' => 6, 'name' => 'Convert Sales') -// ), -// 'MediaType' => array( -// array('id' => 17, 'name' => 'Web'), -// array('id' => 6, 'name' => 'CD-ROM') -// ) -// ) -// ); -// -// $xml = new Xml($input, array('format' => 'tags', 'tags' => array( -// 'MediaType' => array('value' => 'id', 'children' => false), -// 'JobType' => array('children' => array()), -// 'Industry' => array('children' => array('name')), -// 'show' => false -// ))); -// -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $expected = '<project><id>1</id><title /><client_id>1</client_id><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style><id /><name /></style><job_type><id>1</id><name>Touch Screen Kiosk</name></job_type><industry><name>Financial</name></industry><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>15</media_type><media_type>7</media_type><media_type>6</media_type></project><project><id>2</id><title /><client_id>2</client_id><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style><id /><name /></style><job_type><id>2</id><name>Awareness Campaign</name></job_type><industry><name>Education</name></industry><business_solution><id>4</id><name>Build Relationship</name></business_solution><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>17</media_type><media_type>6</media_type></project>'; -// $this->assertEqual($expected, $result); -// } + $xml = new Xml($input, array('format' => 'tags', 'tags' => array( + 'MediaType' => array('value' => 'id', 'children' => false), + 'JobType' => array('children' => array()), + 'Industry' => array('children' => array('name')), + 'show' => false + ))); -/* - * Broken due to a Set class issue - */ -// function testMixedArray() { -// $input = array('OptionGroup' => array( -// array('name' => 'OptA', 'id' => 12, 'OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6'), -// array('name' => 'OptB', 'id' => 12, 'OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') -// )); -// $expected = '<option_group><name>OptA</name><id>12</id><option_group>OptA 1</option_group><option_group>OptA 2</option_group><option_group>OptA 3</option_group><option_group>OptA 4</option_group><option_group>OptA 5</option_group><option_group>OptA 6</option_group></option_group><option_group><name>OptB</name><id>12</id><option_group>OptB 1</option_group><option_group>OptB 2</option_group><option_group>OptB 3</option_group><option_group>OptB 4</option_group><option_group>OptB 5</option_group><option_group>OptB 6</option_group></option_group>'; -// $xml = new Xml($input, array('format' => 'tags')); -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $this->assertEqual($expected, $result); -// } + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $expected = '<project><id>1</id><title /><client_id>1</client_id><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style><id /><name /></style><job_type><id>1</id><name>Touch Screen Kiosk</name></job_type><industry><name>Financial</name></industry><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>15</media_type><media_type>7</media_type><media_type>6</media_type></project><project><id>2</id><title /><client_id>2</client_id><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style><id /><name /></style><job_type><id>2</id><name>Awareness Campaign</name></job_type><industry><name>Education</name></industry><business_solution><id>4</id><name>Build Relationship</name></business_solution><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>17</media_type><media_type>6</media_type></project>'; + $this->assertEqual($expected, $result); + } */ -// function testMixedNestedArray() { -// $input = array( -// 'OptionA' => array( -// 'name' => 'OptA', -// 'id' => 12, -// 'opt' => array('OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6') -// ), -// 'OptionB' => array( -// 'name' => 'OptB', -// 'id' => 12, -// 'opt' => array('OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') -// ) -// ); -// $expected = '<option_a><name>OptA</name><id>12</id><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_a><option_b><name>OptB</name><id>12</id><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_b>'; -// $xml = new Xml($input, array('format' => 'tags')); -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $this->assertEqual($expected, $result); -// } + /* Broken due to a Set class issue */ + /* function testMixedArray() { + $input = array('OptionGroup' => array( + array('name' => 'OptA', 'id' => 12, 'OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6'), + array('name' => 'OptB', 'id' => 12, 'OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') + )); + $expected = '<option_group><name>OptA</name><id>12</id><option_group>OptA 1</option_group><option_group>OptA 2</option_group><option_group>OptA 3</option_group><option_group>OptA 4</option_group><option_group>OptA 5</option_group><option_group>OptA 6</option_group></option_group><option_group><name>OptB</name><id>12</id><option_group>OptB 1</option_group><option_group>OptB 2</option_group><option_group>OptB 3</option_group><option_group>OptB 4</option_group><option_group>OptB 5</option_group><option_group>OptB 6</option_group></option_group>'; + $xml = new Xml($input, array('format' => 'tags')); + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $this->assertEqual($expected, $result); + } */ -// function testMixedArrayAttributes() { -// $input = array('OptionGroup' => array( -// array( -// 'name' => 'OptA', -// 'id' => 12, -// array('opt' => 'OptA 1'), -// array('opt' => 'OptA 2'), -// array('opt' => 'OptA 3'), -// array('opt' => 'OptA 4'), -// array('opt' => 'OptA 5'), -// array('opt' => 'OptA 6') -// ), -// array( -// 'name' => 'OptB', -// 'id' => 12, -// array('opt' => 'OptB 1'), -// array('opt' => 'OptB 2'), -// array('opt' => 'OptB 3'), -// array('opt' => 'OptB 4'), -// array('opt' => 'OptB 5'), -// array('opt' => 'OptB 6') -// ) -// )); -// $expected = '<option_group name="OptA" id="12"><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_group><option_group name="OptB" id="12"><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_group>'; -// -// $options = array('tags' => array('option_group' => array('attributes' => array('id', 'name')))); -// $xml = new Xml($input, $options); -// $result = $xml->toString(false); -// -// $this->assertEqual($expected, $result); -// } + /* function testMixedNestedArray() { + $input = array( + 'OptionA' => array( + 'name' => 'OptA', + 'id' => 12, + 'opt' => array('OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6') + ), + 'OptionB' => array( + 'name' => 'OptB', + 'id' => 12, + 'opt' => array('OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') + ) + ); + $expected = '<option_a><name>OptA</name><id>12</id><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_a><option_b><name>OptB</name><id>12</id><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_b>'; + $xml = new Xml($input, array('format' => 'tags')); + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $this->assertEqual($expected, $result); + } */ -/* - * Not implemented yet - */ -// function testTagMap() { -// $input = array( -// array( -// 'Project' => array('id' => 1, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), -// 'Industry' => array('id' => 1, 'name' => 'Financial') -// ), -// array( -// 'Project' => array('id' => 2, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), -// 'Industry' => array('id' => 2, 'name' => 'Education'), -// ) -// ); -// $expected = '<project id="1"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style id=""><name /></style><jobtype id="1">Touch Screen Kiosk</jobtype><industry id="1"><name>Financial</name></industry></project><project id="2"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style id=""><name /></style><jobtype id="2">Awareness Campaign</jobtype><industry id="2"><name>Education</name></industry></project>'; -// -// $xml = new Xml($input, array('tags' => array( -// 'Project' => array('attributes' => array('id')), -// 'style' => array('attributes' => array('id')), -// 'JobType' => array('name' => 'jobtype', 'attributes' => array('id'), 'value' => 'name'), -// 'Industry' => array('attributes' => array('id')) -// ))); -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $this->assertEqual($expected, $result); -// } + /* function testMixedArrayAttributes() { + $input = array('OptionGroup' => array( + array( + 'name' => 'OptA', + 'id' => 12, + array('opt' => 'OptA 1'), + array('opt' => 'OptA 2'), + array('opt' => 'OptA 3'), + array('opt' => 'OptA 4'), + array('opt' => 'OptA 5'), + array('opt' => 'OptA 6') + ), + array( + 'name' => 'OptB', + 'id' => 12, + array('opt' => 'OptB 1'), + array('opt' => 'OptB 2'), + array('opt' => 'OptB 3'), + array('opt' => 'OptB 4'), + array('opt' => 'OptB 5'), + array('opt' => 'OptB 6') + ) + )); + $expected = '<option_group name="OptA" id="12"><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_group><option_group name="OptB" id="12"><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_group>'; + + $options = array('tags' => array('option_group' => array('attributes' => array('id', 'name')))); + $xml = new Xml($input, $options); + $result = $xml->toString(false); + + $this->assertEqual($expected, $result); + } */ + + /* Not implemented yet */ + /* function testTagMap() { + $input = array( + array( + 'Project' => array('id' => 1, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), + 'Industry' => array('id' => 1, 'name' => 'Financial') + ), + array( + 'Project' => array('id' => 2, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), + 'Industry' => array('id' => 2, 'name' => 'Education'), + ) + ); + $expected = '<project id="1"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style id=""><name /></style><jobtype id="1">Touch Screen Kiosk</jobtype><industry id="1"><name>Financial</name></industry></project><project id="2"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style id=""><name /></style><jobtype id="2">Awareness Campaign</jobtype><industry id="2"><name>Education</name></industry></project>'; + + $xml = new Xml($input, array('tags' => array( + 'Project' => array('attributes' => array('id')), + 'style' => array('attributes' => array('id')), + 'JobType' => array('name' => 'jobtype', 'attributes' => array('id'), 'value' => 'name'), + 'Industry' => array('attributes' => array('id')) + ))); + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $this->assertEqual($expected, $result); + } */ /** * testAllCData method * @@ -530,18 +528,15 @@ class XmlTest extends CakeTestCase { $result = $xml->toString(array('header' => false, 'cdata' => true)); $this->assertEqual($expected, $result); } + /* PHP-native Unicode support pending */ + /* function testConvertEntities() { + $input = array('project' => 'écît'); + $xml = new Xml($input); -/* - * PHP-native Unicode support pending - */ -// function testConvertEntities() { -// $input = array('project' => 'écît'); -// $xml = new Xml($input); -// -// $result = $xml->toString(array('header' => false, 'cdata' => false, 'convertEntities' => true)); -// $expected = '<project>écît</project>'; -// $this->assertEqual($result, $expected); -// } + $result = $xml->toString(array('header' => false, 'cdata' => false, 'convertEntities' => true)); + $expected = '<project>écît</project>'; + $this->assertEqual($result, $expected); + } */ /** * testWhitespace method * @@ -973,8 +968,12 @@ class XmlTest extends CakeTestCase { $this->assertEqual($result, $expected); } - - +/** + * testAppend method + * + * @access public + * @return void + */ function testAppend() { $parentNode = new XmlNode('ourParentNode'); $parentNode->append( new XmlNode('ourChildNode')); @@ -990,8 +989,12 @@ class XmlTest extends CakeTestCase { $this->expectError(); $parentNode->append($parentNode); } - - +/** + * testNamespacing method + * + * @access public + * @return void + */ function testNamespacing() { $node = new Xml('<xml></xml>'); $node->addNamespace('cake', 'http://cakephp.org'); @@ -1008,7 +1011,12 @@ class XmlTest extends CakeTestCase { $node->addNamespace('cake', 'http://cakephp.org'); $this->assertEqual($node->toString(), '<xml xmlns:cake="http://cakephp.org" />'); } - +/** + * testCamelize method + * + * @access public + * @return void + */ function testCamelize() { $xmlString = '<methodCall><methodName>examples.getStateName</methodName>' . '<params><param><value><i4>41</i4></value></param></params></methodCall>'; @@ -1029,7 +1037,12 @@ class XmlTest extends CakeTestCase { 'Param' => array('Value' => array('i4' => 41))))); $this->assertEqual($expected, $Xml->toArray()); } - +/** + * testNumericDataHandling method + * + * @access public + * @return void + */ function testNumericDataHandling() { $data = '<xml><data>012345</data></xml>'; @@ -1044,5 +1057,4 @@ class XmlTest extends CakeTestCase { $this->assertEqual($result->value, '012345'); } } - ?> \ No newline at end of file diff --git a/cake/tests/fixtures/account_fixture.php b/cake/tests/fixtures/account_fixture.php index 3825d84b1..5bd0e28c4 100644 --- a/cake/tests/fixtures/account_fixture.php +++ b/cake/tests/fixtures/account_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AccountFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aco_action_fixture.php b/cake/tests/fixtures/aco_action_fixture.php index 80481f4a5..2c35d5fe6 100644 --- a/cake/tests/fixtures/aco_action_fixture.php +++ b/cake/tests/fixtures/aco_action_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AcoActionFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aco_fixture.php b/cake/tests/fixtures/aco_fixture.php index 8af60f808..316925e81 100644 --- a/cake/tests/fixtures/aco_fixture.php +++ b/cake/tests/fixtures/aco_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AcoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aco_two_fixture.php b/cake/tests/fixtures/aco_two_fixture.php index f24d56621..f139c9266 100644 --- a/cake/tests/fixtures/aco_two_fixture.php +++ b/cake/tests/fixtures/aco_two_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AcoTwoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/advertisement_fixture.php b/cake/tests/fixtures/advertisement_fixture.php index 080539bf5..f5062336a 100644 --- a/cake/tests/fixtures/advertisement_fixture.php +++ b/cake/tests/fixtures/advertisement_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AdvertisementFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/another_article_fixture.php b/cake/tests/fixtures/another_article_fixture.php index a2b48796f..ec3d19c0c 100644 --- a/cake/tests/fixtures/another_article_fixture.php +++ b/cake/tests/fixtures/another_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AnotherArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/apple_fixture.php b/cake/tests/fixtures/apple_fixture.php index b5cf7ec7d..d8d3e1250 100644 --- a/cake/tests/fixtures/apple_fixture.php +++ b/cake/tests/fixtures/apple_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AppleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aro_fixture.php b/cake/tests/fixtures/aro_fixture.php index e3846bd8d..96ae59828 100644 --- a/cake/tests/fixtures/aro_fixture.php +++ b/cake/tests/fixtures/aro_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AroFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aro_two_fixture.php b/cake/tests/fixtures/aro_two_fixture.php index 31f76dd46..a61d35c0b 100644 --- a/cake/tests/fixtures/aro_two_fixture.php +++ b/cake/tests/fixtures/aro_two_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AroTwoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aros_aco_fixture.php b/cake/tests/fixtures/aros_aco_fixture.php index abe1250ad..be181c6fb 100644 --- a/cake/tests/fixtures/aros_aco_fixture.php +++ b/cake/tests/fixtures/aros_aco_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArosAcoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aros_aco_two_fixture.php b/cake/tests/fixtures/aros_aco_two_fixture.php index df6925fb0..74866e5fe 100644 --- a/cake/tests/fixtures/aros_aco_two_fixture.php +++ b/cake/tests/fixtures/aros_aco_two_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArosAcoTwoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/article_featured_fixture.php b/cake/tests/fixtures/article_featured_fixture.php index de5ff45fa..67b967499 100644 --- a/cake/tests/fixtures/article_featured_fixture.php +++ b/cake/tests/fixtures/article_featured_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticleFeaturedFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/article_featureds_tags_fixture.php b/cake/tests/fixtures/article_featureds_tags_fixture.php index 45bc2aed6..e1ac130f6 100644 --- a/cake/tests/fixtures/article_featureds_tags_fixture.php +++ b/cake/tests/fixtures/article_featureds_tags_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticleFeaturedsTagsFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/article_fixture.php b/cake/tests/fixtures/article_fixture.php index 3e499b255..fe2721d74 100644 --- a/cake/tests/fixtures/article_fixture.php +++ b/cake/tests/fixtures/article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/articles_tag_fixture.php b/cake/tests/fixtures/articles_tag_fixture.php index d78dd521f..a19bcd142 100644 --- a/cake/tests/fixtures/articles_tag_fixture.php +++ b/cake/tests/fixtures/articles_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticlesTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/attachment_fixture.php b/cake/tests/fixtures/attachment_fixture.php index b48bc0d19..de0d8b492 100644 --- a/cake/tests/fixtures/attachment_fixture.php +++ b/cake/tests/fixtures/attachment_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AttachmentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/auth_user_custom_field_fixture.php b/cake/tests/fixtures/auth_user_custom_field_fixture.php index 9618d6c1e..ebc2c3f29 100644 --- a/cake/tests/fixtures/auth_user_custom_field_fixture.php +++ b/cake/tests/fixtures/auth_user_custom_field_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.1.8013 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AuthUserCustomFieldFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/auth_user_fixture.php b/cake/tests/fixtures/auth_user_fixture.php index dba79d42e..d16c7759e 100644 --- a/cake/tests/fixtures/auth_user_fixture.php +++ b/cake/tests/fixtures/auth_user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AuthUserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/author_fixture.php b/cake/tests/fixtures/author_fixture.php index 2144d5970..96ee0ea44 100644 --- a/cake/tests/fixtures/author_fixture.php +++ b/cake/tests/fixtures/author_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AuthorFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/basket_fixture.php b/cake/tests/fixtures/basket_fixture.php index 8fd3326fe..c20014ff3 100644 --- a/cake/tests/fixtures/basket_fixture.php +++ b/cake/tests/fixtures/basket_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BasketFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/bid_fixture.php b/cake/tests/fixtures/bid_fixture.php index 2b3dde78f..9b118cca8 100644 --- a/cake/tests/fixtures/bid_fixture.php +++ b/cake/tests/fixtures/bid_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BidFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/binary_test_fixture.php b/cake/tests/fixtures/binary_test_fixture.php index 819b38de0..b9c09cbe2 100644 --- a/cake/tests/fixtures/binary_test_fixture.php +++ b/cake/tests/fixtures/binary_test_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BinaryTestFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/book_fixture.php b/cake/tests/fixtures/book_fixture.php index fd958420b..823408c8f 100644 --- a/cake/tests/fixtures/book_fixture.php +++ b/cake/tests/fixtures/book_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7198 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BookFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/cache_test_model_fixture.php b/cake/tests/fixtures/cache_test_model_fixture.php index 09449cf99..ff4f855c0 100644 --- a/cake/tests/fixtures/cache_test_model_fixture.php +++ b/cake/tests/fixtures/cache_test_model_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CacheTestModelFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/callback_fixture.php b/cake/tests/fixtures/callback_fixture.php index c62e27465..6ef3d1eb5 100644 --- a/cake/tests/fixtures/callback_fixture.php +++ b/cake/tests/fixtures/callback_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CallbackFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/category_fixture.php b/cake/tests/fixtures/category_fixture.php index b6abdb50f..5cb04f106 100644 --- a/cake/tests/fixtures/category_fixture.php +++ b/cake/tests/fixtures/category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/category_thread_fixture.php b/cake/tests/fixtures/category_thread_fixture.php index 04e00f1bd..5da10d7d8 100644 --- a/cake/tests/fixtures/category_thread_fixture.php +++ b/cake/tests/fixtures/category_thread_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CategoryThreadFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/cd_fixture.php b/cake/tests/fixtures/cd_fixture.php index a639e13e9..16b74f565 100644 --- a/cake/tests/fixtures/cd_fixture.php +++ b/cake/tests/fixtures/cd_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7198 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CdFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/comment_fixture.php b/cake/tests/fixtures/comment_fixture.php index 0c5a11be3..b2283c9af 100644 --- a/cake/tests/fixtures/comment_fixture.php +++ b/cake/tests/fixtures/comment_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CommentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/content_account_fixture.php b/cake/tests/fixtures/content_account_fixture.php index 3677861c6..8eb7be738 100644 --- a/cake/tests/fixtures/content_account_fixture.php +++ b/cake/tests/fixtures/content_account_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ContentAccountFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/content_fixture.php b/cake/tests/fixtures/content_fixture.php index 1a9dc6c8f..b7e3131cd 100644 --- a/cake/tests/fixtures/content_fixture.php +++ b/cake/tests/fixtures/content_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ContentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/counter_cache_post_fixture.php b/cake/tests/fixtures/counter_cache_post_fixture.php index fdbb5a39c..eb9413072 100644 --- a/cake/tests/fixtures/counter_cache_post_fixture.php +++ b/cake/tests/fixtures/counter_cache_post_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision: 7848 $ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CounterCachePostFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/counter_cache_user_fixture.php b/cake/tests/fixtures/counter_cache_user_fixture.php index 3ee6ec954..ad592386a 100644 --- a/cake/tests/fixtures/counter_cache_user_fixture.php +++ b/cake/tests/fixtures/counter_cache_user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision: 7848 $ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CounterCacheUserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/data_test_fixture.php b/cake/tests/fixtures/data_test_fixture.php index c596d2289..afed9aa9b 100644 --- a/cake/tests/fixtures/data_test_fixture.php +++ b/cake/tests/fixtures/data_test_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DataTestFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/datatype_fixture.php b/cake/tests/fixtures/datatype_fixture.php index 3aa2e5872..281da2f48 100644 --- a/cake/tests/fixtures/datatype_fixture.php +++ b/cake/tests/fixtures/datatype_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7026 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DatatypeFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/dependency_fixture.php b/cake/tests/fixtures/dependency_fixture.php index c15412ef5..8b1720798 100644 --- a/cake/tests/fixtures/dependency_fixture.php +++ b/cake/tests/fixtures/dependency_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879//Correct version number as needed** * @version $Revision$ @@ -29,7 +29,7 @@ * * Long description for file * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879//Correct version number as needed** */ diff --git a/cake/tests/fixtures/device_fixture.php b/cake/tests/fixtures/device_fixture.php index 6a48987b8..3b0638d15 100644 --- a/cake/tests/fixtures/device_fixture.php +++ b/cake/tests/fixtures/device_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DeviceFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/device_type_category_fixture.php b/cake/tests/fixtures/device_type_category_fixture.php index 1f02f0127..ee33c18b2 100644 --- a/cake/tests/fixtures/device_type_category_fixture.php +++ b/cake/tests/fixtures/device_type_category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DeviceTypeCategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/device_type_fixture.php b/cake/tests/fixtures/device_type_fixture.php index 884bf3581..cb8970a57 100644 --- a/cake/tests/fixtures/device_type_fixture.php +++ b/cake/tests/fixtures/device_type_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DeviceTypeFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/document_directory_fixture.php b/cake/tests/fixtures/document_directory_fixture.php index 3887c3a55..ff67dfa47 100644 --- a/cake/tests/fixtures/document_directory_fixture.php +++ b/cake/tests/fixtures/document_directory_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DocumentDirectoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/document_fixture.php b/cake/tests/fixtures/document_fixture.php index 1825bfbce..fde15f92d 100644 --- a/cake/tests/fixtures/document_fixture.php +++ b/cake/tests/fixtures/document_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DocumentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/exterior_type_category_fixture.php b/cake/tests/fixtures/exterior_type_category_fixture.php index 8390c1f57..0905c3eca 100644 --- a/cake/tests/fixtures/exterior_type_category_fixture.php +++ b/cake/tests/fixtures/exterior_type_category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ExteriorTypeCategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/feature_set_fixture.php b/cake/tests/fixtures/feature_set_fixture.php index e27fc300c..533601535 100644 --- a/cake/tests/fixtures/feature_set_fixture.php +++ b/cake/tests/fixtures/feature_set_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FeatureSetFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/featured_fixture.php b/cake/tests/fixtures/featured_fixture.php index 35e449c2b..3f3e83372 100644 --- a/cake/tests/fixtures/featured_fixture.php +++ b/cake/tests/fixtures/featured_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FeaturedFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/film_file_fixture.php b/cake/tests/fixtures/film_file_fixture.php index 7d8b2be1a..1483947a3 100644 --- a/cake/tests/fixtures/film_file_fixture.php +++ b/cake/tests/fixtures/film_file_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FilmFileFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/flag_tree_fixture.php b/cake/tests/fixtures/flag_tree_fixture.php index 625d88732..d81744261 100644 --- a/cake/tests/fixtures/flag_tree_fixture.php +++ b/cake/tests/fixtures/flag_tree_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5331 * @version $Revision$ diff --git a/cake/tests/fixtures/fruit_fixture.php b/cake/tests/fixtures/fruit_fixture.php index 9a0329d36..bf90baea8 100644 --- a/cake/tests/fixtures/fruit_fixture.php +++ b/cake/tests/fixtures/fruit_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7953 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FruitFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/fruits_uuid_tag_fixture.php b/cake/tests/fixtures/fruits_uuid_tag_fixture.php index bc0fce628..7c84c660d 100644 --- a/cake/tests/fixtures/fruits_uuid_tag_fixture.php +++ b/cake/tests/fixtures/fruits_uuid_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7953 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FruitsUuidTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/home_fixture.php b/cake/tests/fixtures/home_fixture.php index 9abe255f4..f88b8f7b0 100644 --- a/cake/tests/fixtures/home_fixture.php +++ b/cake/tests/fixtures/home_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class HomeFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/image_fixture.php b/cake/tests/fixtures/image_fixture.php index 787193eac..e30862fc9 100644 --- a/cake/tests/fixtures/image_fixture.php +++ b/cake/tests/fixtures/image_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ImageFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/item_fixture.php b/cake/tests/fixtures/item_fixture.php index bf6d40ef7..1602fb698 100644 --- a/cake/tests/fixtures/item_fixture.php +++ b/cake/tests/fixtures/item_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ItemFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/items_portfolio_fixture.php b/cake/tests/fixtures/items_portfolio_fixture.php index df99f8261..fb7dd71bb 100644 --- a/cake/tests/fixtures/items_portfolio_fixture.php +++ b/cake/tests/fixtures/items_portfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ItemsPortfolioFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_a_b_fixture.php b/cake/tests/fixtures/join_a_b_fixture.php index 66276e99c..c1a5db5df 100644 --- a/cake/tests/fixtures/join_a_b_fixture.php +++ b/cake/tests/fixtures/join_a_b_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinABFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_a_c_fixture.php b/cake/tests/fixtures/join_a_c_fixture.php index 0c1094f95..2fc335b3e 100644 --- a/cake/tests/fixtures/join_a_c_fixture.php +++ b/cake/tests/fixtures/join_a_c_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinACFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_a_fixture.php b/cake/tests/fixtures/join_a_fixture.php index b05d3a709..a4401e452 100644 --- a/cake/tests/fixtures/join_a_fixture.php +++ b/cake/tests/fixtures/join_a_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinAFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_b_fixture.php b/cake/tests/fixtures/join_b_fixture.php index 47da00c4b..16294ce97 100644 --- a/cake/tests/fixtures/join_b_fixture.php +++ b/cake/tests/fixtures/join_b_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinBFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_c_fixture.php b/cake/tests/fixtures/join_c_fixture.php index c0d0d7f27..333f3e28b 100644 --- a/cake/tests/fixtures/join_c_fixture.php +++ b/cake/tests/fixtures/join_c_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinCFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_thing_fixture.php b/cake/tests/fixtures/join_thing_fixture.php index e0c9dd10e..59ebe680c 100644 --- a/cake/tests/fixtures/join_thing_fixture.php +++ b/cake/tests/fixtures/join_thing_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinThingFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/message_fixture.php b/cake/tests/fixtures/message_fixture.php index f0153bd96..94b53d5ca 100644 --- a/cake/tests/fixtures/message_fixture.php +++ b/cake/tests/fixtures/message_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MessageFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_categories_my_products_fixture.php b/cake/tests/fixtures/my_categories_my_products_fixture.php index b3ef7a429..b570340fc 100644 --- a/cake/tests/fixtures/my_categories_my_products_fixture.php +++ b/cake/tests/fixtures/my_categories_my_products_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyCategoriesMyProductsFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_categories_my_users_fixture.php b/cake/tests/fixtures/my_categories_my_users_fixture.php index 0c559b1be..d708d8dc5 100644 --- a/cake/tests/fixtures/my_categories_my_users_fixture.php +++ b/cake/tests/fixtures/my_categories_my_users_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyCategoriesMyUsersFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_category_fixture.php b/cake/tests/fixtures/my_category_fixture.php index 3900ad2b3..c333890c3 100644 --- a/cake/tests/fixtures/my_category_fixture.php +++ b/cake/tests/fixtures/my_category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyCategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_product_fixture.php b/cake/tests/fixtures/my_product_fixture.php index 3d90bd83b..9e2f7948a 100644 --- a/cake/tests/fixtures/my_product_fixture.php +++ b/cake/tests/fixtures/my_product_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyProductFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_user_fixture.php b/cake/tests/fixtures/my_user_fixture.php index a10d73100..1806851a8 100644 --- a/cake/tests/fixtures/my_user_fixture.php +++ b/cake/tests/fixtures/my_user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyUserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/node_fixture.php b/cake/tests/fixtures/node_fixture.php index 24b9e1bd6..a75ac25ae 100644 --- a/cake/tests/fixtures/node_fixture.php +++ b/cake/tests/fixtures/node_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879 //Correct version number as needed** * @version $Revision$ @@ -29,7 +29,7 @@ * * Long description for file * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879 //Correct version number as needed** */ diff --git a/cake/tests/fixtures/number_tree_fixture.php b/cake/tests/fixtures/number_tree_fixture.php index 5b2ac33a5..4e1b973e8 100644 --- a/cake/tests/fixtures/number_tree_fixture.php +++ b/cake/tests/fixtures/number_tree_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5331 * @version $Revision$ diff --git a/cake/tests/fixtures/numeric_article_fixture.php b/cake/tests/fixtures/numeric_article_fixture.php index e6f69bf0a..44fdce11c 100644 --- a/cake/tests/fixtures/numeric_article_fixture.php +++ b/cake/tests/fixtures/numeric_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class NumericArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/overall_favorite_fixture.php b/cake/tests/fixtures/overall_favorite_fixture.php index b27f5b681..b36ba1b44 100644 --- a/cake/tests/fixtures/overall_favorite_fixture.php +++ b/cake/tests/fixtures/overall_favorite_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7198 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class OverallFavoriteFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/person_fixture.php b/cake/tests/fixtures/person_fixture.php index 795dff586..160befaeb 100644 --- a/cake/tests/fixtures/person_fixture.php +++ b/cake/tests/fixtures/person_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PersonFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/portfolio_fixture.php b/cake/tests/fixtures/portfolio_fixture.php index 68ce2f9eb..7b4bcb584 100644 --- a/cake/tests/fixtures/portfolio_fixture.php +++ b/cake/tests/fixtures/portfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PortfolioFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/post_fixture.php b/cake/tests/fixtures/post_fixture.php index d0b352ba0..9277517ed 100644 --- a/cake/tests/fixtures/post_fixture.php +++ b/cake/tests/fixtures/post_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PostFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/posts_tag_fixture.php b/cake/tests/fixtures/posts_tag_fixture.php index f748f4ee5..2c4ae6c7f 100644 --- a/cake/tests/fixtures/posts_tag_fixture.php +++ b/cake/tests/fixtures/posts_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PostsTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/primary_model_fixture.php b/cake/tests/fixtures/primary_model_fixture.php index 0345a6dbf..8c0b3e7bc 100644 --- a/cake/tests/fixtures/primary_model_fixture.php +++ b/cake/tests/fixtures/primary_model_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PrimaryModelFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/product_fixture.php b/cake/tests/fixtures/product_fixture.php index b3bfdc3bb..9355030eb 100644 --- a/cake/tests/fixtures/product_fixture.php +++ b/cake/tests/fixtures/product_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Rev$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ProductFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/project_fixture.php b/cake/tests/fixtures/project_fixture.php index b2cd02879..6f48b05b8 100644 --- a/cake/tests/fixtures/project_fixture.php +++ b/cake/tests/fixtures/project_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ProjectFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/sample_fixture.php b/cake/tests/fixtures/sample_fixture.php index 8561a9b88..87448938a 100644 --- a/cake/tests/fixtures/sample_fixture.php +++ b/cake/tests/fixtures/sample_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SampleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/secondary_model_fixture.php b/cake/tests/fixtures/secondary_model_fixture.php index e73049eb6..8c7ccfc3a 100644 --- a/cake/tests/fixtures/secondary_model_fixture.php +++ b/cake/tests/fixtures/secondary_model_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SecondaryModelFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/session_fixture.php b/cake/tests/fixtures/session_fixture.php index ec843ed1a..1dc3c751a 100644 --- a/cake/tests/fixtures/session_fixture.php +++ b/cake/tests/fixtures/session_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Rev$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SessionFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/something_else_fixture.php b/cake/tests/fixtures/something_else_fixture.php index d83d618b4..7b6dbd2cd 100644 --- a/cake/tests/fixtures/something_else_fixture.php +++ b/cake/tests/fixtures/something_else_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SomethingElseFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/something_fixture.php b/cake/tests/fixtures/something_fixture.php index a4625bff9..cecfb3f9d 100644 --- a/cake/tests/fixtures/something_fixture.php +++ b/cake/tests/fixtures/something_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SomethingFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/stories_tag_fixture.php b/cake/tests/fixtures/stories_tag_fixture.php index 9b5ecd3b6..b39566abb 100644 --- a/cake/tests/fixtures/stories_tag_fixture.php +++ b/cake/tests/fixtures/stories_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class StoriesTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/story_fixture.php b/cake/tests/fixtures/story_fixture.php index 9a0940127..c8e90de6d 100644 --- a/cake/tests/fixtures/story_fixture.php +++ b/cake/tests/fixtures/story_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class StoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/syfile_fixture.php b/cake/tests/fixtures/syfile_fixture.php index a9ff72bc6..8e5a075ad 100644 --- a/cake/tests/fixtures/syfile_fixture.php +++ b/cake/tests/fixtures/syfile_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SyfileFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/tag_fixture.php b/cake/tests/fixtures/tag_fixture.php index e37ee676d..afc205e57 100644 --- a/cake/tests/fixtures/tag_fixture.php +++ b/cake/tests/fixtures/tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/test_plugin_article_fixture.php b/cake/tests/fixtures/test_plugin_article_fixture.php index 1d9d71ab8..148fea15d 100644 --- a/cake/tests/fixtures/test_plugin_article_fixture.php +++ b/cake/tests/fixtures/test_plugin_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 7660 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TestPluginArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/test_plugin_comment_fixture.php b/cake/tests/fixtures/test_plugin_comment_fixture.php index 1df50f191..847d2ce4b 100644 --- a/cake/tests/fixtures/test_plugin_comment_fixture.php +++ b/cake/tests/fixtures/test_plugin_comment_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 7660 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TestPluginCommentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/the_paper_monkies_fixture.php b/cake/tests/fixtures/the_paper_monkies_fixture.php index 95a4d2b55..f8efce2db 100644 --- a/cake/tests/fixtures/the_paper_monkies_fixture.php +++ b/cake/tests/fixtures/the_paper_monkies_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ThePaperMonkiesFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/thread_fixture.php b/cake/tests/fixtures/thread_fixture.php index 7dff2320a..118aa0ff2 100644 --- a/cake/tests/fixtures/thread_fixture.php +++ b/cake/tests/fixtures/thread_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ThreadFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translate_article_fixture.php b/cake/tests/fixtures/translate_article_fixture.php index d5c4d8c8e..549872c34 100644 --- a/cake/tests/fixtures/translate_article_fixture.php +++ b/cake/tests/fixtures/translate_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslateArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translate_fixture.php b/cake/tests/fixtures/translate_fixture.php index b70dde9b2..17b97a956 100644 --- a/cake/tests/fixtures/translate_fixture.php +++ b/cake/tests/fixtures/translate_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslateFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translate_table_fixture.php b/cake/tests/fixtures/translate_table_fixture.php index 09638db8d..1a645e375 100644 --- a/cake/tests/fixtures/translate_table_fixture.php +++ b/cake/tests/fixtures/translate_table_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslateTableFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translated_article_fixture.php b/cake/tests/fixtures/translated_article_fixture.php index 10662ca2f..bce536975 100644 --- a/cake/tests/fixtures/translated_article_fixture.php +++ b/cake/tests/fixtures/translated_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslatedArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translated_item_fixture.php b/cake/tests/fixtures/translated_item_fixture.php index 7ca94c392..f8b93ce8a 100644 --- a/cake/tests/fixtures/translated_item_fixture.php +++ b/cake/tests/fixtures/translated_item_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslatedItemFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/unconventional_tree_fixture.php b/cake/tests/fixtures/unconventional_tree_fixture.php index 0fd236737..87b517842 100644 --- a/cake/tests/fixtures/unconventional_tree_fixture.php +++ b/cake/tests/fixtures/unconventional_tree_fixture.php @@ -14,7 +14,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7879 * @version $Revision$ diff --git a/cake/tests/fixtures/underscore_field_fixture.php b/cake/tests/fixtures/underscore_field_fixture.php index a5f09e6e1..c87ace540 100644 --- a/cake/tests/fixtures/underscore_field_fixture.php +++ b/cake/tests/fixtures/underscore_field_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ diff --git a/cake/tests/fixtures/user_fixture.php b/cake/tests/fixtures/user_fixture.php index 1299bd7b3..bb8478034 100644 --- a/cake/tests/fixtures/user_fixture.php +++ b/cake/tests/fixtures/user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuid_fixture.php b/cake/tests/fixtures/uuid_fixture.php index a2d2946c7..12a0dd99f 100644 --- a/cake/tests/fixtures/uuid_fixture.php +++ b/cake/tests/fixtures/uuid_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuidFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuid_tag_fixture.php b/cake/tests/fixtures/uuid_tag_fixture.php index 0eb3b2b88..0665b4649 100644 --- a/cake/tests/fixtures/uuid_tag_fixture.php +++ b/cake/tests/fixtures/uuid_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7953 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuidTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuid_tree_fixture.php b/cake/tests/fixtures/uuid_tree_fixture.php index 129767284..6cc36c43b 100644 --- a/cake/tests/fixtures/uuid_tree_fixture.php +++ b/cake/tests/fixtures/uuid_tree_fixture.php @@ -14,7 +14,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7984 * @version $Revision$ diff --git a/cake/tests/fixtures/uuiditem_fixture.php b/cake/tests/fixtures/uuiditem_fixture.php index 26cbe667e..bbc9b0592 100644 --- a/cake/tests/fixtures/uuiditem_fixture.php +++ b/cake/tests/fixtures/uuiditem_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuiditemFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php b/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php index db83d322b..c3c961282 100644 --- a/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php +++ b/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuiditemsUuidportfolioFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php b/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php index 08d20d4b5..9938db735 100644 --- a/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php +++ b/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php @@ -1,5 +1,5 @@ <?php -/* SVN FILE: $Id:$ */ +/* SVN FILE: $Id$ */ /** * Short description for file. * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuiditemsUuidportfolioNumericidFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuidportfolio_fixture.php b/cake/tests/fixtures/uuidportfolio_fixture.php index abdb25184..96c65d978 100644 --- a/cake/tests/fixtures/uuidportfolio_fixture.php +++ b/cake/tests/fixtures/uuidportfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuidportfolioFixture extends CakeTestFixture { diff --git a/cake/tests/groups/acl.group.php b/cake/tests/groups/acl.group.php index 25598425e..7dad05ff2 100644 --- a/cake/tests/groups/acl.group.php +++ b/cake/tests/groups/acl.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AclAndAuthGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AclAndAuthGroupTest - * - * This test group will run the Acl and Auth tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AclAndAuthGroupTest class * + * This test group will run the Acl and Auth tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AclAndAuthGroupTest extends GroupTest { * @var string 'Acl and Auth Tests' * @access public */ - var $label = 'Acl and Auth Tests'; + var $label = 'Acl and Auth'; /** * AclAndAuthGroupTest method * @@ -57,4 +52,4 @@ class AclAndAuthGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'controller' . DS . 'components' . DS . 'auth'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/cache.group.php b/cake/tests/groups/cache.group.php index 74d8bfb1a..fd7060909 100644 --- a/cake/tests/groups/cache.group.php +++ b/cake/tests/groups/cache.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCacheEnginesGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCacheEngines - * - * This test group will run all the Cache class test and all core cache engine tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCacheEnginesGroupTest class * + * This test group will run all the Cache class test and all core cache engine tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCacheEnginesGroupTest extends GroupTest { * @var string 'All core cache engines' * @access public */ - var $label = 'All core cache engines'; + var $label = 'Cache and all CacheEngines'; /** * AllCacheEnginesGroupTest method * @@ -56,4 +51,4 @@ class AllCacheEnginesGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'cache'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/components.group.php b/cake/tests/groups/components.group.php index a2e4a60da..ececd9021 100644 --- a/cake/tests/groups/components.group.php +++ b/cake/tests/groups/components.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreComponentsGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreHelpersGroupTest - * - * This test group will run all tests in the cases/libs/controller/components directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreComponentsGroupTest class * + * This test group will run all tests in the cases/libs/controller/components directory. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreComponentsGroupTest extends GroupTest { * @var string 'All core components' * @access public */ - var $label = 'All core components'; + var $label = 'All Components'; /** * AllCoreComponentsGroupTest method * @@ -55,4 +50,4 @@ class AllCoreComponentsGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'controller' . DS . 'components'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/configure.group.php b/cake/tests/groups/configure.group.php index f07652a15..e1e8f35fd 100644 --- a/cake/tests/groups/configure.group.php +++ b/cake/tests/groups/configure.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ConfigureGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** ConfigureGroupTest - * - * This test group will run all test for the configure and loader. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * ConfigureGroupTest class * + * This test group will run all test for the configure and loader. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class ConfigureGroupTest extends GroupTest { * @var string 'Configure, Loader, ClassRegistry Tests' * @access public */ - var $label = 'Configure, Loader, ClassRegistry Tests'; + var $label = 'Configure, App and ClassRegistry'; /** * ConfigureGroupTest method * @@ -56,4 +51,4 @@ class ConfigureGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'class_registry'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/console.group.php b/cake/tests/groups/console.group.php index 4e2e8188b..42391d114 100644 --- a/cake/tests/groups/console.group.php +++ b/cake/tests/groups/console.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ConsoleGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllConsoleGroupTest - * - * This test group will run all console tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllConsoleGroupTest class * + * This test group will run all console tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllConsoleGroupTest extends GroupTest { * @var string 'All core cache engines' * @access public */ - var $label = 'All console tests'; + var $label = 'ShellDispatcher, Shell and all Tasks'; /** * AllConsoleGroupTest method * diff --git a/cake/tests/groups/helpers.group.php b/cake/tests/groups/helpers.group.php index fe8ebab04..6dac7623b 100644 --- a/cake/tests/groups/helpers.group.php +++ b/cake/tests/groups/helpers.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreHelpersGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreHelpersGroupTest - * - * This test group will run all test in the cases/libs/view/helpers directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreHelpersGroupTest class * + * This test group will run all test in the cases/libs/view/helpers directory. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreHelpersGroupTest extends GroupTest { * @var string 'All core helpers' * @access public */ - var $label = 'All core helpers'; + var $label = 'All Helpers'; /** * AllCoreHelpersGroupTest method * @@ -56,4 +51,4 @@ class AllCoreHelpersGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/lib.group.php b/cake/tests/groups/lib.group.php index e3fa8fa46..4e68dd3dc 100644 --- a/cake/tests/groups/lib.group.php +++ b/cake/tests/groups/lib.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreLibGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreLibGroupTest - * - * This test group will run all test in the cases/libs directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreLibGroupTest class * + * This test group will run all test in the cases/libs directory. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreLibGroupTest extends GroupTest { * @var string 'All cake/libs/* (Not yet implemented)' * @access public */ - var $label = 'All cake/libs/* (Not yet implemented)'; + var $label = 'All Libs'; /** * AllCoreLibGroupTest method * @@ -55,4 +50,4 @@ class AllCoreLibGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/lib_controller.group.php b/cake/tests/groups/lib_controller.group.php index 022c5d003..8a5afc07a 100644 --- a/cake/tests/groups/lib_controller.group.php +++ b/cake/tests/groups/lib_controller.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * LibControllerGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -25,9 +25,9 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * Short description for class. + * LibControllerGroupTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.groups */ class LibControllerGroupTest extends GroupTest { @@ -37,7 +37,7 @@ class LibControllerGroupTest extends GroupTest { * @var string 'All cake/libs/controller/* (Not yet implemented)' * @access public */ - var $label = 'All cake/libs/controller/* (Not yet implemented)'; + var $label = 'All Controllers and Components'; /** * LibControllerGroupTest method * diff --git a/cake/tests/groups/model.group.php b/cake/tests/groups/model.group.php index bba4b7d7c..867b1ba50 100644 --- a/cake/tests/groups/model.group.php +++ b/cake/tests/groups/model.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ModelGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.5517 * @version $Revision$ @@ -24,17 +24,12 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** ModelGroupTest +/** + * ModelGroupTest class * * This test group will run all model-layer and related tests, (behaviors, etc.) excluding * database driver-specific tests * - * @package cake.tests - * @subpackage cake.tests.groups - */ -/** - * ModelGroupTest class - * * @package cake * @subpackage cake.tests.groups */ @@ -45,7 +40,7 @@ class ModelGroupTest extends GroupTest { * @var string 'All model tests' * @access public */ - var $label = 'All model tests'; + var $label = 'Model, all Behaviors and Datasources'; /** * ModelGroupTest method * @@ -60,4 +55,4 @@ class ModelGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'model' . DS . 'behaviors'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/no_database.group.php b/cake/tests/groups/no_database.group.php index bc367eec2..f8071959f 100644 --- a/cake/tests/groups/no_database.group.php +++ b/cake/tests/groups/no_database.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreWithoutDatabaseGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,34 +24,29 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreLibGroupTest - * - * This test group will run all test in the cases/libs directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreWithOutDatabaseGroupTest class * + * This test group will run all test in the cases/libs directory. + * * @package cake * @subpackage cake.tests.groups */ -class AllCoreWithOutDatabaseGroupTest extends GroupTest { +class AllCoreWithoutDatabaseGroupTest extends GroupTest { /** * label property * * @var string 'All tests without a database connection' * @access public */ - var $label = 'All tests without a database connection'; + var $label = 'All Libs not requiring a database connection'; /** * AllCoreWithOutDatabaseGroupTest method * * @access public * @return void */ - function AllCoreWithOutDatabaseGroupTest() { + function AllCoreWithoutDatabaseGroupTest() { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'dispatcher'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'router'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'inflector'); @@ -61,4 +56,4 @@ class AllCoreWithOutDatabaseGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/routing_system.group.php b/cake/tests/groups/routing_system.group.php index 9104a9961..1afb59f12 100644 --- a/cake/tests/groups/routing_system.group.php +++ b/cake/tests/groups/routing_system.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * RoutingSystemGroupTest * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.5517 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** RoutingSystemGroupTest - * - * This test group will run all the Router/Dispatcher (and related) tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * RoutingSystemGroupTest class * + * This test group will run all the Router/Dispatcher (and related) tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class RoutingSystemGroupTest extends GroupTest { * @var string 'Routing system' * @access public */ - var $label = 'Routing system'; + var $label = 'Router and Dispatcher'; /** * RoutingSystemGroupTest method * @@ -56,4 +51,4 @@ class RoutingSystemGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'router'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/socket.group.php b/cake/tests/groups/socket.group.php index a1b1f6bc0..6645dcb24 100644 --- a/cake/tests/groups/socket.group.php +++ b/cake/tests/groups/socket.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SocketGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2007, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** Socket and HttpSocket tests - * - * This test group will run socket class tests (socket, http_socket). - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * SocketGroupTest class * + * This test group will run socket class tests (socket, http_socket). + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class SocketGroupTest extends GroupTest { * @var string 'Socket and HttpSocket tests' * @access public */ - var $label = 'Socket and HttpSocket tests'; + var $label = 'Socket and HttpSocket'; /** * SocketGroupTest method * @@ -56,4 +51,4 @@ class SocketGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'http_socket'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/test_suite.group.php b/cake/tests/groups/test_suite.group.php index 3b7262f14..bccb39955 100644 --- a/cake/tests/groups/test_suite.group.php +++ b/cake/tests/groups/test_suite.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Test Suite Test Group + * TestSuiteGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2007, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** Test Suite Test Group - * - * This test group will run the test cases for the test suite classes. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * TestSuiteGroupTest class * + * This test group will run the test cases for the test suite classes. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class TestSuiteGroupTest extends GroupTest { * @var string 'Socket and HttpSocket tests' * @access public */ - var $label = 'Test Suite Tests'; + var $label = 'TestSuite'; /** * TestSuiteGroupTest method * @@ -59,4 +54,4 @@ class TestSuiteGroupTest extends GroupTest { } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/view.group.php b/cake/tests/groups/view.group.php index c04276b40..5569e771f 100644 --- a/cake/tests/groups/view.group.php +++ b/cake/tests/groups/view.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreViewsGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreViewsGroupTest - * - * This test group will run view class tests (view, theme). - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreViewsGroupTest class * + * This test group will run view class tests (view, theme) + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreViewsGroupTest extends GroupTest { * @var string 'All core views' * @access public */ - var $label = 'All core views'; + var $label = 'View and ThemeView'; /** * AllCoreViewsGroupTest method * @@ -56,4 +51,4 @@ class AllCoreViewsGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'theme'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/xml.group.php b/cake/tests/groups/xml.group.php index f746a85f3..95d945a48 100644 --- a/cake/tests/groups/xml.group.php +++ b/cake/tests/groups/xml.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Xml Group test. + * XmlGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** XmlGroupTest - * - * This test group will run view class tests (view, theme). - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * XmlGroupTest class * + * This test group will run view class tests (view, theme). + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class XmlGroupTest extends GroupTest { * @var string 'All core views' * @access public */ - var $label = 'All Xml based classes'; + var $label = 'Xml based classes (Xml, XmlHelper and RssHelper)'; /** * AllCoreViewsGroupTest method * @@ -57,4 +52,4 @@ class XmlGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers' . DS .'xml'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/test_app/controllers/tests_apps_controller.php b/cake/tests/test_app/controllers/tests_apps_controller.php index b9a8c3f18..4800490f5 100644 --- a/cake/tests/test_app/controllers/tests_apps_controller.php +++ b/cake/tests/test_app/controllers/tests_apps_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/controllers/tests_apps_posts_controller.php b/cake/tests/test_app/controllers/tests_apps_posts_controller.php index 27d0c4c19..e9b0d0464 100644 --- a/cake/tests/test_app/controllers/tests_apps_posts_controller.php +++ b/cake/tests/test_app/controllers/tests_apps_posts_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php index aafb23b95..ab3cb7b22 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php index 4aea19621..6a80527d9 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php index 40d46886e..23a462bf9 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php index 7d6811db5..560e0702f 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php b/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php index 52eff57bf..565a4cd9a 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php index e556feef2..56ad96b9c 100644 --- a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php +++ b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php index e7fb2d61b..b6510715b 100644 --- a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php +++ b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php b/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php index f5a7b532e..d4152137e 100644 --- a/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php +++ b/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.vendors.sample * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php b/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php index de1bb8f66..d363e9217 100644 --- a/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php +++ b/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php b/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php index b6fa6a85e..b5122b327 100644 --- a/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php +++ b/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.vendors * @since CakePHP(tm) v 1.2.0.7629 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php b/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php index 01d504683..9ec662708 100644 --- a/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php +++ b/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php b/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php index 3f91f3b33..084eee80e 100644 --- a/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php +++ b/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php index 9f590db93..9e4b23fd3 100644 --- a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php +++ b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin_two.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php index 8bcb0e63a..57f09f3ee 100644 --- a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php +++ b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin_two.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/Test/MyTest.php b/cake/tests/test_app/vendors/Test/MyTest.php index 6773aef9a..2705dffc2 100644 --- a/cake/tests/test_app/vendors/Test/MyTest.php +++ b/cake/tests/test_app/vendors/Test/MyTest.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.somename * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/Test/hello.php b/cake/tests/test_app/vendors/Test/hello.php index 72f983b00..d96fa7047 100644 --- a/cake/tests/test_app/vendors/Test/hello.php +++ b/cake/tests/test_app/vendors/Test/hello.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.Test * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php b/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php index 2fed84ac6..252c860d7 100644 --- a/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php +++ b/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.sample * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/shells/sample.php b/cake/tests/test_app/vendors/shells/sample.php index 7c115fa92..738c57911 100644 --- a/cake/tests/test_app/vendors/shells/sample.php +++ b/cake/tests/test_app/vendors/shells/sample.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/somename/some.name.php b/cake/tests/test_app/vendors/somename/some.name.php index 65357c56d..442fabcd0 100644 --- a/cake/tests/test_app/vendors/somename/some.name.php +++ b/cake/tests/test_app/vendors/somename/some.name.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.somename * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/welcome.php b/cake/tests/test_app/vendors/welcome.php index 8f235ac5a..edb18261b 100644 --- a/cake/tests/test_app/vendors/welcome.php +++ b/cake/tests/test_app/vendors/welcome.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors * @since CakePHP(tm) v 1.2.0.7629 * @version $Revision$ From 5c53fcfcb94acc44f2890f30f1a370b952e62103 Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Thu, 19 Mar 2009 18:27:49 +0000 Subject: [PATCH 20/67] fixes #6209, persistModel and undefined $Behaviors git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8117 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/object.php | 16 +++- cake/tests/cases/libs/object.test.php | 131 +++++++++++++++++++++++++- 2 files changed, 141 insertions(+), 6 deletions(-) diff --git a/cake/libs/object.php b/cake/libs/object.php index 7b62f4e76..358fd759f 100644 --- a/cake/libs/object.php +++ b/cake/libs/object.php @@ -248,7 +248,11 @@ class Object { $objectArray = array(&$object); $data = str_replace('\\', '\\\\', serialize($objectArray)); $data = '<?php $' . $name . ' = \'' . str_replace('\'', '\\\'', $data) . '\' ?>'; - cache($file, $data, '+1 day'); + $duration = '+999 days'; + if (Configure::read() >= 1) { + $duration = '+10 seconds'; + } + cache($file, $data, $duration); } /** * Open the persistent class file for reading @@ -267,14 +271,16 @@ class Object { case 'registry': $vars = unserialize(${$name}); foreach ($vars['0'] as $key => $value) { - App::import('Model', Inflector::classify($key)); + if (strpos($key, '_behavior') !== false) { + App::import('Behavior', Inflector::classify(substr($key, 0, -9))); + } else { + App::import('Model', Inflector::classify($key)); + } + unset ($value); } unset($vars); $vars = unserialize(${$name}); foreach ($vars['0'] as $key => $value) { - foreach ($vars['0'][$key]->Behaviors->_attached as $behavior) { - App::import('Behavior', $behavior); - } ClassRegistry::addObject($key, $value); unset ($value); } diff --git a/cake/tests/cases/libs/object.test.php b/cake/tests/cases/libs/object.test.php index 117453aa0..743d88da1 100644 --- a/cake/tests/cases/libs/object.test.php +++ b/cake/tests/cases/libs/object.test.php @@ -117,6 +117,37 @@ class RequestActionController extends Controller { return $this->params; } } +/** + * RequestActionPersistentController class + * + * @package cake + * @subpackage cake.tests.cases.libs + */ +class RequestActionPersistentController extends Controller { +/** +* uses property +* +* @var array +* @access public +*/ + var $uses = array('PersisterOne'); + +/** +* persistModel property +* +* @var array +* @access public +*/ + var $persistModel = true; +/** + * post pass, testing post passing + * + * @return array + **/ + function index() { + return 'This is a test'; + } +} /** * TestObject class * @@ -271,7 +302,7 @@ class ObjectTest extends CakeTestCase { * * @var string **/ - var $fixtures = array('core.post'); + var $fixtures = array('core.post', 'core.comment'); /** * setUp method * @@ -382,6 +413,104 @@ class ObjectTest extends CakeTestCase { Configure::write('Cache.disable', $cacheDisable); } /** + * testPersistWithRequestAction method + * + * @access public + * @return void + */ + function testPersistWithBehavior() { + ClassRegistry::flush(); + + $cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); + + Configure::write('modelPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS)); + Configure::write('behaviorPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS . 'behaviors' . DS)); + + $this->assertFalse(class_exists('PersisterOneBehaviorBehavior')); + $this->assertFalse(class_exists('PersisterTwoBehaviorBehavior')); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisterone.php')); + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + + $contents = str_replace('"PersisterOne"', '"PersisterTwo"', file_get_contents(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + $contents = str_replace('persister_one_', 'persister_two_', file_get_contents(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + + $result = file_put_contents(CACHE . 'persistent' . DS . 'persisteroneregistry.php', $contents); + + $this->assertTrue(class_exists('PersisterOneBehaviorBehavior')); + $this->assertFalse(class_exists('PersisterTwoBehaviorBehavior')); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + $this->assertTrue(class_exists('PersisterOneBehaviorBehavior')); + $this->assertTrue(class_exists('PersisterTwoBehaviorBehavior')); + + @unlink(CACHE . 'persistent' . DS . 'persisterone.php'); + @unlink(CACHE . 'persistent' . DS . 'persisteroneregistry.php'); + } +/** + * testPersistWithBehaviorAndRequestAction method + * + * @see testPersistWithBehavior + * @access public + * @return void + */ + function testPersistWithBehaviorAndRequestAction() { + ClassRegistry::flush(); + + $cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); + + $this->assertFalse(class_exists('ContainableBehavior')); + + Configure::write('modelPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS)); + Configure::write('behaviorPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS . 'behaviors' . DS)); + + $this->assertFalse(class_exists('PersistOneBehaviorBehavior')); + $this->assertFalse(class_exists('PersistTwoBehaviorBehavior')); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisterone.php')); + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + + $keys = ClassRegistry::keys(); + $this->assertEqual($keys, array('persister_one', 'comment', 'persister_one_behavior_behavior')); + + ob_start(); + $Controller->set('content_for_layout', 'cool'); + $Controller->render('index', 'ajax', '/layouts/ajax'); + $result = ob_get_clean(); + + $keys = ClassRegistry::keys(); + $this->assertEqual($keys, array('persister_one', 'comment', 'persister_one_behavior_behavior', 'view')); + + $result = $this->object->requestAction('/request_action_persistent/index'); + $expected = 'This is a test'; + $this->assertEqual($result, $expected); + + @unlink(CACHE . 'persistent' . DS . 'persisterone.php'); + @unlink(CACHE . 'persistent' . DS . 'persisteroneregistry.php'); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + @unlink(CACHE . 'persistent' . DS . 'persisterone.php'); + @unlink(CACHE . 'persistent' . DS . 'persisteroneregistry.php'); + + Configure::write('Cache.disable', $cacheDisable); + } +/** * testToString method * * @access public From 641a48342bf6bf695589fd0713632a57499def47 Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Thu, 19 Mar 2009 18:37:54 +0000 Subject: [PATCH 21/67] Adding test for Auth login redirect to url with query string parameters. Disproves #6211. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8118 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../cases/libs/controller/components/auth.test.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cake/tests/cases/libs/controller/components/auth.test.php b/cake/tests/cases/libs/controller/components/auth.test.php index 8daeee4f6..76d4c97b0 100644 --- a/cake/tests/cases/libs/controller/components/auth.test.php +++ b/cake/tests/cases/libs/controller/components/auth.test.php @@ -823,6 +823,18 @@ class AuthTest extends CakeTestCase { $expected = Router::normalize('posts/view/1'); $this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect')); + // QueryString parameters + $this->Controller->Session->del('Auth'); + $url = '/posts/index/29?print=true&refer=menu'; + $this->Controller->params = Router::parse($url); + $this->Controller->params['url']['url'] = Router::normalize($url); + $this->Controller->Auth->initialize($this->Controller); + $this->Controller->Auth->loginAction = array('controller' => 'AuthTest', 'action' => 'login'); + $this->Controller->Auth->userModel = 'AuthUser'; + $this->Controller->Auth->startup($this->Controller); + $expected = Router::normalize('posts/index/29?print=true&refer=menu'); + $this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect')); + //external authed action $_SERVER['HTTP_REFERER'] = 'http://webmail.example.com/view/message'; $this->Controller->Session->del('Auth'); @@ -1184,4 +1196,4 @@ class AuthTest extends CakeTestCase { $this->assertFalse($this->Controller->Session->read('Auth.redirect')); } } -?> \ No newline at end of file +?> From 3d4c5b424d29a5f68397af633ac258c69b692517 Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Thu, 19 Mar 2009 20:10:10 +0000 Subject: [PATCH 22/67] adding models/behaviors for object persist tests git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8119 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../behaviors/persister_one_behavior.php | 38 +++++++++++++++++++ .../behaviors/persister_two_behavior.php | 38 +++++++++++++++++++ cake/tests/test_app/models/persister_one.php | 35 +++++++++++++++++ cake/tests/test_app/models/persister_two.php | 35 +++++++++++++++++ 4 files changed, 146 insertions(+) create mode 100644 cake/tests/test_app/models/behaviors/persister_one_behavior.php create mode 100644 cake/tests/test_app/models/behaviors/persister_two_behavior.php create mode 100644 cake/tests/test_app/models/persister_one.php create mode 100644 cake/tests/test_app/models/persister_two.php diff --git a/cake/tests/test_app/models/behaviors/persister_one_behavior.php b/cake/tests/test_app/models/behaviors/persister_one_behavior.php new file mode 100644 index 000000000..63f5998a6 --- /dev/null +++ b/cake/tests/test_app/models/behaviors/persister_one_behavior.php @@ -0,0 +1,38 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Behavior for binding management. + * + * Behavior to simplify manipulating a model's bindings when doing a find operation + * + * PHP versions 4 and 5 + * + * CakePHP(tm) : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP(tm) v 1.2.0.5669 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +/** + * Behavior to allow for dynamic and atomic manipulation of a Model's associations used for a find call. Most useful for limiting + * the amount of associations and data returned. + * + * @package cake + * @subpackage cake.cake.console.libs + */ +class PersisterOneBehaviorBehavior extends ModelBehavior { + + +} +?> \ No newline at end of file diff --git a/cake/tests/test_app/models/behaviors/persister_two_behavior.php b/cake/tests/test_app/models/behaviors/persister_two_behavior.php new file mode 100644 index 000000000..c032fc3e2 --- /dev/null +++ b/cake/tests/test_app/models/behaviors/persister_two_behavior.php @@ -0,0 +1,38 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Behavior for binding management. + * + * Behavior to simplify manipulating a model's bindings when doing a find operation + * + * PHP versions 4 and 5 + * + * CakePHP(tm) : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP(tm) v 1.2.0.5669 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +/** + * Behavior to allow for dynamic and atomic manipulation of a Model's associations used for a find call. Most useful for limiting + * the amount of associations and data returned. + * + * @package cake + * @subpackage cake.cake.console.libs + */ +class PersisterTwoBehaviorBehavior extends ModelBehavior { + + +} +?> \ No newline at end of file diff --git a/cake/tests/test_app/models/persister_one.php b/cake/tests/test_app/models/persister_one.php new file mode 100644 index 000000000..76222829f --- /dev/null +++ b/cake/tests/test_app/models/persister_one.php @@ -0,0 +1,35 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Test App Comment Model + * + * + * + * PHP versions 4 and 5 + * + * CakePHP : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2006-2008, Cake Software Foundation, Inc. + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP v 1.2.0.7726 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +class PersisterOne extends AppModel { + var $useTable = 'posts'; + var $name = 'PersisterOne'; + + var $actsAs = array('PersisterOneBehavior'); + + var $hasMany = array('Comment'); +} +?> \ No newline at end of file diff --git a/cake/tests/test_app/models/persister_two.php b/cake/tests/test_app/models/persister_two.php new file mode 100644 index 000000000..4596f9479 --- /dev/null +++ b/cake/tests/test_app/models/persister_two.php @@ -0,0 +1,35 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Test App Comment Model + * + * + * + * PHP versions 4 and 5 + * + * CakePHP : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2006-2008, Cake Software Foundation, Inc. + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP v 1.2.0.7726 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +class PersisterTwo extends AppModel { + var $useTable = 'posts'; + var $name = 'PersisterTwo'; + + var $actsAs = array('PersisterOneBehavior'); + + var $hasMany = array('Comment'); +} +?> \ No newline at end of file From fc7773fe2d998bd5fd33b4cb0e447ec315b42110 Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Thu, 19 Mar 2009 20:25:10 +0000 Subject: [PATCH 23/67] merging fixes to trunk. set version to 1.2.2.8120 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8120 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/VERSION.txt | 2 +- cake/config/config.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cake/VERSION.txt b/cake/VERSION.txt index 2fed2c3ba..328fa2e81 100644 --- a/cake/VERSION.txt +++ b/cake/VERSION.txt @@ -6,4 +6,4 @@ // +---------------------------------------------------------------------------------------------------+ // /////////////////////////////////////////////////////////////////////////////////////////////////////////// -1.2.1.8004 \ No newline at end of file +1.2.2.8120 \ No newline at end of file diff --git a/cake/config/config.php b/cake/config/config.php index 352768331..1ad4c719c 100644 --- a/cake/config/config.php +++ b/cake/config/config.php @@ -22,5 +22,5 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ -return $config['Cake.version'] = '1.2.1.8004'; +return $config['Cake.version'] = '1.2.2.8120'; ?> \ No newline at end of file From 643651fe568923041619a4b95535c5bc9ff8ca0c Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Thu, 19 Mar 2009 14:10:13 -0700 Subject: [PATCH 24/67] Merge master in 1.3 --- cake/VERSION.txt | 2 +- cake/console/cake.php | 14 +- cake/console/libs/acl.php | 2 +- cake/console/libs/shell.php | 4 +- cake/console/libs/tasks/extract.php | 2 +- cake/libs/cache.php | 2 +- cake/libs/cache/file.php | 2 +- cake/libs/cache/memcache.php | 2 +- cake/libs/controller/controller.php | 26 ++ cake/libs/controller/scaffold.php | 2 +- cake/libs/error.php | 2 +- cake/libs/file.php | 4 +- cake/libs/folder.php | 5 +- cake/libs/i18n.php | 2 +- cake/libs/model/behavior.php | 4 +- cake/libs/model/connection_manager.php | 15 +- cake/libs/model/model.php | 12 +- cake/libs/object.php | 18 +- cake/libs/session.php | 6 +- cake/libs/set.php | 6 +- cake/libs/view/helpers/ajax.php | 6 +- cake/libs/view/helpers/cache.php | 2 +- cake/libs/view/media.php | 88 +++-- cake/tests/cases/basics.test.php | 18 +- cake/tests/cases/console/cake.test.php | 42 ++- cake/tests/cases/console/libs/shell.test.php | 14 +- .../cases/console/libs/tasks/extract.test.php | 17 +- .../cases/console/libs/tasks/test.test.php | 8 +- cake/tests/cases/dispatcher.test.php | 31 +- cake/tests/cases/libs/cache.test.php | 8 +- cake/tests/cases/libs/cache/apc.test.php | 26 +- cake/tests/cases/libs/cache/file.test.php | 17 +- cake/tests/cases/libs/cache/memcache.test.php | 9 +- cake/tests/cases/libs/cache/xcache.test.php | 26 +- cake/tests/cases/libs/cake_log.test.php | 9 +- cake/tests/cases/libs/cake_test_case.test.php | 57 +-- .../cases/libs/cake_test_fixture.test.php | 57 +-- cake/tests/cases/libs/class_registry.test.php | 20 +- .../cases/libs/code_coverage_manager.test.php | 26 +- cake/tests/cases/libs/configure.test.php | 13 +- .../cases/libs/controller/component.test.php | 51 ++- .../libs/controller/components/acl.test.php | 27 +- .../libs/controller/components/auth.test.php | 71 ++-- .../controller/components/cookie.test.php | 86 +++-- .../libs/controller/components/email.test.php | 36 +- .../components/request_handler.test.php | 59 ++-- .../controller/components/security.test.php | 46 ++- .../controller/components/session.test.php | 38 +- .../cases/libs/controller/controller.test.php | 100 ++++-- .../libs/controller/pages_controller.test.php | 8 +- .../cases/libs/controller/scaffold.test.php | 69 ++-- cake/tests/cases/libs/debugger.test.php | 70 ++-- cake/tests/cases/libs/error.test.php | 28 +- cake/tests/cases/libs/file.test.php | 9 +- cake/tests/cases/libs/folder.test.php | 43 ++- cake/tests/cases/libs/http_socket.test.php | 71 ++-- cake/tests/cases/libs/i18n.test.php | 15 +- cake/tests/cases/libs/inflector.test.php | 26 +- cake/tests/cases/libs/l10n.test.php | 6 +- cake/tests/cases/libs/magic_db.test.php | 18 +- cake/tests/cases/libs/model/behavior.test.php | 33 +- .../cases/libs/model/behaviors/acl.test.php | 90 +++-- .../libs/model/behaviors/containable.test.php | 27 +- .../libs/model/behaviors/translate.test.php | 11 +- .../cases/libs/model/behaviors/tree.test.php | 26 +- .../model/datasources/dbo/dbo_adodb.test.php | 29 +- .../model/datasources/dbo/dbo_mssql.test.php | 79 +++-- .../model/datasources/dbo/dbo_mysql.test.php | 149 ++++---- .../model/datasources/dbo/dbo_mysqli.test.php | 19 +- .../model/datasources/dbo/dbo_oracle.test.php | 12 +- .../datasources/dbo/dbo_postgres.test.php | 41 +-- .../model/datasources/dbo/dbo_sqlite.test.php | 25 +- .../model/datasources/dbo_source.test.php | 55 +-- cake/tests/cases/libs/model/db_acl.test.php | 84 +++-- cake/tests/cases/libs/model/model.test.php | 95 ++--- cake/tests/cases/libs/model/models.php | 219 ++++++------ cake/tests/cases/libs/model/schema.test.php | 57 ++- cake/tests/cases/libs/multibyte.test.php | 8 +- cake/tests/cases/libs/object.test.php | 167 +++++++-- cake/tests/cases/libs/overloadable.test.php | 10 +- cake/tests/cases/libs/router.test.php | 10 +- cake/tests/cases/libs/sanitize.test.php | 11 +- cake/tests/cases/libs/security.test.php | 8 +- cake/tests/cases/libs/session.test.php | 13 +- cake/tests/cases/libs/set.test.php | 19 +- cake/tests/cases/libs/socket.test.php | 26 +- cake/tests/cases/libs/string.test.php | 8 +- cake/tests/cases/libs/test_manager.test.php | 47 +-- cake/tests/cases/libs/validation.test.php | 14 +- cake/tests/cases/libs/view/helper.test.php | 42 ++- .../cases/libs/view/helpers/ajax.test.php | 44 ++- .../cases/libs/view/helpers/cache.test.php | 76 ++-- .../cases/libs/view/helpers/form.test.php | 77 ++-- .../cases/libs/view/helpers/html.test.php | 25 +- .../libs/view/helpers/javascript.test.php | 9 +- .../tests/cases/libs/view/helpers/js.test.php | 21 +- .../cases/libs/view/helpers/number.test.php | 33 +- .../libs/view/helpers/paginator.test.php | 30 +- .../cases/libs/view/helpers/rss.test.php | 11 +- .../cases/libs/view/helpers/session.test.php | 9 +- .../cases/libs/view/helpers/text.test.php | 30 +- .../cases/libs/view/helpers/time.test.php | 30 +- .../cases/libs/view/helpers/xml.test.php | 27 +- cake/tests/cases/libs/view/theme.test.php | 32 +- cake/tests/cases/libs/view/view.test.php | 33 +- cake/tests/cases/libs/xml.test.php | 328 +++++++++--------- cake/tests/fixtures/account_fixture.php | 4 +- cake/tests/fixtures/aco_action_fixture.php | 4 +- cake/tests/fixtures/aco_fixture.php | 4 +- cake/tests/fixtures/aco_two_fixture.php | 4 +- cake/tests/fixtures/advertisement_fixture.php | 4 +- .../fixtures/another_article_fixture.php | 4 +- cake/tests/fixtures/apple_fixture.php | 4 +- cake/tests/fixtures/aro_fixture.php | 4 +- cake/tests/fixtures/aro_two_fixture.php | 4 +- cake/tests/fixtures/aros_aco_fixture.php | 4 +- cake/tests/fixtures/aros_aco_two_fixture.php | 4 +- .../fixtures/article_featured_fixture.php | 4 +- .../article_featureds_tags_fixture.php | 4 +- cake/tests/fixtures/article_fixture.php | 4 +- cake/tests/fixtures/articles_tag_fixture.php | 4 +- cake/tests/fixtures/attachment_fixture.php | 4 +- .../auth_user_custom_field_fixture.php | 4 +- cake/tests/fixtures/auth_user_fixture.php | 4 +- cake/tests/fixtures/author_fixture.php | 4 +- cake/tests/fixtures/basket_fixture.php | 4 +- cake/tests/fixtures/bid_fixture.php | 4 +- cake/tests/fixtures/binary_test_fixture.php | 4 +- cake/tests/fixtures/book_fixture.php | 4 +- .../fixtures/cache_test_model_fixture.php | 4 +- cake/tests/fixtures/callback_fixture.php | 4 +- cake/tests/fixtures/category_fixture.php | 4 +- .../fixtures/category_thread_fixture.php | 4 +- cake/tests/fixtures/cd_fixture.php | 4 +- cake/tests/fixtures/comment_fixture.php | 16 +- .../fixtures/content_account_fixture.php | 4 +- cake/tests/fixtures/content_fixture.php | 4 +- .../fixtures/counter_cache_post_fixture.php | 4 +- .../fixtures/counter_cache_user_fixture.php | 4 +- cake/tests/fixtures/data_test_fixture.php | 4 +- cake/tests/fixtures/datatype_fixture.php | 4 +- cake/tests/fixtures/dependency_fixture.php | 4 +- cake/tests/fixtures/device_fixture.php | 4 +- .../fixtures/device_type_category_fixture.php | 4 +- cake/tests/fixtures/device_type_fixture.php | 4 +- .../fixtures/document_directory_fixture.php | 4 +- cake/tests/fixtures/document_fixture.php | 4 +- .../exterior_type_category_fixture.php | 4 +- cake/tests/fixtures/feature_set_fixture.php | 4 +- cake/tests/fixtures/featured_fixture.php | 4 +- cake/tests/fixtures/film_file_fixture.php | 4 +- cake/tests/fixtures/flag_tree_fixture.php | 2 +- cake/tests/fixtures/fruit_fixture.php | 4 +- .../fixtures/fruits_uuid_tag_fixture.php | 4 +- cake/tests/fixtures/home_fixture.php | 4 +- cake/tests/fixtures/image_fixture.php | 4 +- cake/tests/fixtures/item_fixture.php | 4 +- .../fixtures/items_portfolio_fixture.php | 4 +- cake/tests/fixtures/join_a_b_fixture.php | 4 +- cake/tests/fixtures/join_a_c_fixture.php | 4 +- cake/tests/fixtures/join_a_fixture.php | 4 +- cake/tests/fixtures/join_b_fixture.php | 4 +- cake/tests/fixtures/join_c_fixture.php | 4 +- cake/tests/fixtures/join_thing_fixture.php | 4 +- cake/tests/fixtures/message_fixture.php | 4 +- .../my_categories_my_products_fixture.php | 4 +- .../my_categories_my_users_fixture.php | 4 +- cake/tests/fixtures/my_category_fixture.php | 4 +- cake/tests/fixtures/my_product_fixture.php | 4 +- cake/tests/fixtures/my_user_fixture.php | 4 +- cake/tests/fixtures/node_fixture.php | 4 +- cake/tests/fixtures/number_tree_fixture.php | 2 +- .../fixtures/numeric_article_fixture.php | 4 +- .../fixtures/overall_favorite_fixture.php | 4 +- cake/tests/fixtures/person_fixture.php | 4 +- cake/tests/fixtures/portfolio_fixture.php | 4 +- cake/tests/fixtures/post_fixture.php | 4 +- cake/tests/fixtures/posts_tag_fixture.php | 4 +- cake/tests/fixtures/primary_model_fixture.php | 4 +- cake/tests/fixtures/product_fixture.php | 4 +- cake/tests/fixtures/project_fixture.php | 4 +- cake/tests/fixtures/sample_fixture.php | 4 +- .../fixtures/secondary_model_fixture.php | 4 +- cake/tests/fixtures/session_fixture.php | 4 +- .../tests/fixtures/something_else_fixture.php | 4 +- cake/tests/fixtures/something_fixture.php | 4 +- cake/tests/fixtures/stories_tag_fixture.php | 4 +- cake/tests/fixtures/story_fixture.php | 4 +- cake/tests/fixtures/syfile_fixture.php | 4 +- cake/tests/fixtures/tag_fixture.php | 4 +- .../fixtures/test_plugin_article_fixture.php | 4 +- .../fixtures/test_plugin_comment_fixture.php | 4 +- .../fixtures/the_paper_monkies_fixture.php | 4 +- cake/tests/fixtures/thread_fixture.php | 4 +- .../fixtures/translate_article_fixture.php | 4 +- cake/tests/fixtures/translate_fixture.php | 4 +- .../fixtures/translate_table_fixture.php | 4 +- .../fixtures/translated_article_fixture.php | 4 +- .../fixtures/translated_item_fixture.php | 4 +- .../fixtures/unconventional_tree_fixture.php | 2 +- .../fixtures/underscore_field_fixture.php | 2 +- cake/tests/fixtures/user_fixture.php | 4 +- cake/tests/fixtures/uuid_fixture.php | 4 +- cake/tests/fixtures/uuid_tag_fixture.php | 4 +- cake/tests/fixtures/uuid_tree_fixture.php | 2 +- cake/tests/fixtures/uuiditem_fixture.php | 4 +- .../uuiditems_uuidportfolio_fixture.php | 4 +- ...ditems_uuidportfolio_numericid_fixture.php | 6 +- cake/tests/fixtures/uuidportfolio_fixture.php | 4 +- cake/tests/groups/acl.group.php | 17 +- cake/tests/groups/cache.group.php | 17 +- cake/tests/groups/components.group.php | 17 +- cake/tests/groups/configure.group.php | 17 +- cake/tests/groups/console.group.php | 15 +- cake/tests/groups/helpers.group.php | 17 +- cake/tests/groups/lib.group.php | 17 +- cake/tests/groups/lib_controller.group.php | 10 +- cake/tests/groups/model.group.php | 17 +- cake/tests/groups/no_database.group.php | 21 +- cake/tests/groups/routing_system.group.php | 17 +- cake/tests/groups/socket.group.php | 17 +- cake/tests/groups/test_suite.group.php | 17 +- cake/tests/groups/view.group.php | 17 +- cake/tests/groups/xml.group.php | 17 +- .../controllers/tests_apps_controller.php | 2 +- .../tests_apps_posts_controller.php | 2 +- .../behaviors/persister_one_behavior.php | 38 ++ .../behaviors/persister_two_behavior.php | 38 ++ cake/tests/test_app/models/persister_one.php | 35 ++ cake/tests/test_app/models/persister_two.php | 35 ++ .../components/other_component.php | 2 +- .../components/plugins_component.php | 2 +- .../components/test_plugin_component.php | 2 +- .../test_plugin_other_component.php | 2 +- .../controllers/tests_controller.php | 2 +- .../test_plugin_app_controller.php | 2 +- .../test_plugin/test_plugin_app_model.php | 2 +- .../vendors/sample/sample_plugin.php | 2 +- .../test_plugin/vendors/shells/example.php | 2 +- .../plugins/test_plugin/vendors/welcome.php | 2 +- .../views/helpers/other_helper.php | 2 +- .../views/helpers/plugged_helper.php | 2 +- .../vendors/shells/example.php | 2 +- .../vendors/shells/welcome.php | 2 +- cake/tests/test_app/vendors/Test/MyTest.php | 2 +- cake/tests/test_app/vendors/Test/hello.php | 2 +- .../sample/configure_test_vendor_sample.php | 2 +- cake/tests/test_app/vendors/shells/sample.php | 2 +- .../test_app/vendors/somename/some.name.php | 2 +- cake/tests/test_app/vendors/welcome.php | 2 +- 250 files changed, 2589 insertions(+), 2019 deletions(-) create mode 100644 cake/tests/test_app/models/behaviors/persister_one_behavior.php create mode 100644 cake/tests/test_app/models/behaviors/persister_two_behavior.php create mode 100644 cake/tests/test_app/models/persister_one.php create mode 100644 cake/tests/test_app/models/persister_two.php diff --git a/cake/VERSION.txt b/cake/VERSION.txt index 2fed2c3ba..328fa2e81 100644 --- a/cake/VERSION.txt +++ b/cake/VERSION.txt @@ -6,4 +6,4 @@ // +---------------------------------------------------------------------------------------------------+ // /////////////////////////////////////////////////////////////////////////////////////////////////////////// -1.2.1.8004 \ No newline at end of file +1.2.2.8120 \ No newline at end of file diff --git a/cake/console/cake.php b/cake/console/cake.php index 97824e62d..823e6fc00 100644 --- a/cake/console/cake.php +++ b/cake/console/cake.php @@ -198,10 +198,14 @@ class ShellDispatcher { */ function __buildPaths() { $paths = array(); - $pluginPaths = Configure::read('pluginPaths'); + if (!class_exists('Folder')) { + require LIBS . 'folder.php'; + } + foreach ($pluginPaths as $pluginPath) { - $plugins = Configure::listObjects('plugin', $pluginPath); + $Folder =& new Folder($pluginPath); + list($plugins,) = $Folder->read(false, true); foreach ((array)$plugins as $plugin) { $path = $pluginPath . Inflector::underscore($plugin) . DS . 'vendors' . DS . 'shells' . DS; if (file_exists($path)) { @@ -262,7 +266,6 @@ class ShellDispatcher { Configure::write('debug', 1); return true; } - /** * Dispatches a CLI request * @@ -542,16 +545,19 @@ class ShellDispatcher { $this->stdout("\nAvailable Shells:"); $_shells = array(); + foreach ($this->shellPaths as $path) { if (is_dir($path)) { $shells = Configure::listObjects('file', $path); - $path = str_replace(CORE_PATH, 'CORE/', $path); + $path = str_replace(CAKE_CORE_INCLUDE_PATH . DS . 'cake' . DS, 'CORE' . DS, $path); + $path = str_replace(APP, 'APP' . DS, $path); $path = str_replace(ROOT, 'ROOT', $path); $path = rtrim($path, DS); $this->stdout("\n " . $path . ":"); if (empty($shells)) { $this->stdout("\t - none"); } else { + sort($shells); foreach ($shells as $shell) { if ($shell !== 'shell.php') { $this->stdout("\t " . str_replace('.php', '', $shell)); diff --git a/cake/console/libs/acl.php b/cake/console/libs/acl.php index c1593bba4..0e44bd82b 100644 --- a/cake/console/libs/acl.php +++ b/cake/console/libs/acl.php @@ -36,7 +36,7 @@ class AclShell extends Shell { /** * Contains instance of AclComponent * - * @var object + * @var AclComponent * @access public */ var $Acl; diff --git a/cake/console/libs/shell.php b/cake/console/libs/shell.php index 04e444d2d..bac6c347b 100644 --- a/cake/console/libs/shell.php +++ b/cake/console/libs/shell.php @@ -34,7 +34,7 @@ class Shell extends Object { /** * An instance of the ShellDispatcher object that loaded this script * - * @var object + * @var ShellDispatcher * @access public */ var $Dispatch = null; @@ -49,7 +49,7 @@ class Shell extends Object { * Holds the DATABASE_CONFIG object for the app. Null if database.php could not be found, * or the app does not exist. * - * @var object + * @var DATABASE_CONFIG * @access public */ var $DbConfig = null; diff --git a/cake/console/libs/tasks/extract.php b/cake/console/libs/tasks/extract.php index 644cf5ed3..7918e8cd7 100644 --- a/cake/console/libs/tasks/extract.php +++ b/cake/console/libs/tasks/extract.php @@ -135,7 +135,7 @@ class ExtractTask extends Shell{ } else { $response = ''; while ($response == '') { - $response = $this->in("What is the full path you would like to extract?\nExample: " . $this->params['root'] . DS . "myapp\n[Q]uit", null, 'Q'); + $response = $this->in("What is the full path you would like to extract?\nExample: " . $this->params['root'] . DS . "myapp\n[Q]uit", null, $this->params['working']); if (strtoupper($response) === 'Q') { $this->out('Extract Aborted'); $this->_stop(); diff --git a/cake/libs/cache.php b/cake/libs/cache.php index 6a6550cdb..aabd27951 100644 --- a/cake/libs/cache.php +++ b/cake/libs/cache.php @@ -33,7 +33,7 @@ class Cache extends Object { /** * Cache engine to use * - * @var object + * @var CacheEngine * @access protected */ var $_Engine = null; diff --git a/cake/libs/cache/file.php b/cake/libs/cache/file.php index 40ec52c27..29dde9249 100644 --- a/cake/libs/cache/file.php +++ b/cake/libs/cache/file.php @@ -34,7 +34,7 @@ class FileEngine extends CacheEngine { /** * Instance of File class * - * @var object + * @var File * @access private */ var $__File = null; diff --git a/cake/libs/cache/memcache.php b/cake/libs/cache/memcache.php index c2118098e..2d70a6e86 100644 --- a/cake/libs/cache/memcache.php +++ b/cake/libs/cache/memcache.php @@ -33,7 +33,7 @@ class MemcacheEngine extends CacheEngine { /** * Memcache wrapper. * - * @var object + * @var Memcache * @access private */ var $__Memcache = null; diff --git a/cake/libs/controller/controller.php b/cake/libs/controller/controller.php index 72b96c645..8b78ebfc5 100644 --- a/cake/libs/controller/controller.php +++ b/cake/libs/controller/controller.php @@ -291,6 +291,32 @@ class Controller extends Object { * @link */ var $methods = array(); +/** + * This controller's primary model class name, the Inflector::classify()'ed version of + * the controller's $name property. + * + * Example: For a controller named 'Comments', the modelClass would be 'Comment' + * + * @var string + * @access public + */ + var $modelClass = null; +/** + * This controller's model key name, an underscored version of the controller's $modelClass property. + * + * Example: For a controller named 'ArticleComments', the modelKey would be 'article_comment' + * + * @var string + * @access public + */ + var $modelKey = null; +/** + * Holds any validation errors produced by the last call of the validateErrors() method/ + * + * @var array Validation errors, or false if none + * @access public + */ + var $validationErrors = null; /** * Constructor. * diff --git a/cake/libs/controller/scaffold.php b/cake/libs/controller/scaffold.php index a76966bdb..1c326cffe 100644 --- a/cake/libs/controller/scaffold.php +++ b/cake/libs/controller/scaffold.php @@ -39,7 +39,7 @@ class Scaffold extends Object { /** * Controller object * - * @var object + * @var Controller * @access public */ var $controller = null; diff --git a/cake/libs/error.php b/cake/libs/error.php index 2cce9861f..e8db8276a 100644 --- a/cake/libs/error.php +++ b/cake/libs/error.php @@ -70,7 +70,7 @@ class ErrorHandler extends Object { /** * Controller instance. * - * @var object + * @var Controller * @access public */ var $controller = null; diff --git a/cake/libs/file.php b/cake/libs/file.php index fbb5aa8c7..e22031749 100644 --- a/cake/libs/file.php +++ b/cake/libs/file.php @@ -42,7 +42,7 @@ class File extends Object { /** * Folder object of the File * - * @var object + * @var Folder * @access public */ var $Folder = null; @@ -376,7 +376,7 @@ class File extends Object { } /** * Returns the full path of the File. - * + * * @return string Full path to file * @access public */ diff --git a/cake/libs/folder.php b/cake/libs/folder.php index 7bf8716ef..28f32672a 100644 --- a/cake/libs/folder.php +++ b/cake/libs/folder.php @@ -212,17 +212,18 @@ class Folder extends Object { */ function _findRecursive($pattern, $sort = false) { list($dirs, $files) = $this->read($sort); - $found = array(); + foreach ($files as $file) { if (preg_match('/^' . $pattern . '$/i', $file)) { $found[] = Folder::addPathElement($this->path, $file); } } $start = $this->path; + foreach ($dirs as $dir) { $this->cd(Folder::addPathElement($start, $dir)); - $found = array_merge($found, $this->findRecursive($pattern)); + $found = array_merge($found, $this->findRecursive($pattern, $sort)); } return $found; } diff --git a/cake/libs/i18n.php b/cake/libs/i18n.php index 36af0284d..850ac5782 100644 --- a/cake/libs/i18n.php +++ b/cake/libs/i18n.php @@ -40,7 +40,7 @@ class I18n extends Object { /** * Instance of the I10n class for localization * - * @var object + * @var I10n * @access public */ var $l10n = null; diff --git a/cake/libs/model/behavior.php b/cake/libs/model/behavior.php index ff98f5144..fdbc64e30 100644 --- a/cake/libs/model/behavior.php +++ b/cake/libs/model/behavior.php @@ -205,11 +205,11 @@ class ModelBehavior extends Object { * @subpackage cake.cake.libs.model */ class BehaviorCollection extends Object { - /** * Stores a reference to the attached name * - * @var object + * @var string + * @access public */ var $modelName = null; /** diff --git a/cake/libs/model/connection_manager.php b/cake/libs/model/connection_manager.php index 524d2bd36..32f169840 100644 --- a/cake/libs/model/connection_manager.php +++ b/cake/libs/model/connection_manager.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * Datasource connection manager * - * Long description for file + * Provides an interface for loading and enumerating connections defined in app/config/database.php * * PHP versions 4 and 5 * @@ -39,7 +39,7 @@ class ConnectionManager extends Object { /** * Holds a loaded instance of the Connections object * - * @var object + * @var DATABASE_CONFIG * @access public */ var $config = null; @@ -85,7 +85,7 @@ class ConnectionManager extends Object { /** * Gets a reference to a DataSource object * - * @param string $name The name of the DataSource, as defined in app/config/connections + * @param string $name The name of the DataSource, as defined in app/config/database.php * @return object Instance * @access public * @static @@ -145,8 +145,9 @@ class ConnectionManager extends Object { /** * Loads the DataSource class for the given connection name * - * @param mixed $connName A string name of the connection, as defined in Connections config, - * or an array containing the file and class name of the object. + * @param mixed $connName A string name of the connection, as defined in app/config/database.php, + * or an array containing the filename (without extension) and class name of the object, + * to be found in app/models/datasources/ or cake/libs/model/datasources/. * @return boolean True on success, null on failure or false if the class is already loaded * @access public * @static @@ -259,4 +260,4 @@ class ConnectionManager extends Object { } } } -?> \ No newline at end of file +?> diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index 5bc46348e..d1da65496 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -221,7 +221,7 @@ class Model extends Overloadable { /** * Holds the Behavior objects currently bound to this model. * - * @var object + * @var BehaviorCollection * @access public */ var $Behaviors = null; @@ -2343,9 +2343,15 @@ class Model extends Overloadable { $this->exists(); $_validate = $this->validate; - if (array_key_exists('fieldList', $options) && is_array($options['fieldList']) && !empty($options['fieldList'])) { + $whitelist = $this->whitelist; + + if (array_key_exists('fieldList', $options)) { + $whitelist = $options['fieldList']; + } + + if (!empty($whitelist)) { $validate = array(); - foreach ($options['fieldList'] as $f) { + foreach ((array)$whitelist as $f) { if (!empty($this->validate[$f])) { $validate[$f] = $this->validate[$f]; } diff --git a/cake/libs/object.php b/cake/libs/object.php index 538a858b4..358fd759f 100644 --- a/cake/libs/object.php +++ b/cake/libs/object.php @@ -38,7 +38,7 @@ class Object { /** * Log object * - * @var object + * @var CakeLog * @access protected */ var $_log = null; @@ -248,7 +248,11 @@ class Object { $objectArray = array(&$object); $data = str_replace('\\', '\\\\', serialize($objectArray)); $data = '<?php $' . $name . ' = \'' . str_replace('\'', '\\\'', $data) . '\' ?>'; - cache($file, $data, '+1 day'); + $duration = '+999 days'; + if (Configure::read() >= 1) { + $duration = '+10 seconds'; + } + cache($file, $data, $duration); } /** * Open the persistent class file for reading @@ -267,14 +271,16 @@ class Object { case 'registry': $vars = unserialize(${$name}); foreach ($vars['0'] as $key => $value) { - App::import('Model', Inflector::classify($key)); + if (strpos($key, '_behavior') !== false) { + App::import('Behavior', Inflector::classify(substr($key, 0, -9))); + } else { + App::import('Model', Inflector::classify($key)); + } + unset ($value); } unset($vars); $vars = unserialize(${$name}); foreach ($vars['0'] as $key => $value) { - foreach ($vars['0'][$key]->Behaviors->_attached as $behavior) { - App::import('Behavior', $behavior); - } ClassRegistry::addObject($key, $value); unset ($value); } diff --git a/cake/libs/session.php b/cake/libs/session.php index 2bd4ab0fd..88b90da52 100644 --- a/cake/libs/session.php +++ b/cake/libs/session.php @@ -349,7 +349,9 @@ class CakeSession extends Object { if (empty($var)) { return false; } - $this->watchKeys[] = $var; + if (!in_array($var, $this->watchKeys, true)) { + $this->watchKeys[] = $var; + } } /** * Tells Session to stop watching a given key path @@ -571,10 +573,8 @@ class CakeSession extends Object { $this->__setError(1, 'Session Highjacking Attempted !!!'); } } else { - srand ((double)microtime() * 1000000); $this->write('Config.userAgent', $this->_userAgent); $this->write('Config.time', $this->sessionTime); - $this->write('Config.rand', mt_rand()); $this->write('Config.timeout', 10); $this->valid = true; $this->__setError(1, 'Session is valid'); diff --git a/cake/libs/set.php b/cake/libs/set.php index 4376f5c05..bed03379a 100644 --- a/cake/libs/set.php +++ b/cake/libs/set.php @@ -374,12 +374,12 @@ class Set extends Object { $data = $path; $path = $tmp; } - if (empty($data)) { - return array(); - } if (strpos($path, '/') === false) { return Set::classicExtract($data, $path); } + if (empty($data)) { + return array(); + } if ($path === '/') { return $data; } diff --git a/cake/libs/view/helpers/ajax.php b/cake/libs/view/helpers/ajax.php index e8df8f759..bc4aad584 100644 --- a/cake/libs/view/helpers/ajax.php +++ b/cake/libs/view/helpers/ajax.php @@ -42,14 +42,14 @@ class AjaxHelper extends AppHelper { /** * HtmlHelper instance * - * @var object + * @var HtmlHelper * @access public */ var $Html = null; /** * JavaScriptHelper instance * - * @var object + * @var JavaScriptHelper * @access public */ var $Javascript = null; @@ -901,7 +901,7 @@ class AjaxHelper extends AppHelper { } if (isset($options['bind'])) { $bind = $options['bind']; - + $hasBinding = ( (is_array($bind) && in_array($callback, $bind)) || (is_string($bind) && strpos($bind, $callback) !== false) diff --git a/cake/libs/view/helpers/cache.php b/cake/libs/view/helpers/cache.php index c40de01b5..dd4f1b499 100644 --- a/cake/libs/view/helpers/cache.php +++ b/cake/libs/view/helpers/cache.php @@ -52,7 +52,7 @@ class CacheHelper extends AppHelper { /** * holds the View object passed in final call to CacheHelper::cache() * - * @var object + * @var View * @access public */ var $view; diff --git a/cake/libs/view/media.php b/cake/libs/view/media.php index c1746544b..5be837840 100644 --- a/cake/libs/view/media.php +++ b/cake/libs/view/media.php @@ -79,6 +79,13 @@ class MediaView extends View { 'iges' => 'model/iges', 'igs' => 'model/iges', 'mesh' => 'model/mesh', 'msh' => 'model/mesh', 'silo' => 'model/mesh', 'vrml' => 'model/vrml', 'wrl' => 'model/vrml', 'mime' => 'www/mime', 'pdb' => 'chemical/x-pdb', 'xyz' => 'chemical/x-pdb'); +/** + * Holds headers sent to browser before rendering media + * + * @var array + * @access protected + */ + var $_headers = array(); /** * Constructor * @@ -105,7 +112,7 @@ class MediaView extends View { } else { $path = APP . $path . $id; } - + if (!file_exists($path)) { header('Content-Type: text/html'); $this->cakeError('error404'); @@ -118,7 +125,7 @@ class MediaView extends View { if (is_array($mimeType)) { $this->mimeType = array_merge($this->mimeType, $mimeType); } - + if (isset($extension) && isset($this->mimeType[$extension]) && connection_status() == 0) { $chunkSize = 8192; $buffer = ''; @@ -148,13 +155,14 @@ class MediaView extends View { )); } foreach($contentTypes as $contentType) { - header('Content-Type: ' . $contentType); + $this->_header('Content-Type: ' . $contentType); } - header('Content-Disposition: attachment; filename="' . $name . '.' . $extension . '";'); - header('Expires: 0'); - header('Accept-Ranges: bytes'); - header('Cache-Control: private', false); - header('Pragma: private'); + $this->_header(array( + 'Content-Disposition: attachment; filename="' . $name . '.' . $extension . '";', + 'Expires: 0', + 'Accept-Ranges: bytes', + 'Cache-Control: private' => false, + 'Pragma: private')); $httpRange = env('HTTP_RANGE'); if (isset($httpRange)) { @@ -163,30 +171,36 @@ class MediaView extends View { $size = $fileSize - 1; $length = $fileSize - $range; - header('HTTP/1.1 206 Partial Content'); - header('Content-Length: ' . $length); - header('Content-Range: bytes ' . $range . $size . '/' . $fileSize); + $this->_header(array( + 'HTTP/1.1 206 Partial Content', + 'Content-Length: ' . $length, + 'Content-Range: bytes ' . $range . $size . '/' . $fileSize)); + fseek($handle, $range); } else { - header('Content-Length: ' . $fileSize); + $this->_header('Content-Length: ' . $fileSize); } } else { - header('Date: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT'); + $this->_header('Date: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT'); if ($cache) { if (!is_numeric($cache)) { $cache = strtotime($cache) - time(); } - header('Cache-Control: max-age=' . $cache); - header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $cache) . ' GMT'); - header('Pragma: cache'); + $this->_header(array( + 'Cache-Control: max-age=' . $cache, + 'Expires: ' . gmdate('D, d M Y H:i:s', time() + $cache) . ' GMT', + 'Pragma: cache')); } else { - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Pragma: no-cache'); + $this->_header(array( + 'Cache-Control: must-revalidate, post-check=0, pre-check=0', + 'Pragma: no-cache')); } - header('Last-Modified: ' . $modified); - header('Content-Type: ' . $this->mimeType[$extension]); - header('Content-Length: ' . $fileSize); + $this->_header(array( + 'Last-Modified: ' . $modified, + 'Content-Type: ' . $this->mimeType[$extension], + 'Content-Length: ' . $fileSize)); } + $this->_output(); @ob_end_clean(); while (!feof($handle) && connection_status() == 0 && !connection_aborted()) { @@ -201,5 +215,35 @@ class MediaView extends View { } return false; } +/** + * Method to set headers + * @param mixed $header + * @param boolean $boolean + * @access protected + */ + function _header($header, $boolean = true) { + if (is_array($header)) { + foreach ($header as $string => $boolean) { + if (is_numeric($string)) { + $this->_headers[] = array($boolean => true); + } else { + $this->_headers[] = array($string => $boolean); + } + } + return; + } + $this->_headers[] = array($header => $boolean); + return; + } +/** + * Method to output headers + * @access protected + */ + function _output() { + foreach ($this->_headers as $key => $value) { + $header = key($value); + header($header, $value[$header]); + } + } } -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/basics.test.php b/cake/tests/cases/basics.test.php index 14a5e99c4..141473cde 100644 --- a/cake/tests/cases/basics.test.php +++ b/cake/tests/cases/basics.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * BasicsTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -29,7 +29,7 @@ App::import('Core', 'Folder'); /** * BasicsTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases */ class BasicsTest extends CakeTestCase { @@ -119,6 +119,8 @@ class BasicsTest extends CakeTestCase { * @return void */ function testUses() { + $this->skipIf(class_exists('Security') || class_exists('Sanitize'), 'Security and/or Sanitize class already loaded'); + $this->assertFalse(class_exists('Security')); $this->assertFalse(class_exists('Sanitize')); @@ -532,15 +534,17 @@ class BasicsTest extends CakeTestCase { ob_start(); debug('this-is-a-test'); $result = ob_get_clean(); - $pattern = '/.*' . preg_quote(substr(__FILE__, 1), '/') - . '.*line.*' . (__LINE__ - 3) . '.*this-is-a-test.*/s'; + $pattern = '/.*\>(cake(\/|\\\)tests(\/|\\\)cases(\/|\\\)basics\.test\.php|'; + $pattern .= preg_quote(substr(__FILE__, 1), '/') . ')'; + $pattern .= '.*line.*' . (__LINE__ - 4) . '.*this-is-a-test.*/s'; $this->assertPattern($pattern, $result); ob_start(); debug('<div>this-is-a-test</div>', true); $result = ob_get_clean(); - $pattern = '/.*' . preg_quote(substr(__FILE__, 1), '/') - . '.*line.*' . (__LINE__ - 3) . '.*<div>this-is-a-test<\/div>.*/s'; + $pattern = '/.*\>(cake(\/|\\\)tests(\/|\\\)cases(\/|\\\)basics\.test\.php|'; + $pattern .= preg_quote(substr(__FILE__, 1), '/') . ')'; + $pattern .= '.*line.*' . (__LINE__ - 4) . '.*<div>this-is-a-test<\/div>.*/s'; $this->assertPattern($pattern, $result); } /** diff --git a/cake/tests/cases/console/cake.test.php b/cake/tests/cases/console/cake.test.php index 04e4ecae2..e5e0af1e6 100644 --- a/cake/tests/cases/console/cake.test.php +++ b/cake/tests/cases/console/cake.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ShellDispatcherTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2007, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -76,7 +76,6 @@ class TestShellDispatcher extends ShellDispatcher { * @return void */ function _initEnvironment() { - // } /** * stderr method @@ -111,9 +110,9 @@ class TestShellDispatcher extends ShellDispatcher { } } /** - * Short description for class. + * ShellDispatcherTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ShellDispatcherTest extends UnitTestCase { @@ -128,10 +127,11 @@ class ShellDispatcherTest extends UnitTestCase { $this->pluginPaths = Configure::read('pluginPaths'); $this->shellPaths = Configure::read('shellPaths'); } - - Configure::write('pluginPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS)); + Configure::write('pluginPaths', array( + TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS + )); Configure::write('shellPaths', array( - ROOT . DS . CONSOLE_LIBS, + CORE_PATH ? CONSOLE_LIBS : ROOT . DS . CONSOLE_LIBS, TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'vendors' . DS . 'shells' . DS )); } @@ -406,14 +406,18 @@ class ShellDispatcherTest extends UnitTestCase { */ function testBuildPaths() { $Dispatcher =& new TestShellDispatcher(); - $this->assertEqual($Dispatcher->shellPaths, array( + + $result = $Dispatcher->shellPaths; + $expected = array( TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS . 'test_plugin' . DS . 'vendors' . DS . 'shells' . DS, TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS . 'test_plugin_two' . DS . 'vendors' . DS . 'shells' . DS, APP . 'vendors' . DS . 'shells' . DS, VENDORS . 'shells' . DS, - ROOT . DS . CONSOLE_LIBS, + CORE_PATH ? CONSOLE_LIBS : ROOT . DS . CONSOLE_LIBS, TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'vendors' . DS . 'shells' . DS, - )); + ); + $this->assertIdentical(array_diff($result, $expected), array()); + $this->assertIdentical(array_diff($expected, $result), array()); } /** * testDispatch method @@ -440,32 +444,26 @@ class ShellDispatcherTest extends UnitTestCase { function testHelpCommand() { $Dispatcher =& new TestShellDispatcher(); - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin(\\\|\/)vendors(\\\|\/)shells:"; + $expected = "/ CORE(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n\t example"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - // Shells need to be returned ordered - // See Configure::__list/Folder::read - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin_two(\\\|\/)vendors(\\\|\/)shells:"; + $expected = "/ CORE(\\\|\/)tests(\\\|\/)test_app(\\\|\/)plugins(\\\|\/)test_plugin_two(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n\t example"; $expected .= "\n\t welcome"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - $expected = "/ ROOT(\\\|\/)app(\\\|\/)vendors(\\\|\/)shells:"; - $expected .= "\n\t - none"; + $expected = "/ APP(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); $expected = "/ ROOT(\\\|\/)vendors(\\\|\/)shells:"; - $expected .= "\n\t - none"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - // Shells need to be returned ordered - // See Configure::__list/Folder::read - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)console(\\\|\/)libs:"; + $expected = "/ CORE(\\\|\/)console(\\\|\/)libs:"; $expected .= "\n\t acl"; $expected .= "\n\t api"; $expected .= "\n\t bake"; @@ -476,7 +474,7 @@ class ShellDispatcherTest extends UnitTestCase { $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); - $expected = "/ ROOT(\\\|\/)cake(\\\|\/)tests(\\\|\/)test_app(\\\|\/)vendors(\\\|\/)shells:"; + $expected = "/ CORE(\\\|\/)tests(\\\|\/)test_app(\\\|\/)vendors(\\\|\/)shells:"; $expected .= "\n\t sample"; $expected .= "\n/"; $this->assertPattern($expected, $Dispatcher->stdout); diff --git a/cake/tests/cases/console/libs/shell.test.php b/cake/tests/cases/console/libs/shell.test.php index ee1d81eb8..e19dbd7cb 100644 --- a/cake/tests/cases/console/libs/shell.test.php +++ b/cake/tests/cases/console/libs/shell.test.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * Test Case for Shell + * ShellTest file * - * Long description for file + * Test Case for Shell * * PHP versions 4 and 5 * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs * @since CakePHP v 1.2.0.7726 * @version $Revision$ @@ -44,7 +44,7 @@ Mock::generatePartial( /** * TestShell class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs */ class TestShell extends Shell { @@ -52,7 +52,7 @@ class TestShell extends Shell { /** * TestAppleTask class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs */ class TestAppleTask extends Shell { @@ -60,7 +60,7 @@ class TestAppleTask extends Shell { /** * TestBananaTask class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs */ class TestBananaTask extends Shell { @@ -68,7 +68,7 @@ class TestBananaTask extends Shell { /** * ShellTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs */ class ShellTest extends CakeTestCase { diff --git a/cake/tests/cases/console/libs/tasks/extract.test.php b/cake/tests/cases/console/libs/tasks/extract.test.php index fe0483a12..d393a5275 100644 --- a/cake/tests/cases/console/libs/tasks/extract.test.php +++ b/cake/tests/cases/console/libs/tasks/extract.test.php @@ -1,9 +1,9 @@ <?php -/* SVN FILE: $Id: extract.test.php 7838 2008-11-07 10:41:52Z nate $ */ +/* SVN FILE: $Id$ */ /** - * Test Case for i18n extraction shell task + * ExtractTaskTest file * - * Long description for file + * Test Case for i18n extraction shell task * * PHP versions 4 and 5 * @@ -16,12 +16,12 @@ * @filesource * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs.tasks * @since CakePHP v 1.2.0.7726 - * @version $Revision: 7838 $ - * @modifiedby $LastChangedBy: DarkAngelBGE $ - * @lastmodified $Date: 2008-11-07 05:41:52 -0500 (Fri, 07 Nov 2008) $ + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ App::import('Core', array('Shell', 'Folder')); @@ -45,11 +45,10 @@ Mock::generatePartial( 'ShellDispatcher', 'TestExtractTaskMockShellDispatcher', array('getInput', 'stdout', 'stderr', '_stop', '_initEnvironment') ); - /** * ExtractTaskTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs.tasks */ class ExtractTaskTest extends CakeTestCase { diff --git a/cake/tests/cases/console/libs/tasks/test.test.php b/cake/tests/cases/console/libs/tasks/test.test.php index 87c3def79..c8835cfcb 100644 --- a/cake/tests/cases/console/libs/tasks/test.test.php +++ b/cake/tests/cases/console/libs/tasks/test.test.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * Test Case for test generation shell task + * TestTaskTest file * - * Long description for file + * Test Case for test generation shell task * * PHP versions 4 and 5 * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs.tasks * @since CakePHP v 1.2.0.7726 * @version $Revision$ @@ -52,7 +52,7 @@ Mock::generatePartial( /** * TestTaskTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.console.libs.tasks */ class TestTaskTest extends CakeTestCase { diff --git a/cake/tests/cases/dispatcher.test.php b/cake/tests/cases/dispatcher.test.php index f942c2c5a..09a17b84e 100644 --- a/cake/tests/cases/dispatcher.test.php +++ b/cake/tests/cases/dispatcher.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * DispatcherTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -72,7 +72,6 @@ class TestDispatcher extends Dispatcher { function _stop() { return true; } - } /** * MyPluginAppController class @@ -81,7 +80,6 @@ class TestDispatcher extends Dispatcher { * @subpackage cake.tests.cases */ class MyPluginAppController extends AppController { - } /** * MyPluginController class @@ -182,7 +180,6 @@ class SomePagesController extends AppController { function _protected() { return true; } - /** * redirect method overriding * @@ -264,7 +261,6 @@ class TestDispatchPagesController extends AppController { function admin_index() { return true; } - /** * camelCased method * @@ -282,7 +278,6 @@ class TestDispatchPagesController extends AppController { * @subpackage cake.tests.cases */ class ArticlesTestAppController extends AppController { - } /** * ArticlesTestController class @@ -481,9 +476,9 @@ class TimesheetsController extends AppController { } } /** - * Short description for class. + * DispatcherTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases */ class DispatcherTest extends CakeTestCase { @@ -502,6 +497,15 @@ class DispatcherTest extends CakeTestCase { Configure::write('App.webroot', 'webroot'); Configure::write('Cache.disable', true); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + $_GET = $this->_get; + } /** * testParseParamsWithoutZerosAndEmptyPost method * @@ -2088,14 +2092,5 @@ class DispatcherTest extends CakeTestCase { } return $filename; } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - $_GET = $this->_get; - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cache.test.php b/cake/tests/cases/libs/cache.test.php index 54079700f..84102a13e 100644 --- a/cake/tests/cases/libs/cache.test.php +++ b/cake/tests/cases/libs/cache.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * CacheTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -28,9 +28,9 @@ if (!class_exists('Cache')) { require LIBS . 'cache.php'; } /** - * Short description for class. + * CacheTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class CacheTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/cache/apc.test.php b/cake/tests/cases/libs/cache/apc.test.php index ceaddd440..dcee499f6 100644 --- a/cake/tests/cases/libs/cache/apc.test.php +++ b/cake/tests/cases/libs/cache/apc.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ApcEngineTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache * @since CakePHP(tm) v 1.2.0.5434 * @version $Revision$ @@ -28,9 +28,9 @@ if (!class_exists('Cache')) { require LIBS . 'cache.php'; } /** - * Short description for class. + * ApcEngineTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache */ class ApcEngineTest extends UnitTestCase { @@ -56,6 +56,15 @@ class ApcEngineTest extends UnitTestCase { function setUp() { Cache::config('apc', array('engine'=>'Apc', 'prefix' => 'cake_')); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Cache::config('default'); + } /** * testReadAndWriteCache method * @@ -127,14 +136,5 @@ class ApcEngineTest extends UnitTestCase { $result = Cache::delete('delete_test'); $this->assertTrue($result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - Cache::config('default'); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cache/file.test.php b/cake/tests/cases/libs/cache/file.test.php index 5a57b704e..cc8e0fbc6 100644 --- a/cake/tests/cases/libs/cache/file.test.php +++ b/cake/tests/cases/libs/cache/file.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * FileEngineTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache * @since CakePHP(tm) v 1.2.0.5434 * @version $Revision$ @@ -31,9 +31,9 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } /** - * Short description for class. + * FileEngineTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache */ class FileEngineTest extends CakeTestCase { @@ -103,7 +103,7 @@ class FileEngineTest extends CakeTestCase { $result = Cache::read('test'); $expecting = $data; $this->assertEqual($result, $expecting); - + Cache::delete('test'); } /** @@ -331,7 +331,12 @@ class FileEngineTest extends CakeTestCase { Cache::delete('test_dir_map'); $this->assertEqual($expected, $data); } - +/** + * testWriteQuotedString method + * + * @access public + * @return void + */ function testWriteQuotedString() { Cache::engine('File', array('path' => TMP . 'tests')); Cache::write('App.doubleQuoteTest', '"this is a quoted string"'); diff --git a/cake/tests/cases/libs/cache/memcache.test.php b/cake/tests/cases/libs/cache/memcache.test.php index e258c66d9..09d454739 100644 --- a/cake/tests/cases/libs/cache/memcache.test.php +++ b/cake/tests/cases/libs/cache/memcache.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * MemcacheEngineTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache * @since CakePHP(tm) v 1.2.0.5434 * @version $Revision$ @@ -27,9 +27,9 @@ if (!class_exists('Cache')) { require LIBS . 'cache.php'; }/** - * Short description for class. + * MemcacheEngineTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache */ /** @@ -129,7 +129,6 @@ class MemcacheEngineTest extends CakeTestCase { $result = $Cache->_Engine['Memcache']->connect('127.0.0.1'); $this->assertTrue($result); } - /** * testReadAndWriteCache method * diff --git a/cake/tests/cases/libs/cache/xcache.test.php b/cake/tests/cases/libs/cache/xcache.test.php index 15d535b68..9a50a8757 100644 --- a/cake/tests/cases/libs/cache/xcache.test.php +++ b/cake/tests/cases/libs/cache/xcache.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * XcacheEngineTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache * @since CakePHP(tm) v 1.2.0.5434 * @version $Revision$ @@ -28,9 +28,9 @@ if (!class_exists('Cache')) { require LIBS . 'cache.php'; } /** - * Short description for class. + * XcacheEngineTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.cache */ class XcacheEngineTest extends UnitTestCase { @@ -56,6 +56,15 @@ class XcacheEngineTest extends UnitTestCase { function setUp() { Cache::config('xcache', array('engine'=>'Xcache', 'prefix' => 'cake_')); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Cache::config('default'); + } /** * testSettings method * @@ -156,14 +165,5 @@ class XcacheEngineTest extends UnitTestCase { $result = Cache::clear(); $this->assertTrue($result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - Cache::config('default'); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cake_log.test.php b/cake/tests/cases/libs/cake_log.test.php index bb688af41..05dc39452 100644 --- a/cake/tests/cases/libs/cake_log.test.php +++ b/cake/tests/cases/libs/cake_log.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * CakeLogTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'Log'); /** - * Short description for class. + * CakeLogTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class CakeLogTest extends CakeTestCase { @@ -52,5 +52,4 @@ class CakeLogTest extends CakeTestCase { unlink(LOGS . 'error.log'); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cake_test_case.test.php b/cake/tests/cases/libs/cake_test_case.test.php index 7be184316..bd1550bf6 100644 --- a/cake/tests/cases/libs/cake_test_case.test.php +++ b/cake/tests/cases/libs/cake_test_case.test.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * CakeTestCase TestCase + * CakeTestCaseTest file * - * Test Case for CakeTestCase Class + * Test Case for CakeTestCase class * * PHP versions 4 and 5 * @@ -32,13 +32,12 @@ Mock::generate('CakeTestCase', 'CakeDispatcherMockTestCase'); SimpleTest::ignore('SubjectCakeTestCase'); SimpleTest::ignore('CakeDispatcherMockTestCase'); - /** -* SubjectCakeTestCase -* -* @package cake.tests -* @subpackage cake.tests.cases.libs -*/ + * SubjectCakeTestCase + * + * @package cake + * @subpackage cake.tests.cases.libs + */ class SubjectCakeTestCase extends CakeTestCase { /** * Feed a Mocked Reporter to the subject case @@ -51,18 +50,21 @@ class SubjectCakeTestCase extends CakeTestCase { function setReporter(&$reporter) { $this->_reporter = &$reporter; } - +/** + * testDummy method + * + * @return void + * @access public + */ function testDummy() { - } } - /** * CakeTestCaseTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs - **/ + */ class CakeTestCaseTest extends CakeTestCase { /** * setUp @@ -76,6 +78,16 @@ class CakeTestCaseTest extends CakeTestCase { $this->Case->setReporter($reporter); $this->Reporter = $reporter; } +/** + * tearDown + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Case); + unset($this->Reporter); + } /** * testAssertGoodTags * @@ -214,7 +226,6 @@ class CakeTestCaseTest extends CakeTestCase { $this->assertEqual(array_slice($result, 0, 2), array('start', 'startCase')); $this->assertEqual(array_slice($result, -2), array('endCase', 'end')); } - /** * TestTestAction * @@ -303,7 +314,7 @@ class CakeTestCaseTest extends CakeTestCase { $fixture =& new PostFixture($db); $fixture->create($db); $fixture->insert($db); - + $result = $this->Case->testAction('/tests_apps_posts/fixtured', array( 'return' => 'vars', 'fixturize' => true, @@ -334,17 +345,17 @@ class CakeTestCaseTest extends CakeTestCase { $fixture =& new PostFixture($db); $fixture->create($db); $fixture->insert($db); - + $this->Case->dropTables = false; $result = $this->Case->testAction('/tests_apps_posts/fixtured', array( 'return' => 'vars', 'fixturize' => true, 'connection' => 'cake_test_case', )); - + $tables = $db->listSources(); $this->assertTrue(in_array('cake_testaction_test_suite_posts', $tables)); - + $fixture->drop($db); $db =& ConnectionManager::getDataSource('test_suite'); $db->config['prefix'] = $_backPrefix; @@ -396,15 +407,5 @@ class CakeTestCaseTest extends CakeTestCase { Configure::write('viewPaths', $_back['view']); Configure::write('pluginPaths', $_back['plugin']); } -/** - * tearDown - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Case); - unset($this->Reporter); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/cake_test_fixture.test.php b/cake/tests/cases/libs/cake_test_fixture.test.php index d7b04cfc7..5e17ed25b 100644 --- a/cake/tests/cases/libs/cake_test_fixture.test.php +++ b/cake/tests/cases/libs/cake_test_fixture.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * CakeTestFixture file * * Long description for file * @@ -25,9 +25,8 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', 'DboSource'); - /** - * CakeFixture Test Fixture + * CakeTestFixtureTestFixture class * * @package cake * @subpackage cake.cake.tests.cases.libs @@ -66,10 +65,8 @@ class CakeTestFixtureTestFixture extends CakeTestFixture { array('name' => 'Chewbacca') ); } - - /** - * Import Fixture Test Fixture + * CakeTestFixtureImportFixture class * * @package cake * @subpackage cake.cake.tests.cases.libs @@ -88,9 +85,8 @@ class CakeTestFixtureImportFixture extends CakeTestFixture { */ var $import = array('table' => 'fixture_tests', 'connection' => 'test_suite'); } - /** - * Import Fixture Test Fixture + * CakeTestFixtureDefaultImportFixture class * * @package cake * @subpackage cake.cake.tests.cases.libs @@ -103,9 +99,8 @@ class CakeTestFixtureDefaultImportFixture extends CakeTestFixture { */ var $name = 'ImportFixture'; } - /** - * Fixture Test Case Model + * FixtureImportTestModel class * * @package default * @subpackage cake.cake.tests.cases.libs. @@ -115,9 +110,7 @@ class FixtureImportTestModel extends Model { var $useTable = 'fixture_tests'; var $useDbConfig = 'test_suite'; } - Mock::generate('DboSource', 'FixtureMockDboSource'); - /** * Test case for CakeTestFixture * @@ -125,10 +118,25 @@ Mock::generate('DboSource', 'FixtureMockDboSource'); * @subpackage cake.cake.tests.cases.libs */ class CakeTestFixtureTest extends CakeTestCase { +/** + * setUp method + * + * @access public + * @return void + */ function setUp() { $this->criticDb =& new FixtureMockDboSource(); $this->criticDb->fullDebug = true; } +/** + * tearDown + * + * @access public + * @return void + */ + function tearDown() { + unset($this->criticDb); + } /** * testInit * @@ -215,8 +223,9 @@ class CakeTestFixtureTest extends CakeTestCase { /** * test create method * + * @access public * @return void - **/ + */ function testCreate() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->expectAtLeastOnce('execute'); @@ -229,12 +238,12 @@ class CakeTestFixtureTest extends CakeTestCase { $return = $Fixture->create($this->criticDb); $this->assertFalse($return); } - /** * test the insert method * + * @access public * @return void - **/ + */ function testInsert() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->setReturnValue('insertMulti', true); @@ -244,12 +253,12 @@ class CakeTestFixtureTest extends CakeTestCase { $this->assertTrue($this->criticDb->fullDebug); $this->assertTrue($return); } - /** * Test the drop method * + * @access public * @return void - **/ + */ function testDrop() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->setReturnValueAt(0, 'execute', true); @@ -267,22 +276,14 @@ class CakeTestFixtureTest extends CakeTestCase { /** * Test the truncate method. * + * @access public * @return void - **/ + */ function testTruncate() { $Fixture =& new CakeTestFixtureTestFixture(); $this->criticDb->expectAtLeastOnce('truncate'); $Fixture->truncate($this->criticDb); $this->assertTrue($this->criticDb->fullDebug); } -/** - * tearDown - * - * @access public - * @return void - */ - function tearDown() { - unset($this->criticDb); - } } -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/class_registry.test.php b/cake/tests/cases/libs/class_registry.test.php index fd145ea8e..d40ed0e83 100644 --- a/cake/tests/cases/libs/class_registry.test.php +++ b/cake/tests/cases/libs/class_registry.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ClassRegistryTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -28,7 +28,7 @@ App::import('Core', 'ClassRegistry'); /** * ClassRegisterModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ClassRegisterModel extends CakeTestModel { @@ -43,7 +43,7 @@ class ClassRegisterModel extends CakeTestModel { /** * RegisterArticle class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class RegisterArticle extends ClassRegisterModel { @@ -58,7 +58,7 @@ class RegisterArticle extends ClassRegisterModel { /** * RegisterArticleFeatured class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class RegisterArticleFeatured extends ClassRegisterModel { @@ -73,7 +73,7 @@ class RegisterArticleFeatured extends ClassRegisterModel { /** * RegisterArticleTag class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class RegisterArticleTag extends ClassRegisterModel { @@ -88,7 +88,7 @@ class RegisterArticleTag extends ClassRegisterModel { /** * RegistryPluginAppModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class RegistryPluginAppModel extends ClassRegisterModel { @@ -103,7 +103,7 @@ class RegistryPluginAppModel extends ClassRegisterModel { /** * TestRegistryPluginModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class TestRegistryPluginModel extends RegistryPluginAppModel { @@ -118,7 +118,7 @@ class TestRegistryPluginModel extends RegistryPluginAppModel { /** * RegisterCategory class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class RegisterCategory extends ClassRegisterModel { @@ -133,7 +133,7 @@ class RegisterCategory extends ClassRegisterModel { /** * ClassRegistryTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ClassRegistryTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/code_coverage_manager.test.php b/cake/tests/cases/libs/code_coverage_manager.test.php index e2b8c6221..842f83d0e 100644 --- a/cake/tests/cases/libs/code_coverage_manager.test.php +++ b/cake/tests/cases/libs/code_coverage_manager.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * CodeCoverageManagerTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -28,13 +28,20 @@ App::import('Core', 'CodeCoverageManager'); require_once CAKE . 'tests' . DS . 'lib' . DS . 'cli_reporter.php'; require_once CAKE . 'tests' . DS . 'lib' . DS . 'cake_reporter.php'; /** - * Short description for class. + * CodeCoverageManagerTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class CodeCoverageManagerTest extends CakeTestCase { - +/** + * Skip if XDebug not installed + * + * @access public + */ + function skip() { + $this->skipif (!extension_loaded('xdebug'), 'XDebug not installed'); + } /** * startTest Method * Store reference of $_GET to restore later. @@ -44,7 +51,6 @@ class CodeCoverageManagerTest extends CakeTestCase { function startCase() { $this->_get = $_GET; } - /** * End Case - restore GET vars. * @@ -53,14 +59,6 @@ class CodeCoverageManagerTest extends CakeTestCase { function endCase() { $_GET = $this->_get; } -/** - * Skip if XDebug not installed - * - * @access public - */ - function skip() { - $this->skipif (!extension_loaded('xdebug'), 'XDebug not installed'); - } /** * testNoTestCaseSupplied method * diff --git a/cake/tests/cases/libs/configure.test.php b/cake/tests/cases/libs/configure.test.php index a8cd784c5..f5da1d324 100644 --- a/cake/tests/cases/libs/configure.test.php +++ b/cake/tests/cases/libs/configure.test.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ConfigureTest file * - * Long description for file + * Holds several tests * * PHP versions 4 and 5 * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -24,12 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ - App::import('Core', 'Configure'); /** - * Short description for class. + * ConfigureTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ConfigureTest extends CakeTestCase { @@ -149,7 +148,6 @@ class ConfigureTest extends CakeTestCase { $result = Configure::read('SomeName.someKey'); $this->assertEqual($result, null); } - /** * testSetErrorReporting Level * @@ -537,5 +535,4 @@ class AppImportTest extends UnitTestCase { $this->assertEqual($text, 'This is the welcome.php file in test_plugin/vendors directory'); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/component.test.php b/cake/tests/cases/libs/controller/component.test.php index a3204e4fd..25b0d6fb6 100644 --- a/cake/tests/cases/libs/controller/component.test.php +++ b/cake/tests/cases/libs/controller/component.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ComponentTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller * @since CakePHP(tm) v 1.2.0.5436 * @version $Revision$ @@ -70,7 +70,8 @@ if (!class_exists('AppController')) { /** * ParamTestComponent * - * @package cake.tests.cases.libs.controller + * @package cake + * @subpackage cake.tests.cases.libs.controller */ class ParamTestComponent extends Object { /** @@ -106,9 +107,9 @@ class ParamTestComponent extends Object { } } /** - * Short description for class. + * ComponentTestController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ComponentTestController extends AppController { @@ -185,7 +186,13 @@ class OrangeComponent extends Object { $this->Banana->testField = 'OrangeField'; $this->settings = $settings; } - +/** + * startup method + * + * @param Controller $controller + * @return string + * @access public + */ function startup(&$controller) { $controller->foo = 'pass'; } @@ -204,7 +211,13 @@ class BananaComponent extends Object { * @access public */ var $testField = 'BananaField'; - +/** + * startup method + * + * @param Controller $controller + * @return string + * @access public + */ function startup(&$controller) { $controller->bar = 'fail'; } @@ -216,6 +229,12 @@ class BananaComponent extends Object { * @subpackage cake.tests.cases.libs.controller */ class MutuallyReferencingOneComponent extends Object { +/** + * components property + * + * @var array + * @access public + */ var $components = array('MutuallyReferencingTwo'); } /** @@ -225,9 +244,14 @@ class MutuallyReferencingOneComponent extends Object { * @subpackage cake.tests.cases.libs.controller */ class MutuallyReferencingTwoComponent extends Object { +/** + * components property + * + * @var array + * @access public + */ var $components = array('MutuallyReferencingOne'); } - /** * SomethingWithEmailComponent class * @@ -235,6 +259,12 @@ class MutuallyReferencingTwoComponent extends Object { * @subpackage cake.tests.cases.libs.controller */ class SomethingWithEmailComponent extends Object { +/** + * components property + * + * @var array + * @access public + */ var $components = array('Email'); } /** @@ -321,7 +351,7 @@ class ComponentTest extends CakeTestCase { $this->assertTrue(is_a($Controller->Apple->Orange->Banana, 'BananaComponent')); $this->assertTrue(is_a($Controller->Apple->Orange->Controller, 'ComponentTestController')); $this->assertTrue(empty($Controller->Apple->Session)); - $this->assertTrue(empty($Controller->Apple->Orange->Session)); + $this->assertTrue(empty($Controller->Apple->Orange->Session)); } /** * Tests Component::startup() and only running callbacks for components directly attached to @@ -430,7 +460,7 @@ class ComponentTest extends CakeTestCase { $Controller->Component->initialize($Controller); $Controller->beforeFilter(); $Controller->Component->startup($Controller); - + $this->assertTrue(is_a( $Controller->SomethingWithEmail, 'SomethingWithEmailComponent' @@ -458,5 +488,4 @@ class ComponentTest extends CakeTestCase { $this->assertEqual($Controller->components, array('Session' => '', 'Orange' => array('colour' => 'blood orange'))); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/acl.test.php b/cake/tests/cases/libs/controller/components/acl.test.php index 7e6856dae..e651ebe0d 100644 --- a/cake/tests/cases/libs/controller/components/acl.test.php +++ b/cake/tests/cases/libs/controller/components/acl.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AclComponentTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components * @since CakePHP(tm) v 1.2.0.5435 * @version $Revision$ @@ -28,7 +28,6 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } App::import(array('controller'.DS.'components'.DS.'acl', 'model'.DS.'db_acl')); - /** * AclNodeTwoTestBase class * @@ -179,13 +178,11 @@ class DbAclTwoTest extends DbAcl { * @subpackage cake.tests.cases.libs.controller.components */ class IniAclTest extends IniAcl { - } - /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class AclComponentTest extends CakeTestCase { @@ -217,6 +214,15 @@ class AclComponentTest extends CakeTestCase { Configure::write('Acl.database', 'test_suite'); parent::before($method); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Acl); + } /** * testAclCreate method * @@ -543,15 +549,6 @@ class AclComponentTest extends CakeTestCase { $this->assertFalse($this->Acl->check('nobody', 'comments')); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Acl); - } /** * debug function - to help editing/creating test cases for the ACL component * diff --git a/cake/tests/cases/libs/controller/components/auth.test.php b/cake/tests/cases/libs/controller/components/auth.test.php index 83f7cc8a2..76d4c97b0 100644 --- a/cake/tests/cases/libs/controller/components/auth.test.php +++ b/cake/tests/cases/libs/controller/components/auth.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AutComponentTest file * * Long description for file * @@ -30,9 +30,9 @@ App::import('Core', 'Xml'); Configure::write('Security.salt', 'JfIxfs2guVoUubWDYhG93b0qyJfIxfs2guwvniR2G0FgaC9mi'); /** -* Short description for class. +* TestAuthComponent class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class TestAuthComponent extends AuthComponent { @@ -61,9 +61,9 @@ class TestAuthComponent extends AuthComponent { } } /** -* Short description for class. +* AuthUser class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class AuthUser extends CakeTestModel { @@ -117,12 +117,12 @@ class AuthUser extends CakeTestModel { } } /** -* Short description for class. -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ -class AuthUserCustomField extends AuthUser{ + * AuthUserCustomField class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ +class AuthUserCustomField extends AuthUser { /** * name property * @@ -132,9 +132,9 @@ class AuthUserCustomField extends AuthUser{ var $name = 'AuthUserCustomField'; } /** -* Short description for class. +* UuidUser class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class UuidUser extends CakeTestModel { @@ -195,9 +195,9 @@ class UuidUser extends CakeTestModel { } } /** -* Short description for class. +* AuthTestController class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class AuthTestController extends Controller { @@ -271,7 +271,7 @@ class AuthTestController extends Controller { * @return void */ function logout() { - //$this->redirect($this->Auth->logout()); + // $this->redirect($this->Auth->logout()); } /** * add method @@ -403,9 +403,9 @@ class AjaxAuthController extends Controller { } } /** -* Short description for class. +* AuthTest class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class AuthTest extends CakeTestCase { @@ -448,6 +448,15 @@ class AuthTest extends CakeTestCase { $this->Controller->Session->del('Message.auth'); $this->initialized = true; } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Controller, $this->AuthUser); + } /** * testNoAuth method * @@ -622,7 +631,6 @@ class AuthTest extends CakeTestCase { $result = $this->Controller->Auth->isAuthorized(); $this->assertFalse($result); } - /** * testAuthorizeCrud method * @@ -815,6 +823,18 @@ class AuthTest extends CakeTestCase { $expected = Router::normalize('posts/view/1'); $this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect')); + // QueryString parameters + $this->Controller->Session->del('Auth'); + $url = '/posts/index/29?print=true&refer=menu'; + $this->Controller->params = Router::parse($url); + $this->Controller->params['url']['url'] = Router::normalize($url); + $this->Controller->Auth->initialize($this->Controller); + $this->Controller->Auth->loginAction = array('controller' => 'AuthTest', 'action' => 'login'); + $this->Controller->Auth->userModel = 'AuthUser'; + $this->Controller->Auth->startup($this->Controller); + $expected = Router::normalize('posts/index/29?print=true&refer=menu'); + $this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect')); + //external authed action $_SERVER['HTTP_REFERER'] = 'http://webmail.example.com/view/message'; $this->Controller->Session->del('Auth'); @@ -1035,7 +1055,6 @@ class AuthTest extends CakeTestCase { $user = $this->Controller->Auth->user(); $this->assertTrue(!!$user); } - /** * testCustomField method * @@ -1070,7 +1089,6 @@ class AuthTest extends CakeTestCase { $user = $this->Controller->Auth->user(); $this->assertTrue(!!$user); } - /** * testAdminRoute method * @@ -1177,14 +1195,5 @@ class AuthTest extends CakeTestCase { $this->Controller->Auth->shutdown($this->Controller); $this->assertFalse($this->Controller->Session->read('Auth.redirect')); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Controller, $this->AuthUser); - } } -?> \ No newline at end of file +?> diff --git a/cake/tests/cases/libs/controller/components/cookie.test.php b/cake/tests/cases/libs/controller/components/cookie.test.php index 7503d5a46..5d8d87aa0 100644 --- a/cake/tests/cases/libs/controller/components/cookie.test.php +++ b/cake/tests/cases/libs/controller/components/cookie.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * CookieComponentTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components * @since CakePHP(tm) v 1.2.0.5435 * @version $Revision$ @@ -25,9 +25,26 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', array('Component', 'Controller', 'Cookie')); +/** + * CookieComponentTestController class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class CookieComponentTestController extends Controller { +/** + * components property + * + * @var array + * @access public + */ var $components = array('Cookie'); - +/** + * beforeFilter method + * + * @access public + * @return void + */ function beforeFilter() { $this->Cookie->name = 'CakeTestCookie'; $this->Cookie->time = 10; @@ -38,29 +55,19 @@ class CookieComponentTestController extends Controller { } } /** - * Short description for class. + * CookieComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class CookieComponentTest extends CakeTestCase { +/** + * Controller property + * + * @var CookieComponentTestController + * @access public + */ var $Controller; - - function __encrypt($value) { - if (is_array($value)) { - $value = $this->__implode($value); - } - return "Q2FrZQ==." .base64_encode(Security::cipher($value, $this->Controller->Cookie->key)); - } - - - function __implode($array) { - $string = ''; - foreach ($array as $key => $value) { - $string .= ',' . $key . '|' . $value; - } - return substr($string, 1); - } /** * start * @@ -75,6 +82,15 @@ class CookieComponentTest extends CakeTestCase { $this->Controller->Component->startup($this->Controller); $this->Controller->Cookie->destroy(); } +/** + * end + * + * @access public + * @return void + */ + function end() { + $this->Controller->Cookie->destroy(); + } /** * testCookieName * @@ -393,13 +409,31 @@ class CookieComponentTest extends CakeTestCase { unset($_COOKIE['CakeTestCookie']); } /** - * end + * encrypt method * - * @access public - * @return void + * @param mixed $value + * @return string + * @access private */ - function end() { - $this->Controller->Cookie->destroy(); + function __encrypt($value) { + if (is_array($value)) { + $value = $this->__implode($value); + } + return "Q2FrZQ==." . base64_encode(Security::cipher($value, $this->Controller->Cookie->key)); + } +/** + * implode method + * + * @param array $value + * @return string + * @access private + */ + function __implode($array) { + $string = ''; + foreach ($array as $key => $value) { + $string .= ',' . $key . '|' . $value; + } + return substr($string, 1); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/email.test.php b/cake/tests/cases/libs/controller/components/email.test.php index 18c0f7c57..bf42ad877 100644 --- a/cake/tests/cases/libs/controller/components/email.test.php +++ b/cake/tests/cases/libs/controller/components/email.test.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * Series of tests for email component. + * EmailComponentTest file * - * Long description for file + * Series of tests for email component. * * PHP versions 4 and 5 * @@ -54,7 +54,12 @@ class EmailTestController extends Controller { * @access public */ var $components = array('Email'); - +/** + * pageTitle property + * + * @var string + * @access public + */ var $pageTitle = 'EmailTest'; } /** @@ -63,7 +68,14 @@ class EmailTestController extends Controller { * @package cake * @subpackage cake.tests.cases.libs.controller.components */ -class EmailTest extends CakeTestCase { +class EmailComponentTest extends CakeTestCase { +/** + * Controller property + * + * @var EmailTestController + * @access public + */ + var $Controller; /** * name property * @@ -369,7 +381,12 @@ TEXTBLOC; $expected = "Previous content\n--alt-\n text/html; utf-8\n 7bit\n\n<p>My own html content</p>"; $this->assertEqual($result, $expected); } - +/** + * testMultibyte method + * + * @access public + * @return void + */ function testMultibyte() { $this->Controller->Email->reset(); $this->Controller->Email->to = 'postmaster@localhost'; @@ -396,10 +413,15 @@ TEXTBLOC; preg_match('/Subject: (.*)Header:/s', $this->Controller->Session->read('Message.email.message'), $matches); $this->assertEqual(trim($matches[1]), $subject); } - +/** + * osFix method + * + * @param string $string + * @access private + * @return string + */ function __osFix($string) { return str_replace(array("\r\n", "\r"), "\n", $string); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/request_handler.test.php b/cake/tests/cases/libs/controller/components/request_handler.test.php index a839dd213..3a597e8de 100644 --- a/cake/tests/cases/libs/controller/components/request_handler.test.php +++ b/cake/tests/cases/libs/controller/components/request_handler.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * RequestHandlerComponentTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components * @since CakePHP(tm) v 1.2.0.5435 * @version $Revision$ @@ -92,18 +92,37 @@ class RequestHandlerTestDisabledController extends Controller { } parent::__construct(); } - +/** + * beforeFilter method + * + * @return void + * @access public + */ function beforeFilter() { $this->RequestHandler->enabled = false; } } /** - * Short description for class. + * RequestHandlerComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class RequestHandlerComponentTest extends CakeTestCase { +/** + * Controller property + * + * @var RequestHandlerTestController + * @access public + */ + var $Controller; +/** + * RequestHandler property + * + * @var RequestHandlerComponent + * @access public + */ + var $RequestHandler; /** * setUp method * @@ -114,15 +133,17 @@ class RequestHandlerComponentTest extends CakeTestCase { $this->_init(); } /** - * init method + * tearDown method * - * @access protected + * @access public * @return void */ - function _init() { - $this->Controller = new RequestHandlerTestController(array('components' => array('RequestHandler'))); - $this->Controller->constructClasses(); - $this->RequestHandler =& $this->Controller->RequestHandler; + function tearDown() { + unset($this->RequestHandler); + unset($this->Controller); + if (!headers_sent()) { + header('Content-type: text/html'); //reset content type. + } } /** * testInitializeCallback method @@ -196,7 +217,7 @@ class RequestHandlerComponentTest extends CakeTestCase { $_SERVER['CONTENT_TYPE'] = 'application/xml; charset=UTF-8'; $this->RequestHandler->startup($this->Controller); $this->assertTrue(is_object($this->Controller->data)); - $this->assertEqual(strtolower(get_class($this->Controller->data)), 'xml'); + $this->assertEqual(strtolower(get_class($this->Controller->data)), 'xml'); } /** * testNonAjaxRedirect method @@ -481,17 +502,15 @@ class RequestHandlerComponentTest extends CakeTestCase { unset($_SERVER['HTTP_X_REQUESTED_WITH']); } /** - * tearDown method + * init method * - * @access public + * @access protected * @return void */ - function tearDown() { - unset($this->RequestHandler); - unset($this->Controller); - if (!headers_sent()) { - header('Content-type: text/html'); //reset content type. - } + function _init() { + $this->Controller = new RequestHandlerTestController(array('components' => array('RequestHandler'))); + $this->Controller->constructClasses(); + $this->RequestHandler =& $this->Controller->RequestHandler; } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/security.test.php b/cake/tests/cases/libs/controller/components/security.test.php index 468f68452..8314a18a2 100644 --- a/cake/tests/cases/libs/controller/components/security.test.php +++ b/cake/tests/cases/libs/controller/components/security.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SecurityComponentTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components * @since CakePHP(tm) v 1.2.0.5435 * @version $Revision$ @@ -25,22 +25,27 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Component', 'Security'); - /** -* Short description for class. +* TestSecurityComponent * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class TestSecurityComponent extends SecurityComponent { +/** + * validatePost method + * + * @param Controller $controller + * @return unknown + */ function validatePost(&$controller) { return $this->_validatePost($controller); } } /** -* Short description for class. +* SecurityTestController * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class SecurityTestController extends Controller { @@ -104,14 +109,27 @@ class SecurityTestController extends Controller { $this->testHeaders[] = $status; } } - /** - * Short description for class. + * SecurityComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class SecurityComponentTest extends CakeTestCase { +/** + * Controller property + * + * @var SecurityTestController + * @access public + */ + var $Controller; +/** + * oldSalt property + * + * @var string + * @access public + */ + var $oldSalt; /** * setUp method * @@ -128,7 +146,7 @@ class SecurityComponentTest extends CakeTestCase { Configure::write('Security.salt', 'foo!'); } /** - * Tear-down method. Resets environment state. + * Tear-down method. Resets environment state. * * @access public * @return void @@ -139,7 +157,6 @@ class SecurityComponentTest extends CakeTestCase { unset($this->Controller); Configure::write('Security.salt', $this->oldSalt); } - /** * testStartup method * @@ -584,7 +601,6 @@ DIGEST; $result = $this->Controller->Security->validatePost($this->Controller); $this->assertTrue($result); } - /** * test ValidatePost with multiple select elements. * @@ -776,7 +792,6 @@ DIGEST; $result = $this->Controller->Security->validatePost($this->Controller); $this->assertTrue($result); } - /** * testValidateHasManyRecordsPass method * @@ -1079,5 +1094,4 @@ DIGEST; $this->assertEqual(current($this->Controller->testHeaders), $expected); } } - -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/controller/components/session.test.php b/cake/tests/cases/libs/controller/components/session.test.php index f0dde24b1..1fe1f61e6 100644 --- a/cake/tests/cases/libs/controller/components/session.test.php +++ b/cake/tests/cases/libs/controller/components/session.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SessionComponentTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components * @since CakePHP(tm) v 1.2.0.5436 * @version $Revision$ @@ -29,12 +29,23 @@ App::import('Component', 'Session'); /** * SessionTestController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class SessionTestController extends Controller { +/** + * uses property + * + * @var array + * @access public + */ var $uses = array(); - +/** + * session_id method + * + * @return string + * @access public + */ function session_id() { return $this->Session->id(); } @@ -42,20 +53,31 @@ class SessionTestController extends Controller { /** * OrangeSessionTestController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class OrangeSessionTestController extends Controller { +/** + * uses property + * + * @var array + * @access public + */ var $uses = array(); - +/** + * session_id method + * + * @return string + * @access public + */ function session_id() { return $this->Session->id(); } } /** - * Short description for class. + * SessionComponentTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components */ class SessionComponentTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/controller/controller.test.php b/cake/tests/cases/libs/controller/controller.test.php index 1a4523def..85eaf5b35 100644 --- a/cake/tests/cases/libs/controller/controller.test.php +++ b/cake/tests/cases/libs/controller/controller.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ControllerTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller * @since CakePHP(tm) v 1.2.0.5436 * @version $Revision$ @@ -69,7 +69,7 @@ if (!class_exists('AppController')) { /** * ControllerPost class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ControllerPost extends CakeTestModel { @@ -146,7 +146,7 @@ class ControllerCommentsController extends AppController { /** * ControllerComment class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ControllerComment extends CakeTestModel { @@ -182,7 +182,7 @@ class ControllerComment extends CakeTestModel { /** * ControllerAlias class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ControllerAlias extends CakeTestModel { @@ -211,7 +211,7 @@ class ControllerAlias extends CakeTestModel { /** * ControllerPaginateModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ControllerPaginateModel extends CakeTestModel { @@ -336,7 +336,6 @@ class TestComponent extends Object { * @return void */ function beforeRedirect() { - return true; } } /** @@ -352,7 +351,6 @@ class AnotherTestController extends AppController { * @access public */ var $name = 'AnotherTest'; - /** * uses property * @@ -362,9 +360,9 @@ class AnotherTestController extends AppController { var $uses = null; } /** - * Short description for class. + * ControllerTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ControllerTest extends CakeTestCase { @@ -417,7 +415,12 @@ class ControllerTest extends CakeTestCase { Configure::write('pluginPaths', $_back['pluginPaths']); unset($Controller); } - +/** + * testAliasName method + * + * @access public + * @return void + */ function testAliasName() { $Controller =& new Controller(); $Controller->uses = array('NameTest'); @@ -428,7 +431,6 @@ class ControllerTest extends CakeTestCase { unset($Controller); } - /** * testPersistent method * @@ -735,7 +737,6 @@ class ControllerTest extends CakeTestCase { * @return void */ function testRedirect() { - $url = 'cakephp.org'; $codes = array( 100 => "Continue", 101 => "Switching Protocols", @@ -779,26 +780,85 @@ class ControllerTest extends CakeTestCase { ); Mock::generatePartial('Controller', 'MockController', array('header')); + Mock::generate('TestComponent', 'MockTestComponent'); + Mock::generate('TestComponent', 'MockTestBComponent'); + App::import('Helper', 'Cache'); -// $codes = array_merge($codes, array_flip($codes)); foreach ($codes as $code => $msg) { $MockController =& new MockController(); - $MockController->components = array('Test'); $MockController->Component =& new Component(); $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array("HTTP/1.1 {$code} {$msg}")); + $MockController->expectAt(1, 'header', array('Location: http://cakephp.org')); $MockController->expectCallCount('header', 2); - $MockController->redirect($url, (int) $code, false); + $MockController->redirect('http://cakephp.org', (int)$code, false); + $this->assertFalse($MockController->autoRender); } - $codes = array_flip($codes); foreach ($codes as $code => $msg) { $MockController =& new MockController(); - $MockController->components = array('Test'); $MockController->Component =& new Component(); $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array("HTTP/1.1 {$code} {$msg}")); + $MockController->expectAt(1, 'header', array('Location: http://cakephp.org')); $MockController->expectCallCount('header', 2); - $MockController->redirect($url, $code, false); + $MockController->redirect('http://cakephp.org', $msg, false); + $this->assertFalse($MockController->autoRender); } + + $MockController =& new MockController(); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array('Location: http://www.example.org/users/login')); + $MockController->expectCallCount('header', 1); + $MockController->redirect('http://www.example.org/users/login', null, false); + + $MockController =& new MockController(); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://www.example.org/users/login')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://www.example.org/users/login', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', null); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://cakephp.org')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://cakephp.org', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', 'http://book.cakephp.org'); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://book.cakephp.org')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://cakephp.org', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', false); + $MockController->expectNever('header'); + $MockController->redirect('http://cakephp.org', 301, false); + + $MockController =& new MockController(); + $MockController->components = array('MockTest', 'MockTestB'); + $MockController->Component =& new Component(); + $MockController->Component->init($MockController); + $MockController->MockTest->setReturnValue('beforeRedirect', 'http://book.cakephp.org'); + $MockController->MockTestB->setReturnValue('beforeRedirect', 'http://bakery.cakephp.org'); + $MockController->expectAt(0, 'header', array('HTTP/1.1 301 Moved Permanently')); + $MockController->expectAt(1, 'header', array('Location: http://bakery.cakephp.org')); + $MockController->expectCallCount('header', 2); + $MockController->redirect('http://cakephp.org', 301, false); } /** * testMergeVars method @@ -859,7 +919,7 @@ class ControllerTest extends CakeTestCase { $this->assertTrue(isset($TestController->ControllerComment)); } /** - * Ensure that __mergeVars is not being greedy and merging with + * Ensure that __mergeVars is not being greedy and merging with * AppController when you make an instance of Controller * * @return void diff --git a/cake/tests/cases/libs/controller/pages_controller.test.php b/cake/tests/cases/libs/controller/pages_controller.test.php index 0714160e9..6bb17a18e 100644 --- a/cake/tests/cases/libs/controller/pages_controller.test.php +++ b/cake/tests/cases/libs/controller/pages_controller.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * PagesControllerTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller * @since CakePHP(tm) v 1.2.0.5436 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', array('Controller', 'AppController', 'PagesController')); /** - * Short description for class. + * PagesControllerTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class PagesControllerTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/controller/scaffold.test.php b/cake/tests/cases/libs/controller/scaffold.test.php index 9a761026a..041b30d63 100644 --- a/cake/tests/cases/libs/controller/scaffold.test.php +++ b/cake/tests/cases/libs/controller/scaffold.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ScaffoldTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller * @since CakePHP(tm) v 1.2.0.5436 * @version $Revision$ @@ -47,9 +47,8 @@ class ScaffoldMockController extends Controller { */ var $scaffold; } - /** - * TestScaffoldMock + * TestScaffoldMock class * * @package cake * @subpackage cake.tests.cases.libs.controller @@ -72,7 +71,6 @@ class TestScaffoldMock extends Scaffold { return $this->_params; } } - /** * ScaffoldMock class * @@ -112,9 +110,8 @@ class ScaffoldMock extends CakeTestModel { ) ); } - /** - * ScaffoldAuthor class + * ScaffoldUser class * * @package cake * @subpackage cake.tests.cases.libs.controller @@ -140,7 +137,6 @@ class ScaffoldUser extends CakeTestModel { ) ); } - /** * ScaffoldComment class * @@ -168,7 +164,6 @@ class ScaffoldComment extends CakeTestModel { ) ); } - /** * TestScaffoldView class * @@ -188,9 +183,9 @@ class TestScaffoldView extends ScaffoldView { } } /** - * ScaffoldViewTest Case. + * ScaffoldViewTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller */ class ScaffoldViewTest extends CakeTestCase { @@ -210,6 +205,15 @@ class ScaffoldViewTest extends CakeTestCase { function setUp() { $this->Controller =& new ScaffoldMockController(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Controller); + } /** * testGetViewFilename method * @@ -298,7 +302,6 @@ class ScaffoldViewTest extends CakeTestCase { Configure::write('pluginPaths', $_back['pluginPaths']); Configure::write('Routing.admin', $_admin); } - /** * test default index scaffold generation * @@ -505,26 +508,21 @@ class ScaffoldViewTest extends CakeTestCase { Configure::write('Routing.admin', $_backAdmin); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Controller); - } } - - /** - * Scaffold Test Case + * Scaffold Test class * * @package cake * @subpackage cake.tests.cases.libs.controller */ -class ScaffoldTestCase extends CakeTestCase { +class ScaffoldTest extends CakeTestCase { +/** + * Controller property + * + * @var SecurityTestController + * @access public + */ + var $Controller; /** * fixtures property * @@ -541,6 +539,15 @@ class ScaffoldTestCase extends CakeTestCase { function setUp() { $this->Controller =& new ScaffoldMockController(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Controller); + } /** * Test the correct Generation of Scaffold Params. * This ensures that the correct action and view will be generated @@ -573,15 +580,5 @@ class ScaffoldTestCase extends CakeTestCase { $result = $Scaffold->getParams(); $this->assertEqual($result['action'], 'admin_edit'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Controller); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/debugger.test.php b/cake/tests/cases/libs/debugger.test.php index 0f80d2bf8..57f8b03dc 100644 --- a/cake/tests/cases/libs/debugger.test.php +++ b/cake/tests/cases/libs/debugger.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * DebuggerTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -26,23 +26,24 @@ */ App::import('Core', 'Debugger'); /** - * DebugggerTestCaseDebuggger + * DebugggerTestCaseDebuggger class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ -class DebuggerTestCaseDebugger extends Debugger { - +class DebuggerTestCaseDebugger extends Debugger { } /** - * Debugger Test Case. + * DebuggerTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class DebuggerTest extends CakeTestCase { - -//do not move code below or it change line numbers which are used in the tests +// !!! +// !!! Be careful with changing code below as it may +// !!! change line numbers which are used in the tests +// !!! /** * setUp method * @@ -59,6 +60,15 @@ class DebuggerTest extends CakeTestCase { } } } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('log', true); + } /** * testDocRef method * @@ -71,18 +81,18 @@ class DebuggerTest extends CakeTestCase { $debugger = new Debugger(); $this->assertEqual(ini_get('docref_root'), 'http://php.net/'); } - /** * test Excerpt writing * + * @access public * @return void - **/ + */ function testExcerpt() { $return = Debugger::excerpt(__FILE__, 2, 2); $this->assertTrue(is_array($return)); $this->assertEqual(count($return), 4); $this->assertPattern('#/* SVN FILE: \$Id: debugger.test.php#', $return[1]); - + $return = Debugger::excerpt('[internal]', 2, 2); $this->assertTrue(empty($return)); } @@ -247,34 +257,24 @@ class DebuggerTest extends CakeTestCase { $expected = "<pre>array(\n\t\"People\" => array()\n)</pre>"; $this->assertEqual($expected, $result); } - /** * test getInstance. * - * @return void - **/ - function testGetInstance() { - $result = Debugger::getInstance(); - $this->assertIsA($result, 'Debugger'); - - $result = Debugger::getInstance('DebuggerTestCaseDebugger'); - $this->assertIsA($result, 'DebuggerTestCaseDebugger'); - - $result = Debugger::getInstance(); - $this->assertIsA($result, 'DebuggerTestCaseDebugger'); - - $result = Debugger::getInstance('Debugger'); - $this->assertIsA($result, 'Debugger'); - } -/** - * tearDown method - * * @access public * @return void */ - function tearDown() { - Configure::write('log', true); - } + function testGetInstance() { + $result = Debugger::getInstance(); + $this->assertIsA($result, 'Debugger'); + $result = Debugger::getInstance('DebuggerTestCaseDebugger'); + $this->assertIsA($result, 'DebuggerTestCaseDebugger'); + + $result = Debugger::getInstance(); + $this->assertIsA($result, 'DebuggerTestCaseDebugger'); + + $result = Debugger::getInstance('Debugger'); + $this->assertIsA($result, 'Debugger'); + } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/error.test.php b/cake/tests/cases/libs/error.test.php index b0b85947f..ef09072c0 100644 --- a/cake/tests/cases/libs/error.test.php +++ b/cake/tests/cases/libs/error.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ErrorHandlerTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -27,15 +27,13 @@ if (class_exists('TestErrorHandler')) { return; } - if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } - /** * BlueberryComponent class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class BlueberryComponent extends Object { @@ -59,7 +57,7 @@ class BlueberryComponent extends Object { /** * BlueberryDispatcher class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class BlueberryDispatcher extends Dispatcher { @@ -77,7 +75,7 @@ class BlueberryDispatcher extends Dispatcher { /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class AuthBlueberryUser extends CakeTestModel { @@ -100,7 +98,7 @@ if (!class_exists('AppController')) { /** * AppController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class AppController extends Controller { @@ -144,7 +142,7 @@ App::import('Core', array('Error', 'Controller')); /** * TestErrorController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class TestErrorController extends AppController { @@ -169,7 +167,7 @@ class TestErrorController extends AppController { /** * BlueberryController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class BlueberryController extends AppController { @@ -198,7 +196,7 @@ class BlueberryController extends AppController { /** * TestErrorHandler class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class TestErrorHandler extends ErrorHandler { @@ -213,12 +211,12 @@ class TestErrorHandler extends ErrorHandler { } } /** - * Short description for class. + * ErrorHandlerTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ -class TestErrorHandlerTest extends CakeTestCase { +class ErrorHandlerTest extends CakeTestCase { /** * skip method * @@ -259,7 +257,7 @@ class TestErrorHandlerTest extends CakeTestCase { $result = ob_get_clean(); $this->assertPattern('/<h2>Not Found<\/h2>/', $result); $this->assertPattern("/<strong>'\/test_error'<\/strong>/", $result); - + ob_start(); $TestErrorHandler =& new TestErrorHandler('error404', array('message' => 'Page not found')); ob_get_clean(); diff --git a/cake/tests/cases/libs/file.test.php b/cake/tests/cases/libs/file.test.php index 6ec5ffbb9..2daff0f20 100644 --- a/cake/tests/cases/libs/file.test.php +++ b/cake/tests/cases/libs/file.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * FileTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -25,11 +25,10 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', 'File'); - /** - * Short description for class. + * FileTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class FileTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/folder.test.php b/cake/tests/cases/libs/folder.test.php index 1dd8e8ff0..d9edfc83f 100644 --- a/cake/tests/cases/libs/folder.test.php +++ b/cake/tests/cases/libs/folder.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * FolderTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'File'); /** - * Short description for class. + * FolderTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class FolderTest extends CakeTestCase { @@ -271,13 +271,16 @@ class FolderTest extends CakeTestCase { ); $result = $Folder->tree(TEST_CAKE_CORE_INCLUDE_PATH . 'config', false); - $this->assertEqual($result, $expected); + $this->assertIdentical(array_diff($expected[0], $result[0]), array()); + $this->assertIdentical(array_diff($result[0], $expected[0]), array()); $result = $Folder->tree(TEST_CAKE_CORE_INCLUDE_PATH . 'config', false, 'dir'); - $this->assertEqual($result, $expected[0]); + $this->assertIdentical(array_diff($expected[0], $result), array()); + $this->assertIdentical(array_diff($result, $expected[0]), array()); $result = $Folder->tree(TEST_CAKE_CORE_INCLUDE_PATH . 'config', false, 'files'); - $this->assertEqual($result, $expected[1]); + $this->assertIdentical(array_diff($expected[1], $result), array()); + $this->assertIdentical(array_diff($result, $expected[1]), array()); } /** * testWindowsPath method @@ -405,10 +408,20 @@ class FolderTest extends CakeTestCase { $Folder->cd(TEST_CAKE_CORE_INCLUDE_PATH . 'config'); $result = $Folder->find(); $expected = array('config.php', 'paths.php'); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->find('.*', true); + $expected = array('config.php', 'paths.php'); $this->assertIdentical($result, $expected); $result = $Folder->find('.*\.php'); $expected = array('config.php', 'paths.php'); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->find('.*\.php', true); + $expected = array('config.php', 'paths.php'); $this->assertIdentical($result, $expected); $result = $Folder->find('.*ig\.php'); @@ -450,6 +463,14 @@ class FolderTest extends CakeTestCase { TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'config.php', TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'paths.php' ); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->findRecursive('(config|paths)\.php', true); + $expected = array( + TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'config.php', + TEST_CAKE_CORE_INCLUDE_PATH . 'config' . DS . 'paths.php' + ); $this->assertIdentical($result, $expected); $Folder->cd(TMP); @@ -472,6 +493,14 @@ class FolderTest extends CakeTestCase { TMP . 'testme' . DS . 'my.php', TMP . 'testme' . DS . 'paths.php' ); + $this->assertIdentical(array_diff($expected, $result), array()); + $this->assertIdentical(array_diff($result, $expected), array()); + + $result = $Folder->findRecursive('(paths|my)\.php', true); + $expected = array( + TMP . 'testme' . DS . 'my.php', + TMP . 'testme' . DS . 'paths.php' + ); $this->assertIdentical($result, $expected); $Folder->cd(TEST_CAKE_CORE_INCLUDE_PATH . 'config'); diff --git a/cake/tests/cases/libs/http_socket.test.php b/cake/tests/cases/libs/http_socket.test.php index ef9325693..4b32bd5b8 100644 --- a/cake/tests/cases/libs/http_socket.test.php +++ b/cake/tests/cases/libs/http_socket.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * HttpSocketTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'HttpSocket'); /** - * Short description for class. + * HttpSocketTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class HttpSocketTest extends CakeTestCase { @@ -49,6 +49,8 @@ class HttpSocketTest extends CakeTestCase { /** * This function sets up a TestHttpSocket instance we are going to use for testing * + * @access public + * @return void */ function setUp() { if (!class_exists('TestHttpSocket')) { @@ -62,6 +64,8 @@ class HttpSocketTest extends CakeTestCase { /** * We use this function to clean up after the test case was executed * + * @access public + * @return void */ function tearDown() { unset($this->Socket, $this->RequestSocket); @@ -69,6 +73,8 @@ class HttpSocketTest extends CakeTestCase { /** * Test that HttpSocket::__construct does what one would expect it to do * + * @access public + * @return void */ function testConstruct() { $this->Socket->reset(); @@ -92,10 +98,11 @@ class HttpSocketTest extends CakeTestCase { $this->Socket->__construct(array('request' => array('uri' => 'http://www.cakephp.org:23/'))); $this->assertIdentical($this->Socket->config, $baseConfig); } - /** * Test that HttpSocket::configUri works properly with different types of arguments * + * @access public + * @return void */ function testConfigUri() { $this->Socket->reset(); @@ -158,10 +165,11 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($this->Socket->config, $expected); $this->assertIdentical($r, false); } - /** * Tests that HttpSocket::request (the heart of the HttpSocket) is working properly. * + * @access public + * @return void */ function testRequest() { $this->Socket->reset(); @@ -515,10 +523,11 @@ class HttpSocketTest extends CakeTestCase { $this->RequestSocket->{low($method)}('http://www.google.com/', null, array('line' => 'Hey Server')); } } - /** - * Enter description here... + * testParseResponse method * + * @access public + * @return void */ function testParseResponse() { $this->Socket->reset(); @@ -605,10 +614,11 @@ class HttpSocketTest extends CakeTestCase { } } } - /** - * Enter description here... + * testDecodeBody method * + * @access public + * @return void */ function testDecodeBody() { $this->Socket->reset(); @@ -647,10 +657,11 @@ class HttpSocketTest extends CakeTestCase { } } } - /** - * Enter description here... + * testDecodeChunkedBody method * + * @access public + * @return void */ function testDecodeChunkedBody() { $this->Socket->reset(); @@ -763,10 +774,11 @@ class HttpSocketTest extends CakeTestCase { $r = $this->Socket->buildRequestLine("GET * HTTP/1.1\r\n"); $this->assertIdentical($r, "GET * HTTP/1.1\r\n"); } - /** * Asserts that HttpSocket::parseUri is working properly * + * @access public + * @return void */ function testParseUri() { $this->Socket->reset(); @@ -867,10 +879,11 @@ class HttpSocketTest extends CakeTestCase { 'port' => 8080, )); } - /** * Tests that HttpSocket::buildUri can turn all kinds of uri arrays (and strings) into fully or partially qualified URI's * + * @access public + * @return void */ function testBuildUri() { $this->Socket->reset(); @@ -929,10 +942,11 @@ class HttpSocketTest extends CakeTestCase { $r = $this->Socket->buildUri(array('scheme' => 'foo', 'host' => 'www.cakephp.org')); $this->assertIdentical($r, 'foo://www.cakephp.org:80/'); } - /** * Asserts that HttpSocket::parseQuery is working properly * + * @access public + * @return void */ function testParseQuery() { $this->Socket->reset(); @@ -1033,11 +1047,12 @@ class HttpSocketTest extends CakeTestCase { ); $this->assertIdentical($query, $expectedQuery); } - /** * Tests that HttpSocket::buildHeader can turn a given $header array into a proper header string according to * HTTP 1.1 specs. * + * @access public + * @return void */ function testBuildHeader() { $this->Socket->reset(); @@ -1070,10 +1085,11 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($r, "Test\"@\"Field: My value\r\n"); } - /** * Test that HttpSocket::parseHeader can take apart a given (and valid) $header string and turn it into an array. * + * @access public + * @return void */ function testParseHeader() { $this->Socket->reset(); @@ -1131,10 +1147,10 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($r, $expected); } /** - * undocumented function + * testParseCookies method * - * @return void * @access public + * @return void */ function testParseCookies() { $header = array( @@ -1168,7 +1184,7 @@ class HttpSocketTest extends CakeTestCase { $this->assertEqual($cookies, $expected); } /** - * undocumented function + * testBuildCookies method * * @return void * @access public @@ -1191,6 +1207,8 @@ class HttpSocketTest extends CakeTestCase { /** * Tests that HttpSocket::__tokenEscapeChars() returns the right characters. * + * @access public + * @return void */ function testTokenEscapeChars() { $this->Socket->reset(); @@ -1211,10 +1229,11 @@ class HttpSocketTest extends CakeTestCase { $r = $this->Socket->__tokenEscapeChars(false); $this->assertEqual($r, $expected); } - /** * Test that HttpSocket::escapeToken is escaping all characters as descriped in RFC 2616 (HTTP 1.1 specs) * + * @access public + * @return void */ function testEscapeToken() { $this->Socket->reset(); @@ -1235,10 +1254,11 @@ class HttpSocketTest extends CakeTestCase { $expectedToken = 'Extreme-":"Token-" "-""""@"-test'; $this->assertIdentical($expectedToken, $escapedToken); } - /** * Test that escaped token strings are properly unescaped by HttpSocket::unescapeToken * + * @access public + * @return void */ function testUnescapeToken() { $this->Socket->reset(); @@ -1259,11 +1279,12 @@ class HttpSocketTest extends CakeTestCase { $expectedToken = 'Extreme-:Token- -"@-test'; $this->assertIdentical($expectedToken, $escapedToken); } - /** * This tests asserts HttpSocket::reset() resets a HttpSocket instance to it's initial state (before Object::__construct * got executed) * + * @access public + * @return void */ function testReset() { $this->Socket->reset(); @@ -1281,11 +1302,12 @@ class HttpSocketTest extends CakeTestCase { $this->assertIdentical($return, true); } - /** * This tests asserts HttpSocket::reset(false) resets certain HttpSocket properties to their initial state (before * Object::__construct got executed). * + * @access public + * @return void */ function testPartialReset() { $this->Socket->reset(); @@ -1308,6 +1330,5 @@ class HttpSocketTest extends CakeTestCase { } $this->assertIdentical($return, true); } - } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/i18n.test.php b/cake/tests/cases/libs/i18n.test.php index d10a61f73..89d87cc23 100644 --- a/cake/tests/cases/libs/i18n.test.php +++ b/cake/tests/cases/libs/i18n.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * I18nTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'i18n'); /** - * Short description for class. + * I18nTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class I18nTest extends CakeTestCase { @@ -2336,7 +2336,12 @@ class I18nTest extends CakeTestCase { $this->assertFalse(in_array('24 everything else (from core translated)', $corePlurals)); $this->assertFalse(in_array('25 everything else (from core translated)', $corePlurals)); } - +/** + * testPluginTranslation method + * + * @access public + * @return void + */ function testPluginTranslation() { $pluginPaths = Configure::read('pluginPaths'); Configure::write('pluginPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins')); diff --git a/cake/tests/cases/libs/inflector.test.php b/cake/tests/cases/libs/inflector.test.php index e3f1b5710..089fe5e9c 100644 --- a/cake/tests/cases/libs/inflector.test.php +++ b/cake/tests/cases/libs/inflector.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * InflectorTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'Inflector'); /** - * Short description for class. + * InflectorTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class InflectorTest extends CakeTestCase { @@ -48,6 +48,15 @@ class InflectorTest extends CakeTestCase { function setUp() { $this->Inflector = Inflector::getInstance(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Inflector); + } /** * testInstantiation method * @@ -246,14 +255,5 @@ class InflectorTest extends CakeTestCase { $this->assertEqual(Inflector::humanize('posts_tags'), 'Posts Tags'); $this->assertEqual(Inflector::humanize('file_systems'), 'File Systems'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Inflector); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/l10n.test.php b/cake/tests/cases/libs/l10n.test.php index 4737ff4a6..f3aaea211 100644 --- a/cake/tests/cases/libs/l10n.test.php +++ b/cake/tests/cases/libs/l10n.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * L10nTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -28,7 +28,7 @@ App::import('Core', 'l10n'); /** * L10nTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class L10nTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/magic_db.test.php b/cake/tests/cases/libs/magic_db.test.php index def8d11de..3eba7eb46 100644 --- a/cake/tests/cases/libs/magic_db.test.php +++ b/cake/tests/cases/libs/magic_db.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * MagicDb test + * MagicDbTest file * * PHP versions 4 and 5 * @@ -22,23 +22,21 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ - uses('magic_db', 'object'); /** - * The test class for the MagicDb classA + * The test class for the MagicDb class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class MagicDbTest extends UnitTestCase { /** * The MagicDb instance to be tested * - * @var object + * @var MagicDb * @access public */ var $Db = null; - /** * Sets up a MagicDb class instance for testing * @@ -47,7 +45,6 @@ class MagicDbTest extends UnitTestCase { function setUp() { $this->Db =& new MagicDb(); } - /** * MagicDb::analyze should properly detect the file type and output additional info as requested. * @@ -63,7 +60,6 @@ class MagicDbTest extends UnitTestCase { $r = $this->Db->analyze(WWW_ROOT.'img'.DS.'cake.icon.gif'); // TODO: Check several serialized file samples for accurate detection } - /** * MagicDb::read should properly read MagicDb databases from .php-/.db-files and plain data arguments passed in and return false if the file wasn't found or * if the readed data did not validate. @@ -103,7 +99,6 @@ class MagicDbTest extends UnitTestCase { $r = $this->Db->read(MagicDbTestData::get('magic.snippet.db')); $this->assertTrue($r === true); } - /** * MagicDb::toArray should either return the MagicDb::db property, or the parsed array data if a magic.db dump is passed in as the first argument * @@ -127,7 +122,6 @@ class MagicDbTest extends UnitTestCase { $r = $this->Db->toArray(MagicDbTestData::get('magic.snippet.db')); $this->assertTrue($r === MagicDbTestData::get('magic.snippet.db.result')); } - /** * The MagicDb::validates function should return if the array passed to it or the local db property contains a valid MagicDb record set * @@ -152,11 +146,10 @@ class MagicDbTest extends UnitTestCase { $this->assertTrue($r === true); } } - /** * Test data holding object for MagicDb tests * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ /** @@ -177,7 +170,6 @@ class MagicDbTestData extends Object { 'magic.snippet.db.result' => 'YToyOntzOjY6ImhlYWRlciI7YToyOntzOjQ6IkRhdGUiO3M6MTA6IjIwMDUtMDMtMjkiO3M6NjoiU291cmNlIjtzOjIyOiJodHRwOi8vd3d3Lm1hZ2ljZGIub3JnIjt9czo4OiJkYXRhYmFzZSI7YToyOntpOjA7YTo0OntpOjA7YTo0OntpOjA7czoxOiIwIjtpOjE7czo2OiJzdHJpbmciO2k6MjtzOjg6IlxceEZGV1BDIjtpOjM7czo1OToiW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBoZWxwIGZpbGUiO31pOjE7YTo0OntpOjA7czoyOiImOSI7aToxO3M6NDoiYnl0ZSI7aToyO3M6NDoiMHgwMiI7aTozO3M6MDoiIjt9aToyO2E6Mzp7aTowO3M6ODoiPjEwIGJ5dGUiO2k6MTtzOjE6IngiO2k6MjtzOjEyOiIsIHZlcnNpb24gJWQiO31pOjM7YTo0OntpOjA7czozOiI+MTEiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjE6IngiO2k6MztzOjM6Ii4lZCI7fX1pOjE7YTo0OntpOjA7YTo0OntpOjA7czoxOiIwIjtpOjE7czo2OiJzdHJpbmciO2k6MjtzOjg6IlxceEZGV1BDIjtpOjM7czo3ODoiW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBhcHBsaWNhdGlvbiByZXNvdXJjZSBsaWJyYXJ5Ijt9aToxO2E6NDp7aTowO3M6MjoiJjkiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjI6IjUxIjtpOjM7czowOiIiO31pOjI7YTo0OntpOjA7czozOiI+MTAiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjE6IngiO2k6MztzOjEyOiIsIHZlcnNpb24gJWQiO31pOjM7YTo0OntpOjA7czozOiI+MTEiO2k6MTtzOjQ6ImJ5dGUiO2k6MjtzOjE6IngiO2k6MztzOjM6Ii4lZCI7fX19fQ==', 'magic.db' => 'IyBGSUxFX0lEIERCDQojIERhdGU6MjAwNS0wMy0yOQ0KIyBTb3VyY2U6aHR0cDovL3d3dy5tYWdpY2RiLm9yZw0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBoZWxwIGZpbGUNCiY5CWJ5dGUJMHgwMgkNCj4xMCBieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBhcHBsaWNhdGlvbiByZXNvdXJjZSBsaWJyYXJ5DQomOQlieXRlCTUxCQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGJsb2NrIGZpbGUNCiY5CWJ5dGUJMTMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgY29sdW1uIGJsb2NrDQomOQlieXRlCTE1CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGRpY3Rpb25hcnkgZmlsZQ0KJjkJYnl0ZQkweDBCCQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGRpY3Rpb25hcnkgcnVsZXMgZmlsZQ0KJjkJYnl0ZQkzNAkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBleHRlcm5hbCBzcGVsbCBjb2RlIG1vZHVsZSBmaWxlDQomOQlieXRlCTQ2CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGV4dGVybmFsIHNwZWxsIGRpY3Rpb25hcnkgZmlsZQ0KJjkJYnl0ZQk0NwkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBHcmFwaGljcyBzY3JlZW4gZHJpdmVyIGZpbGUNCiY5CWJ5dGUJMjYJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgaHlwaGVuYXRpb24gY29kZSBtb2R1bGUgZmlsZQ0KJjkJYnl0ZQkyMwkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBoeXBoZW5hdGlvbiBkYXRhIG1vZHVsZSBmaWxlDQomOQlieXRlCTI0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IGh5cGhlbmF0aW9uIGxleCBtb2R1bGUNCiY5CWJ5dGUJMjcJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgaW5zdGFsbGF0aW9uIGluZm9ybWF0aW9uIGZpbGUNCiY5CWJ5dGUJNDEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3Qga2V5Ym9hcmQgZGVmaW5pdGlvbiBmaWxlDQomOQlieXRlCTB4MDMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgbWFjcm8gZGF0YSBmaWxlDQomOQlieXRlCTB4MDEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgbWFjcm8gcmVzb3VyY2UgZmlsZQ0KJjkJYnl0ZQkyNQkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCBwcmludGVyIFEgY29kZXMgKHVzZWQgYnkgVkFYL0RHKQ0KJjkJYnl0ZQkyOAkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMDAwMTtleHQ9O21pbWU9O11Xb3JkcGVyZmVjdCByZWN0YW5ndWxhciBibG9jayBmaWxlDQomOQlieXRlCTE0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IHNwZWxsIGNvZGUgbW9kdWxlIHJ1bGVzIGZpbGUNCiY5CWJ5dGUJMzMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3Qgc3BlbGwgY29kZSBtb2R1bGUgd29yZCBsaXN0DQomOQlieXRlCTI5CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwMDAxO2V4dD07bWltZT07XVdvcmRwZXJmZWN0IHRoZXNhcnVzIGZpbGUNCiY5CWJ5dGUJMTIJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDAwMDE7ZXh0PTttaW1lPTtdV29yZHBlcmZlY3QgVkFYIGtleWJvYXJkIGRlZmluaXRpb24gZmlsZQ0KJjkJYnl0ZQkweDA0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwQUxMO2V4dD1hbGw7bWltZT07XVdvcmRwZXJmZWN0IHByaW50ZXIgcmVzb3VyY2UgZmlsZQ0KJjkJYnl0ZQkxOQkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDEtMDAtMDAwMENPTjtleHQ9Y29uO21pbWU9O11NaWNyb3NvZnQgQW5pbWF0ZWQgY3Vyc29yLCBsaXR0bGUtZW5kaWFuDQomOAlzdHJpbmcJQUNPTgkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTAwLTAwMDBDT047ZXh0PWNvbjttaW1lPTtdTWljcm9zb2Z0IEFuaW1hdGVkIGN1cnNvciwgYmlnLWVuZGlhbg0KJjgJc3RyaW5nCUFDT04JDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwRE9DO2V4dD1kb2M7bWltZT07XU1hY2ludG9zaCBXb3JkcGVyZmVjdCBkb2N1bWVudCBmaWxlDQomOQlieXRlCTQ0CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwRE9DO2V4dD1kb2M7bWltZT07XVZBWCBXb3JkcGVyZmVjdCBkb2N1bWVudCBmaWxlDQomOQlieXRlCTQ1CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwRFJTO2V4dD1kcnM7bWltZT07XVdvcmRwZXJmZWN0IGRpc3BsYXkgcmVzb3VyY2UgZmlsZQ0KJjkJYnl0ZQkyMAkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTEJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBXb3JkcGVyZmVjdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZXUEMJW2ZpZD0wMDAwMDEwMDgtMDAtMDAwMEZJTDtleHQ9ZmlsO21pbWU9O11Xb3JkcGVyZmVjdCBvdmVybGF5IGZpbGUNCiY5CWJ5dGUJMjEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlQTUNDCVtmaWQ9MDAwMDAxMDAxLTAwLTAwMDBHUlA7ZXh0PWdycDttaW1lPTtdTWljcm9zb2Z0IHdpbmRvd3MgZ3JvdXAgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJYmVzaG9ydAkweEUzMTAJW2ZpZD0wMDAwMDEwMDctMDAtMDAwSU5GTztleHQ9aW5mbzttaW1lPTtdQW1pZ2Egc2hvcnRjdXQgLyBpY29uIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDBJTlM7ZXh0PWluczttaW1lPTtdV29yZHBlcmZlY3QgaW5zdGFsbGF0aW9uIGluZm9ybWF0aW9uIGZpbGUNCiY5CWJ5dGUJNDMJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCWxlbG9uZwkweDAwMDAwMDRDCVtmaWQ9MDAwMDAxMDAxLTAwLTAwMDBMTks7ZXh0PWxuazttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3Mgc2hvcnRjdXQgZmlsZQ0KJjQJc3RyaW5nCVxceDAxXFx4MTRcXHgwMgkNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTAwLTAwMDBQUlM7ZXh0PXByczttaW1lPTtdV29yZHBlcmZlY3QgcHJpbnRlciByZXNvdXJjZSBmaWxlDQomOQlieXRlCTE2CQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwUVJTO2V4dD1xcnM7bWltZT07XVdvcmRwZXJmZWN0IDUuMSBlcXVhdGlvbiByZXNvdXJjZSBmaWxlDQomOQlieXRlCTMwCQ0KPjEwCWJ5dGUJeAksIHZlcnNpb24gJWQNCj4xMQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlcXHhGRldQQwlbZmlkPTAwMDAwMTAwOC0wMC0wMDAwU0VUO2V4dD1zZXQ7bWltZT07XVdvcmRwZXJmZWN0IHNldHVwIGRhdGENCiY5CWJ5dGUJMTcJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlSSUZGCVtmaWQ9MDAwMDAxMDAxLTBFLTAwMDBQQUw7ZXh0PXBhbCxyaWZmO21pbWU9O11NaWNyb3NvZnQgUGFsZXR0ZSwgbGl0dGxlLWVuZGlhbg0KJjgJc3RyaW5nCVBBTAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTBFLTAwMDBQQUw7ZXh0PXBhbCxyaWZ4O21pbWU9O11NaWNyb3NvZnQgUGFsZXR0ZSwgYmlnLWVuZGlhbg0KJjgJc3RyaW5nCVBBTAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlET1MJW2ZpZD0wMDAwMDEwMDctMEYtMDAwMEFERjtleHQ9YWRmO21pbWU9O11BbWlnYU9TIEZpbGUgc3lzdGVtDQomMwlieXRlJjB4ZjgJMAkNCj4zCWJ5dGUmMQkwCSwgT0ZTDQo+MwlieXRlJjEJMQksIEZGUw0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTExIGJ5IENhcmwNCjAJYmVsb25nCTB4MDNGMwlbZmlkPTAwMDAwMTAwNy0xMC1MSUJSQVJZO2V4dD0sbGlicmFyeTttaW1lPTtdQW1pZ2EgQ2xhc3NpYyBleGVjdXRhYmxlIGZpbGUgKDY4MHgwIGZhbWlseSkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHg3ZkVMRglbZmlkPTAwMDAwMDAwMy0xMC0wMDAwMDBPO2V4dD0sbyxzbyxvdXQ7bWltZT07XUV4ZWN1dGFibGUgbGlua2FibGUgZmlsZSAoRUxGKQ0KJjQJYnl0ZQk9MQksIDMyLWJpdA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxceDdmRUxGCVtmaWQ9MDAwMDAwMDAzLTEwLTAwMDAwME87ZXh0PSxvLHNvLG91dDttaW1lPTtdRXhlY3V0YWJsZSBsaW5rYWJsZSBmaWxlIChFTEYpDQomNAlieXRlCT0yCSwgNjQtYml0DQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTQgYnkgQ2FybA0KMAlzdHJpbmcJTVoJW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMEVYRTtleHQ9ZXhlLGRsbDttaW1lPTtdTmV3IGV4ZWN1dGFibGUgZmlsZQ0KJjB4MTgJbGVzaG9ydAk+MHgzRgkNCiYoNjAubCkJc3RyaW5nCU5FCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCVpNCVtmaWQ9MDAwMDAxMDAxLTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGw7bWltZT07XU5ldyBleGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlNWglbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsO21pbWU9O11NaWNyb3NvZnQgV2luZG93cyAzLnggTmV3IEV4ZWN1dGFibGUgZmlsZQ0KJjB4MTgJbGVzaG9ydAk+MHgzRgkNCiYoNjAubCkJc3RyaW5nCU5FCQ0KJig2MC5sKzU0KQlieXRlCTB4MDIJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTQgYnkgQ2FybA0KMAlzdHJpbmcJWk0JW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMEVYRTtleHQ9ZXhlLGRsbDttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgMy54IE5ldyBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCiYoNjAubCs1NCkJYnl0ZQkweDAyCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCU1aCVtmaWQ9MDAwMDAxMDA5LTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGw7bWltZT07XUlCTSBPUy8yIE5ldyBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCiYoNjAubCs1NCkJYnl0ZQkweDAxCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCVpNCVtmaWQ9MDAwMDAxMDA5LTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGw7bWltZT07XUlCTSBPUy8yIE5ldyBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlORQkNCiYoNjAubCs1NCkJYnl0ZQkweDAxCQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgV2luZG93cyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQ2FybA0KMAlzdHJpbmcJTVoJW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMEVYRTtleHQ9ZXhlLGRsbDttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgTlQgUG9ydGFibGUgRXhlY3V0YWJsZSBmaWxlDQomMHgxOAlsZXNob3J0CTB4NDAJDQomKDYwLmwpCXN0cmluZwlQRVxceDAwXFx4MDAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBXaW5kb3dzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlaTQlbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsO21pbWU9O11NaWNyb3NvZnQgV2luZG93cyBOVCBQb3J0YWJsZSBFeGVjdXRhYmxlIGZpbGUNCiYweDE4CWxlc2hvcnQJMHg0MAkNCiYoNjAubCkJc3RyaW5nCVBFXFx4MDBcXHgwMAkNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdpbmRvd3MsRE9TNEdXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlNWglbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsLGRydjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgTGluZWFyIGV4ZWN1dGFibGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlMRQkNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdpbmRvd3MsRE9TNEdXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlaTQlbZmlkPTAwMDAwMTAwMS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsLGRydjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgTGluZWFyIGV4ZWN1dGFibGUNCiYweDE4CWxlc2hvcnQJPjB4M0YJDQomKDYwLmwpCXN0cmluZwlMRQkNCg0KIyBNYWdpYyBJRCBmb3IgT1MvMixET1M0R1cgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTE0IGJ5IENhcmwNCjAJc3RyaW5nCU1aCVtmaWQ9MDAwMDAxMDA5LTEwLTAwMDBFWEU7ZXh0PWV4ZSxkbGwsZHJ2O21pbWU9O11PUy8yIExpbmVhciBleGVjdXRhYmxlDQomMHgxOAlsZXNob3J0CT4weDNGCQ0KJig2MC5sKQlzdHJpbmcJTFgJDQoNCiMgTWFnaWMgSUQgZm9yIE9TLzIsRE9TNEdXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xNCBieSBDYXJsDQowCXN0cmluZwlaTQlbZmlkPTAwMDAwMTAwOS0xMC0wMDAwRVhFO2V4dD1leGUsZGxsLGRydjttaW1lPTtdT1MvMiBMaW5lYXIgZXhlY3V0YWJsZQ0KJjB4MTgJbGVzaG9ydAk+MHgzRgkNCiYoNjAubCkJc3RyaW5nCUxYCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA3LTMwIGJ5IENhcmwNCjAJc3RyaW5nCU1TRlQJW2ZpZD0wMDAwMDEwMDEtMTAtMDAwMFRMQjtleHQ9dGxiO21pbWU9O11NaWNyb3NvZnQgY29tcG9uZW50IHR5cGUgbGlicmFyeQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTExIGJ5IENhcmwNCjAJYmVzaG9ydAkweDYwMUEJW2ZpZD0wMDAwMDEwMDYtMTAtMDAwMFRUUDtleHQ9dHRwLGdlbSxwcmc7bWltZT07XUF0YXJpIE1pTlQgZXhlY3V0YWJsZS9vYmplY3QgZmlsZQ0KJjB4MTIJc3RyaW5nCU1pTlQJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTEgYnkgQ2FybA0KMAliZXNob3J0CTB4NjAxQQlbZmlkPTAwMDAwMTAwNi0xMC0wMDAwVFRQO2V4dD10dHAsZ2VtLHByZzttaW1lPTtdQXRhcmkgVE9TIGV4ZWN1dGFibGUvb2JqZWN0IGZpbGUNCiYweDEyCWJlbG9uZwkweDAwMDAJDQoNCiMgTWFnaWMgSUQgZm9yIFZpcnR1YWwgUGFzY2FsIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0zMCBieSBDYXJsDQowCXN0cmluZwlWUEkJW2ZpZD0wMDAwMDAwMDAtMTAtMDAwMFZQSTtleHQ9dnBpO21pbWU9O11WaXJ0dWFsIHBhc2NhbCB1bml0IGZpbGUNCiYweDAzCWJ5dGUJPjQ3CQ0KJjB4MDMJYnl0ZQk8NTgJDQoNCiMgTWFnaWMgSUQgZm9yIEphdmEgY29tcGlsZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTExIGJ5IENhcmwNCjAJYmVsb25nCTB4Q0FGRUJBQkUJW2ZpZD0wMDAwMDEwMTEtMTEtMDBDTEFTUztleHQ9Y2xhc3M7bWltZT07XUphdmFsIHZpcnR1YWwgbWFjaGluZSBjbGFzcyBmaWxlDQo+NgliZXNob3J0CXgJLCB2ZXJzaW9uICVkDQo+NAliZXNob3J0CXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIEJvcmxhbmQgRGVscGhpIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0zMCBieSBDYXJsDQowCXN0cmluZwlQS0cJW2ZpZD0wMDAwMDEwMDUtMTEtMDAwMERDUDtleHQ9ZGNwO21pbWU9O11Cb3JsYW5kIERlbHBoaSBjb21waWxlZCBwYWNrYWdlIGNvZGUgZmlsZQ0KJjB4MDMJYnl0ZQk+NDcJDQomMHgwMwlieXRlCTw1OAkNCg0KIyBNYWdpYyBJRCBmb3IgQm9ybGFuZCBEZWxwaGkgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA3LTMwIGJ5IENhcmwNCjAJc3RyaW5nCVxceERGXFx4MDBcXHgwMFxceDBGCVtmaWQ9MDAwMDAxMDA1LTExLTAwMDBEQ1U7ZXh0PWRjdTttaW1lPTtdQm9ybGFuZCBEZWxwaGkgY29kZSB1bml0IGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgVHVyYm8gUGFzY2FsIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0yOSBieSBDYXJsDQowCXN0cmluZwlUUFU5CVtmaWQ9MDAwMDAxMDA1LTExLTAwMDBUUFU7ZXh0PXRwdTttaW1lPTtdVHVyYm8gUGFzY2FsIDYuMCBjb2RlIHVuaXQgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBUdXJibyBQYXNjYWwsIEJvcmxhbmQgUGFzY2FsIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0yOSBieSBDYXJsDQowCXN0cmluZwlUUFVRCVtmaWQ9MDAwMDAxMDA1LTExLTAwMDBUUFU7ZXh0PXRwdSx0cHAsdHB3O21pbWU9O11Cb3JsYW5kIFBhc2NhbCA3LjAgY29kZSB1bml0IGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoyCXN0cmluZwlBRExJQi0JW2ZpZD0wMDAwMDEwMTYtMjAtMDAwMEJOSztleHQ9Ym5rO21pbWU9O11BZGxpYiBGTSBpbnN0cnVtZW50IGJhbmsgZmlsZQ0KPjAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjEJYnl0ZQl4CS4lZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE2IGJ5IENhcmwNCjAJc3RyaW5nCUlCS1xceDFBCVtmaWQ9MDAwMDAxMDEzLTIwLTAwMDBJQks7ZXh0PWliazttaW1lPTtdQ3JlYXRpdmUgTGFicyBGTSBpbnN0cnVtZW50IGJhbmsgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgSW5zdHJ1bWVudCBEZWZpbml0aW9uIGZpbGUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDEtMjAtMDAwMElERjtleHQ9aWRmO21pbWU9O11NaWNyb3NvZnQgaW5zdHJ1bWVudCBkZWZpbml0aW9uIGZpbGUsIGxpdHRsZS1lbmRpYW4NCiY4CXN0cmluZwlJREZcXCAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBJbnN0cnVtZW50IERlZmluaXRpb24gZmlsZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMTAwMS0yMC0wMDAwSURGO2V4dD1pZGY7bWltZT07XU1pY3Jvc29mdCBpbnN0cnVtZW50IGRlZmluaXRpb24gZmlsZSwgYmlnLWVuZGlhbg0KJjgJc3RyaW5nCUlERlxcIAkNCg0KIyBNYWdpYyBJRCBmb3IgRGlnaXRyYWtrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCURJU1QJW2ZpZD0wMDAxMDAwODgtMjAtMDAwMElTVDtleHQ9aXN0O21pbWU9O11EaWdpdHJha2tlciBJbnN0cnVtZW50IGZpbGUNCiY0CWJ5dGUJPDIJDQoNCiMgTWFnaWMgSUQgZm9yIEltcHVsc2UgdHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJSU1QSQlbZmlkPTAwMDEwMDAzMi0yMC0wMDAwSVRJO2V4dD1pdGk7bWltZT07XUltcHVsc2UgdHJhY2tlciBpbnN0cnVtZW50IGZpbGUNCj4weDIwCXN0cmluZwl4CVt0aXRsZT0lLjI2c10NCg0KIyBNYWdpYyBJRCBmb3IgTWFkdHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDUgYnkgQ2FybA0KMAlzdHJpbmcJTUkyMQlbZmlkPTAwMDEwMDA5MS0yMC0wMDAwTVRJO2V4dD1tdGk7bWltZT07XU1hZHRyYWNrZXIgaW5zdHJ1bWVudCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEdyYXZpcyBVbHRyYXNvdW5kIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlHRjFQQVRDSDEwMFxcMElEIzAwMDAwMlxcMAlbZmlkPTAwMDAwMTAxOC0yMC0wMDAwUEFUO2V4dD1wYXQ7bWltZT07XUdyYXZpcyBVbHRyYXNvdW5kIFBhdGNoIChvbGQgaW5zdHJ1bWVudCBkYXRhKQ0KDQojIE1hZ2ljIElEIGZvciBHcmF2aXMgVWx0cmFzb3VuZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJR0YxUEFUQ0gxMTBcXDBJRCMwMDAwMDJcXDAJW2ZpZD0wMDAwMDEwMTgtMjAtMDAwMFBBVDtleHQ9cGF0O21pbWU9O11HcmF2aXMgVWx0cmFzb3VuZCBQYXRjaCAoaW5zdHJ1bWVudCBkYXRhKQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVNCSVxceDFBCVtmaWQ9MDAwMDAxMDEzLTIwLTAwMDBTQkk7ZXh0PXNiaTttaW1lPTtdQ3JlYXRpdmUgTGFicyBGTSBpbnN0cnVtZW50IGRhdGEgZmlsZQ0KPjQJc3RyaW5nCT4wCVt0aXRsZT0lLjMyc10NCg0KIyBNYWdpYyBJRCBmb3IgU2lkcGxheSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDUgYnkgQ2FybA0KMAlzdHJpbmcJU0lEUExBWVxcIElORk9GSUxFCVtmaWQ9MDAwMDAwMDAwLTIwLTAwMDBTSUQ7ZXh0PXNpZDttaW1lPTtdU0lEUGxheWVyIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRmFzdHRyYWNrZXIgMi4wIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlFeHRlbmRlZFxcIEluc3RydW1lbnQ6XFwgCVtmaWQ9MDAwMTAwMDI2LTIwLTAwMDAwWEk7ZXh0PXhpO21pbWU9O11GYXN0VHJhY2tlciBJSSBpbnN0cnVtZW50IGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlSSUZGCVtmaWQ9MDAwMDAxMDAxLTIxLTAwMDAwMDA7ZXh0PTttaW1lPTtdTUlESSBtdXNpYyBmaWxlLCBsaXR0bGUtZW5kaWFuDQomOAlzdHJpbmcJUk1JRAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTIxLTAwMDAwMDA7ZXh0PTttaW1lPTtdTUlESSBtdXNpYyBmaWxlLCBiaWctZW5kaWFuDQomOAlzdHJpbmcJUk1JRAkNCg0KIyBNYWdpYyBJRCBmb3IgQWJ5c3NcJ3MgaGlnaGVzdCBleHBlcmllbmNlIChBSFgpIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlUSFgJW2ZpZD0wMDAxMDAwMjktMjEtMDAwMEFIWDtleHQ9YWh4O21pbWU9O11BSFggbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQW11c2ljIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoxMDYyCXN0cmluZwlcXHgzY1xceDZmXFx4ZWZcXHg1MVxceDU1XFx4RUVcXHg1MlxceDZGXFx4NTIJW2ZpZD0wMDAxMDAwMzQtMjEtMDAwMEFNRDtleHQ9YW1kO21pbWU9O11BbXVzaWMgQWRsaWIgdHJhY2tlciBtdXNpYyBmaWxlDQo+MAlzdHJpbmcJPlxceDAwCVt0aXRsZT0lLjIzc10NCj4yNAlzdHJpbmcJPlxcMAlbY3JlYXRvcj0lLjI0c10NCg0KIyBNYWdpYyBJRCBmb3IgVmVsdmV0IFN0dWRpbyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJQU1TaGRyXFx4MWEJW2ZpZD0wMDAwMDEyNzYtMjEtMDAwMEFNUztleHQ9YW1zO21pbWU9O11WZWx2ZXQgU3R1ZGlvIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEF1ZGlvIHZpc3VhbCByZXNlYXJjaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJMkJJVAlbZmlkPTAwMDAwMTMwMS0yMS0wMDAwQVZSO2V4dD1hdnI7bWltZT07XUF1ZGlvIHZpc3VhbCByZXNlYXJjaCBhdWRpbyBmaWxlDQo+NAlzdHJpbmcJeAlbdGl0bGU9JS44c10NCg0KIyBNYWdpYyBJRCBmb3IgU291bmRtb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjI2CXN0cmluZwlWLjIJW2ZpZD0wMDAxMDAwMjgtMjEtMDAwMDBCUDtleHQ9YnA7bWltZT07XVNvdW5kbW9uIG1vZHVsZSBtdXNpYyBmaWxlLCB2ZXJzaW9uIDIueA0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjZzXQ0KDQojIE1hZ2ljIElEIGZvciBTb3VuZG1vbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMjYJc3RyaW5nCVYuMwlbZmlkPTAwMDEwMDAyOC0yMS0wMDAwQlAzO2V4dD1icDM7bWltZT07XVNvdW5kbW9uIG1vZHVsZSBtdXNpYyBmaWxlLCB2ZXJzaW9uIDMueA0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjZzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCUNUTUYJW2ZpZD0wMDAwMDEwMTMtMjEtMDAwMENNRjtleHQ9Y21mO21pbWU9O11DcmVhdGl2ZSBMYWJzIG11c2ljIGZpbGUNCj40CWJ5dGUJeAksIHZlcnNpb24gJWQNCj41CWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgRGlnaWJvb3N0ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCURJR0kgQm9vc3RlciBtb2R1bGVcXDAJW2ZpZD0wMDAwMDEzMDItMjEtMDAwRElHSTtleHQ9ZGlnaTttaW1lPTtdRGlnaWJvb3N0ZXIgbXVzaWMgZmlsZQ0KPjYxMAlzdHJpbmcJeAlbdGl0bGU9JS4zMnNdDQoNCiMgTWFnaWMgSUQgZm9yIERlbHVzaW9uIFh0cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlERE1GCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBETUY7ZXh0PWRtZjttaW1lPTtdRGVsdXNpb24gdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KPjQJYnl0ZQl4CSwgdmVyc2lvbiAlZC4wDQo+MTMJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMzBzXQ0KPjQzCXN0cmluZwk+XFwwCVtjcmVhdG9yPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBET1MgU291bmQgaW50ZXJmYWNlIGtpdCAoRFNJSykgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDAwMDAtMjEtMDAwMERTTTtleHQ9ZHNtO21pbWU9O11ET1MgU291bmQgaW50ZXJmYWNlIGtpdCBtb2R1bGUgbXVzaWMgZmlsZQ0KJjgJc3RyaW5nCURTTUYJDQoNCiMgTWFnaWMgSUQgZm9yIEVkbGliIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNyBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDA2XFx4RkVcXHhGRAlbZmlkPTAwMDEwMDAyNy0yMS0wMDAwRURMO2V4dD1lZGw7bWltZT07XUVkbGliIEZNIHRyYWNrZXIgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBRdWFkcmEgQ29tcG9zZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAxMDAwODUtMjEtMDAwMEVNRDtleHQ9ZW1kO21pbWU9O11FbmhhbmNlZCBtb2R1bGUgbXVzaWMgZmlsZSAoSUZGKQ0KJjgJc3RyaW5nCUVNT0QJDQoNCiMgTWFnaWMgSUQgZm9yIEZhcmFuZG9sZSBjb21wb3NlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJRkFSXFx4RkUJW2ZpZD0wMDAxMDAwODctMjEtMDAwMEZBUjtleHQ9ZmFyO21pbWU9O11GYXJhbmRvbGUgY29tcG9zZXIgbW9kdWxlIG11c2ljIGZpbGUNCj40CXN0cmluZwk+XFwwCVt0aXRsZT0lLjQwc10NCg0KIyBNYWdpYyBJRCBmb3IgRnVua3RyYWNrZXIgR29sZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRnVuawlbZmlkPTAwMDEwMDA4Ni0yMS0wMDAwRk5LO2V4dD1mbms7bWltZT07XUZ1bmt0cmFja2VyIEdvbGQgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCZWxscywgV2hpc3RsZXMsIGFuZCBTb3VuZCBCb2FyZHMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE2IGJ5IENhcmwNCjAJc3RyaW5nCUdETVxceEZFCVtmaWQ9MDAwMDAxMjgwLTIxLTAwMDBHRE07ZXh0PWdkbTttaW1lPTtdR2VuZXJhbCBEaWdpTXVzaWMgbW9kdWxlIG11c2ljIGZpbGUNCj40CXN0cmluZwk+XFx4MDAJW3RpdGxlPSUuMzJzXQ0KDQojIE1hZ2ljIElEIGZvciBHcmFvdW1mIFRyYWNrZXIgMiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJR1QyCVtmaWQ9MDAwMTAwMDMxLTIxLTAwMDBHVDI7ZXh0PWd0MjttaW1lPTtdR3Jhb3VtZiBUcmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEltYWdvIE1vcnBoZXVzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQoweDNDCXN0cmluZwlJTTEwCVtmaWQ9MDAwMDAxMjc5LTIxLTAwMDBJTUY7ZXh0PWltZjttaW1lPTtdSW1hZ28gbW9ycGhldXMgbXVzaWMgZmlsZSwgMzIgY2hhbm5lbHMNCj4wCXN0cmluZwl4CVt0aXRsZT0lLjMxc10NCg0KIyBNYWdpYyBJRCBmb3IgSW1wdWxzZSB0cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlJTVBNCVtmaWQ9MDAwMTAwMDMyLTIxLTAwMDAwSVQ7ZXh0PWl0O21pbWU9O11JbXB1bHNlIFRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCj40CXN0cmluZwk+XFx4MDAJW3RpdGxlPSUuMjZzXQ0KDQojIE1hZ2ljIElEIGZvciBKYW1jcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlCZUVwCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBKQU07ZXh0PWphbTttaW1lPTtdSmFtY3JhY2tlciB0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIExpcXVpZCB0cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlMaXF1aWQgTW9kdWxlOglbZmlkPTAwMDEwMDA5MC0yMS0wMDAwTElRO2V4dD1saXE7bWltZT07XUxpcXVpZCB0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQomMHg0MAlieXRlCTB4MUEJDQo+MHgwRQlzdHJpbmcJPlxcMAlbdGl0bGU9JS4zMHNdDQo+MHgyYwlzdHJpbmcJPlxcMAlbY3JlYXRvcj0lLjIwc10NCg0KIyBNYWdpYyBJRCBmb3IgRGlnaXRyYWtrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCURNREwJW2ZpZD0wMDAxMDAwODgtMjEtMDAwME1ETDtleHQ9bWRsO21pbWU9O11EaWdpdHJha2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KJjQJYnl0ZQk8MHgxMgkNCg0KIyBNYWdpYyBJRCBmb3IgTUVEIFNvdW5kc3R1ZGlvIC8gT2N0YU1FRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJTU1EMAlbZmlkPTAwMDAwMTI3OC0yMS0wMDAwTUVEO2V4dD1tZWQ7bWltZT07XU9jdGFtZWQgdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNRUQgU291bmRzdHVkaW8gLyBPY3RhTUVEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlNTUQxCVtmaWQ9MDAwMDAxMjc4LTIxLTAwMDBNRUQ7ZXh0PW1lZDttaW1lPTtdT2N0YW1lZCBQcm8gVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNRUQgU291bmRzdHVkaW8gLyBPY3RhTUVEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlNTUQyCVtmaWQ9MDAwMDAxMjc4LTIxLTAwMDBNRUQ7ZXh0PW1lZDttaW1lPTtdT2N0YW1lZCBQcm8gVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBNRUQgU291bmRzdHVkaW8gLyBPY3RhTUVEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlNTUQzCVtmaWQ9MDAwMDAxMjc4LTIxLTAwMDBNRUQ7ZXh0PW1lZDttaW1lPTtdT2N0YW1lZCBTb3VuZCBTdHVkaW8gbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTXVzaWNsaW5lIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlNTEVETU9ETAlbZmlkPTAwMDAwMTMwNC0yMS0wMDAwME1MO2V4dD1tbDttaW1lPTtdTXVzaWNsaW5lIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFByb3RyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjEwODAJc3RyaW5nCU0hSyEJW2ZpZD0wMDAxMDAwMjItMjEtMDAwME1PRDtleHQ9bW9kO21pbWU9O11Qcm90cmFja2VyIDIuMyBtb2R1bGUgbXVzaWMgZmlsZQ0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBQcm90cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoxMDgwCXN0cmluZwlNLksuCVtmaWQ9MDAwMTAwMDIyLTIxLTAwMDBNT0Q7ZXh0PW1vZDttaW1lPTtdUHJvdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBQcm90cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMTAwMDIyLTIxLTAwMDBNT0Q7ZXh0PW1vZDttaW1lPTtdUHJvdHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZSwgdmVyc2lvbiAzLngNCiY4CXN0cmluZwlNT0RMCQ0KDQojIE1hZ2ljIElEIGZvciBTdGFydHJla2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMTA4MAlzdHJpbmcJRkxUNAlbZmlkPTAwMDEwMDAyNC0yMS0wMDAwTU9EO2V4dD1tb2Q7bWltZT07XVN0YXJ0cmVra2VyIG1vZHVsZSBtdXNpYyBmaWxlLCA0IGNoYW5uZWxzDQo+MAlzdHJpbmcJPlxcMAlbdGl0bGU9JS4yMHNdDQoNCiMgTWFnaWMgSUQgZm9yIFN0YXJ0cmVra2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoxMDgwCXN0cmluZwlGTFQ4CVtmaWQ9MDAwMTAwMDI0LTIxLTAwMDBNT0Q7ZXh0PW1vZDttaW1lPTtdU3RhcnRyZWtrZXIgbW9kdWxlIG11c2ljIGZpbGUsIDggY2hhbm5lbHMNCj4wCXN0cmluZwk+XFwwCVt0aXRsZT0lLjIwc10NCg0KIyBNYWdpYyBJRCBmb3IgRmFzdHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjEwODAJc3RyaW5nCTZDSE4JW2ZpZD0wMDAwMDEyNzUtMjEtMDAwME1PRDtleHQ9bW9kO21pbWU9O11GYXN0dHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZSwgNiBjaGFubmVscw0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjBzXQ0KDQojIE1hZ2ljIElEIGZvciBGYXN0dHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMTA4MAlzdHJpbmcJOENITglbZmlkPTAwMDAwMTI3NS0yMS0wMDAwTU9EO2V4dD1tb2Q7bWltZT07XUZhc3R0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlLCA2IGNoYW5uZWxzDQo+MAlzdHJpbmcJPlxcMAlbdGl0bGU9JS4yMHNdDQoNCiMgTWFnaWMgSUQgZm9yIE1hZHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA1IGJ5IENhcmwNCjAJc3RyaW5nCU1UMjAJW2ZpZD0wMDAxMDAwOTEtMjEtMDAwME1UMjtleHQ9bXQyO21pbWU9O11NYWR0cmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQo+NDIJc3RyaW5nCXgJW3RpdGxlPSUuNjRzXQ0KPjExMglsZXNob3J0CXgJW2Nobj0lZF0NCg0KIyBNYWdpYyBJRCBmb3IgTXVsdGl0cmFja2VyIE1vZHVsZSBlZGl0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCU1UTQlbZmlkPTAwMDEwMDA4OS0yMS0wMDAwTVRNO2V4dD1tdG07bWltZT07XU11bHRpVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KPjQJc3RyaW5nCT5cXHgwMAlbdGl0bGU9JS4yMHNdDQoNCiMgTWFnaWMgSUQgZm9yIE1hZHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA1IGJ5IENhcmwNCjAJc3RyaW5nCU1UUDIJW2ZpZD0wMDAxMDAwOTEtMjEtMDAwME1UUDtleHQ9bXRwO21pbWU9O11NYWR0cmFja2VyIHBhdHRlcm4gZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBBL05FUyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJTkVTQQlbZmlkPTAwMDEwMDA5NC0yMS0wMDAwTlNBO2V4dD1uc2E7bWltZT07XUEvTkVTIHJpcHBlZCBhdWRpbyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJTkVTTVxceDFBCVtmaWQ9MDAwMTAwMDkzLTIxLTAwMDBOU0Y7ZXh0PW5zZjttaW1lPTtdTkVTIHJpcHBlZCBhdWRpbyBmaWxlDQo+NQlieXRlCXgJLCB2ZXJzaW9uICVkLjANCj4weDBFCXN0cmluZwl4CVt0aXRsZT0lLjMyc10NCj4weDJFCXN0cmluZwl4CVtjcmVhdG9yPSUuMzJzXQ0KDQojIE1hZ2ljIElEIGZvciBOb2lzZXRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjEwODAJc3RyaW5nCU0mSyEJW2ZpZD0wMDAxMDAwMjMtMjEtMDAwME5TVDtleHQ9bnN0O21pbWU9O11Ob2lzZXRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCj4wCXN0cmluZwk+XFwwCVt0aXRsZT0lLjIwc10NCg0KIyBNYWdpYyBJRCBmb3IgT2t0YWx5emVyIHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCU9LVEFTT05HCVtmaWQ9MDAwMTAwMDMwLTIxLTAwMDBPS1Q7ZXh0PW9rdDttaW1lPTtdT2t0YWx5emVyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNCU3R1ZGlvIHNvdW5kIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlQQUNHCVtmaWQ9MDAwMTAwMDIwLTIxLTAwMDBQQUM7ZXh0PXBhYzttaW1lPTtdU0JTdHVkaW8gbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUG9seXRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjQ0CXN0cmluZwlQVE1GCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBQVE07ZXh0PXB0bTttaW1lPTtdUG9seSBUcmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQo+MzgJbGVzaG9ydAk+MAlbY2huPSVkXQ0KPjAJc3RyaW5nCT5cXDAJW3RpdGxlPSUuMjhzXQ0KDQojIE1hZ2ljIElEIGZvciBSZWFsaXR5IEFkbGliIHRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVJBRFxcIGJ5CVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBSQUQ7ZXh0PXJhZDttaW1lPTtdUmVhbGl0eSBBZGxpYiB0cmFja2VyIG11c2ljIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlSSUZGCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBSTUk7ZXh0PXJtaTttaW1lPWFwcGxpY2F0aW9uL3ZuZC5tdXNpYy1uaWZmO11Tb25nIG5vdGF0aW9uIGRhdGEgZmlsZSwgbGl0dGxlLWVuZGlhbg0KJjgJc3RyaW5nCU5JRkYJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMDAwMC0yMS0wMDAwUk1JO2V4dD1ybWk7bWltZT1hcHBsaWNhdGlvbi92bmQubXVzaWMtbmlmZjtdU29uZyBub3RhdGlvbiBkYXRhIGZpbGUsIGJpZy1lbmRpYW4NCiY4CXN0cmluZwlOSUZGCQ0KDQojIE1hZ2ljIElEIGZvciBBZGxpYiBWaXN1YWwgQ29tcG9zZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJbGVzaG9ydAkweDAwMDAJW2ZpZD0wMDAwMDEwMTYtMjEtMDAwMFJPTDtleHQ9cm9sO21pbWU9O11BZGxpYiBtdXNpYyBmaWxlDQomMglsZXNob3J0CTB4MDAwNAkNCg0KIyBNYWdpYyBJRCBmb3IgU2NyZWFtdHJhY2tlciAzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoweDJDCXN0cmluZwlTQ1JNCVtmaWQ9MDAwMTAwMDI1LTIxLTAwMDBTM007ZXh0PXMzbTttaW1lPTtdU2NyZWFtIHRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCj4weDJBCWxlc2hvcnQJPjAJLCB2ZXJzaW9uICVkLjANCj4wCXN0cmluZwk+XFwwCVt0aXRsZT0lLjI4c10NCg0KIyBNYWdpYyBJRCBmb3IgU3VycHJpc2UhIEFkbGliIFRyYWNrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCVNBZFQJW2ZpZD0wMDAxMDAwMjEtMjEtMDAwMFNBMjtleHQ9c2EyO21pbWU9O11TdXJwcmlzZSBQcm9kdWN0aW9ucyBBZGxpYiB0cmFja2VyIG11c2ljIGZpbGUNCj40CWJ5dGUJeAksIHZlcnNpb24gMC4lZA0KDQojIE1hZ2ljIElEIGZvciBTb3VuZEZYIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQo2MAlzdHJpbmcJU09ORwlbZmlkPTAwMDAwMTI3Ny0yMS0wMDAwU0ZYO2V4dD1zZng7bWltZT07XVNvdW5kRlggVHJhY2tlciBtb2R1bGUgbXVzaWMgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQbGF5U0lELCBTaWRwbGF5IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlQU0lECVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBTSUQ7ZXh0PXNpZDttaW1lPTtdUGxheVNJRCBtdXNpYyBmaWxlDQo+MTYJc3RyaW5nCXgJW3RpdGxlPSUuMjBzXQ0KPjM2CXN0cmluZwl4CVtjcmVhdG9yPSUuMjBzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE1IGJ5IENhcmwNCjAJc3RyaW5nCU1UaGQJW2ZpZD0wMDAwMDEwMTctMjEtMDAwMFNNRjtleHQ9c21mLG1pZGk7bWltZT07XVN0YW5kYXJkIE1JREkgbXVzaWMgZmlsZQ0KPjEwCWJlc2hvcnQJPjAJW2Nobj0lZF0NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMDEwLTIxLTAwMFNNVVM7ZXh0PXNtdXMsbXVzO21pbWU9O11JRkYgU2ltcGxlIE11c2ljYWwgU2NvcmUgZmlsZQ0KJjgJc3RyaW5nCVNNVVMJDQoNCiMgTWFnaWMgSUQgZm9yIFNuZHRvb2wyLG5lenBsYXkgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA1IGJ5IENhcmwNCjAJc3RyaW5nCVNORFxceDFBCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBTTkQ7ZXh0PXNuZDttaW1lPTtdTmludGVuZG8gRW50ZXJ0YWlubWVudCBTeXN0ZW0gYXVkaW8gZmlsZSAoTkVTKQ0KJjQJYnl0ZQkzCSwgdmVyc2lvbiAlMy4wDQo+NQlieXRlCXgJW2Nobj0lZF0NCg0KIyBNYWdpYyBJRCBmb3IgaU5FUyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDUgYnkgQ2FybA0KMAlzdHJpbmcJU05EXFx4MUEJW2ZpZD0wMDAxMDAwOTItMjEtMDAwMFNORDtleHQ9c25kO21pbWU9O11pTkVTIGVtdWxhdG9yIGF1ZGlvIGZpbGUNCiY0CWJ5dGUJMQksIHZlcnNpb24gJTEuMA0KPjUJYnl0ZQl4CVtjaG49JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFNUTUlLIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQoweDE1CXN0cmluZwlTY3JlYW0hCVtmaWQ9MDAwMTAwMDI1LTIxLTAwMDBTVFg7ZXh0PXN0eDttaW1lPTtdU1RNSUsgbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgVGhlIEZpbmFsIE11c2ljc3lzdGVtIGVYdGVuZGVkIChURk1YKSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJVEZNWC1TT05HXFwgCVtmaWQ9MDAwMTAwMDk2LTIxLTAwMDBURlg7ZXh0PXRmeCx0Zm14O21pbWU9O11URk1YIHRyYWNrZXIgbW9kdWxlIG11c2ljIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgVWx0cmEgVHJhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDcgYnkgQ2FybA0KMAlzdHJpbmcJTUFTX1VUcmFja19WMDAJW2ZpZD0wMDAxMDAwOTctMjEtMDAwMFVMVDtleHQ9dWx0O21pbWU9O11VbHRyYSBUcmFja2VyIG1vZHVsZSBtdXNpYyBmaWxlDQo+MTUJc3RyaW5nCXgJW3RpdGxlPSUuMzJzXQ0KDQojIE1hZ2ljIElEIGZvciBBUGxheWVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlBUFVOXFx4MDEJW2ZpZD0wMDAwMDAwMDAtMjEtMDAwMFVOSTtleHQ9dW5pO21pbWU9O11BUGxheWVyIG1vZHVsZSBtdXNpYyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE1pa21vZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTUgYnkgQ2FybA0KMAlzdHJpbmcJVU4wCVtmaWQ9MDAwMDAwMDAwLTIxLTAwMDBVTkk7ZXh0PXVuaTttaW1lPTtdTWlrbW9kIG1vZHVsZSBtdXNpYyBmaWxlDQo+NAlieXRlCXgJW2Nobj0lZF0NCg0KIyBNYWdpYyBJRCBmb3IgRmFzdHRyYWNrZXIgMi4wIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNSBieSBDYXJsDQowCXN0cmluZwlFeHRlbmRlZFxcIE1vZHVsZTpcXCAJW2ZpZD0wMDAxMDAwMjYtMjEtMDAwMDBYTTtleHQ9eG07bWltZT07XUZhc3RUcmFja2VyIElJIG1vZHVsZSBtdXNpYyBmaWxlDQo+NTkJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjU4CWJ5dGUJeAkuMCVkDQo+MTcJc3RyaW5nCXgJW3RpdGxlPSUuMjBzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEwMTAtMjItMDAwOFNWWDtleHQ9OHN2eDttaW1lPTtdQW1pZ2EgU2FtcGxlZCBhdWRpbyBmaWxlDQomOAlzdHJpbmcJOFNWWAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMDAyLTIyLTAwMEFJRkM7ZXh0PWFpZmMsYWlmO21pbWU9O11BdWRpbyBDb21wcmVzc2VkIEludGVyY2hhbmdlIEZpbGUgRm9ybWF0DQomOAlzdHJpbmcJQUlGQwkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMDAyLTIyLTAwMEFJRkY7ZXh0PWFpZmYsYWlmO21pbWU9O11BdWRpbyBJbnRlcmNoYW5nZSBGaWxlIEZvcm1hdA0KJjgJc3RyaW5nCUFJRkYJDQoNCiMgTWFnaWMgSUQgZm9yIE1vbmtleUF1ZGlvIHNvZnR3YXJlIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCXN0cmluZwlNQUNcXCAJW2ZpZD0wMDAxMDAxMjAtMjItMDAwMEFQRTtleHQ9YXBlO21pbWU9O11Nb25rZXlBdWRpbyBjb21wcmVzc2VkIGF1ZGlvIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwkuc25kCVtmaWQ9MDAwMDAxMDExLTIyLTAwMDAwQVU7ZXh0PWF1LHNuZDttaW1lPTtdU3VuIC8gTmVYdCBzYW1wbGVkIGF1ZGlvIGZpbGUNCj4xNgliZWxvbmcJPjAJW2ZyZXE9JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFNwcGFjayBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMjUyCWJlc2hvcnQJMHg0MEMzCVtmaWQ9MDAwMDAxMDE5LTIyLTAwMDAwMEQ7ZXh0PWQ7bWltZT07XVNwcGFjayBhdWRpbyBzYW1wbGUgZmlsZQ0KJjI1NAliZXNob3J0CTB4RkMwRQkNCg0KIyBNYWdpYyBJRCBmb3IgRmxhYyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDggYnkgQ2FybA0KMAlzdHJpbmcJZkxhQwlbZmlkPTAwMDEwMDA5OC0yMi0wMDBGTEFDO2V4dD1mbGFjO21pbWU9O11GcmVlIExvc3NsZXNzIEF1ZGlvIENvZGVjIHJhdyBhdWRpbyBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEZhcmFuZG9sZSBDb21wb3NlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRlNNXFx4RkUJW2ZpZD0wMDAxMDAwODctMjItMDAwMEZTTTtleHQ9ZnNtO21pbWU9O11GYXJhbmRvbGUgY29tcG9zZXIgYXVkaW8gc2FtcGxlIGZpbGUNCj40CXN0cmluZwl4CVt0aXRsZT0lLjMyc10NCg0KIyBNYWdpYyBJRCBmb3IgTUFVRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMDAwMC0yMi0wMDBNQVVEO2V4dD1tYXVkO21pbWU9O11NQVVEIGF1ZGlvIHNhbXBsZSBmaWxlDQomNAlzdHJpbmcJTUFVRAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0wNCBieSBDYXJsDQowCWJlc2hvcnQmMHhGRkUwCTB4ZmZlMAlbZmlkPTAwMDAwMDAwMS0yMi0wMDExMTcyO2V4dD1tcDEsbXAyLG1wMzttaW1lPWF1ZGlvL21wZWc7XU1QMyBBdWRpbyBzdHJlYW0gZmlsZQ0KJloxMjgJc3RyaW5nCVRBRwkNCj5aMTI1CXN0cmluZwl4CVt0aXRsZT0lLjMwc10NCj5aOTUJc3RyaW5nCXgJW2NyZWF0b3I9JS4zMHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMDQgYnkgQ2FybA0KMAlzdHJpbmcJSUQzCVtmaWQ9MDAwMDAwMDAxLTIyLTAwMTExNzI7ZXh0PW1wMSxtcDIsbXAzO21pbWU9YXVkaW8vbXBlZztdTVAzIEF1ZGlvIHN0cmVhbSBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFwwXFwwMDFcXDI0M1xcMTQ0CVtmaWQ9MDAwMDAxMDE0LTIyLTAwMDAwU0Y7ZXh0PXNmO21pbWU9O11JUkNBTSBhdWRpbyBzYW1wbGUgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxcMFxcMDAyXFwyNDNcXDE0NAlbZmlkPTAwMDAwMTAxNC0yMi0wMDAwMFNGO2V4dD1zZjttaW1lPTtdSVJDQU0gYXVkaW8gc2FtcGxlIGZpbGUsIGxpdHRsZS1lbmRpYW4NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXDBcXDAwM1xcMjQzXFwxNDQJW2ZpZD0wMDAwMDEwMTQtMjItMDAwMDBTRjtleHQ9c2Y7bWltZT07XUlSQ0FNIGF1ZGlvIHNhbXBsZSBmaWxlLCBiaWctZW5kaWFuDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFwxNDRcXDI0M1xcMDAxXFwwCVtmaWQ9MDAwMDAxMDE0LTIyLTAwMDAwU0Y7ZXh0PXNmO21pbWU9O11JUkNBTSBhdWRpbyBzYW1wbGUgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxcMTQ0XFwyNDNcXDAwMlxcMAlbZmlkPTAwMDAwMTAxNC0yMi0wMDAwMFNGO2V4dD1zZjttaW1lPTtdSVJDQU0gYXVkaW8gc2FtcGxlIGZpbGUsIGJpZy1lbmRpYW4NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXDE0NFxcMjQzXFwwMDNcXDAJW2ZpZD0wMDAwMDEwMTQtMjItMDAwMDBTRjtleHQ9c2Y7bWltZT07XUlSQ0FNIGF1ZGlvIHNhbXBsZSBmaWxlLCBsaXR0bGUtZW5kaWFuDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFwxNDRcXDI0M1xcMDA0XFwwCVtmaWQ9MDAwMDAxMDE0LTIyLTAwMDAwU0Y7ZXh0PXNmO21pbWU9O11JUkNBTSBhdWRpbyBzYW1wbGUgZmlsZSwgYmlnLWVuZGlhbg0KDQojIE1hZ2ljIElEIGZvciBTY3JlYW10cmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNSBieSBDYXJsDQoweDRDCXN0cmluZwlTQ1JTCVtmaWQ9MDAwMTAwMDI1LTIyLTAwMDBTTVA7ZXh0PXNtcDttaW1lPTtdU2NyZWFtdHJhY2tlciBhdWRpbyBzYW1wbGUNCj4weDMwCXN0cmluZwl4CVt0aXRsZT0lLjMwc10NCg0KIyBNYWdpYyBJRCBmb3IgU291bmRUb29sIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNyBieSBDYXJsDQowCXN0cmluZwlTT1VORFxceDFBCVtmaWQ9MDAwMTAwMDk1LTIyLTAwMDBTTkQ7ZXh0PXNuZDttaW1lPTtdU291bmQgdG9vbCBhdWRpbyBkYXRhIGZpbGUNCj4xNAlsZXNob3J0CXgJW2ZyZXE9JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFNCU3R1ZGlvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlTTkRcXCAJW2ZpZD0wMDAxMDAwMjAtMjItMDAwMFNPVTtleHQ9c291O21pbWU9O11TQlN0dWRpbyBzYW1wbGVkIGF1ZGlvIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xOCBieSBDYXJsDQowCXN0cmluZwlTcGVleAlbZmlkPTAwMDAwMDAwMC0yMi0wMFNQRUVYO2V4dD1zcGVleDttaW1lPTtdU3BlZXggTG9zc3kgQXVkaW8gQ29kZWMgcmF3IGF1ZGlvIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU291bmQgQmxhc3RlciBTREsgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCUNyZWF0aXZlXFwgVm9pY2VcXCBGaWxlXFx4MUEJW2ZpZD0wMDAwMDEwMTMtMjItMDAwMFZPQztleHQ9dm9jO21pbWU9O11DcmVhdGl2ZSBWb2ljZSBhdWRpbyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTggYnkgQ2FybA0KMAlzdHJpbmcJdm9yYmlzCVtmaWQ9MDAwMDAwMDAwLTIyLTBWT1JCSVM7ZXh0PXZvcmJpczttaW1lPTtdVm9yYmlzIExvc3N5IEF1ZGlvIENvZGVjIHJhdyBhdWRpbyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGRglbZmlkPTAwMDAwMTAwMS0yMi0wMDAwV0FWO2V4dD13YXY7bWltZT07XU1pY3Jvc29mdCBXYXZlZm9ybSBBdWRpbyBmaWxlLCBsaXR0bGUtZW5kaWFuDQomOAlzdHJpbmcJV0FWRQkNCj4yNAlsZWxvbmcJPjAJW2ZyZXE9JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMTAwMS0yMi0wMDAwV0FWO2V4dD13YXY7bWltZT07XU1pY3Jvc29mdCBXYXZlZm9ybSBBdWRpbyBmaWxlLCBiaWctZW5kaWFuDQomOAlzdHJpbmcJV0FWRQkNCj4yNAliZWxvbmcJPjAJW2ZyZXE9JWRdDQoNCiMgTWFnaWMgSUQgZm9yIE1heWEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUZPUjQJW2ZpZD0wMDAwMDEzMTItMzEtMDAwMDAwMDtleHQ9O21pbWU9O11NYXlhIGltYWdlIGZpbGUNCiY4CXN0cmluZwlDSU1HCQ0KDQojIE1hZ2ljIElEIGZvciBNYXlhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlGT1I4CVtmaWQ9MDAwMDAxMzEyLTMxLTAwMDAwMDA7ZXh0PTttaW1lPTtdTWF5YSBpbWFnZSBmaWxlDQomOAlzdHJpbmcJQ0lNRwkNCg0KIyBNYWdpYyBJRCBmb3IgQU9MIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwlKR1xceDA0XFx4MEUJW2ZpZD0wMDAwMDEwMjMtMzEtMDAwMEFSVDtleHQ9YXJ0O21pbWU9O11BT0wvSm9obnNvbi1HcmFjZSBpbWFnZSBmaWxlLCB2ZXJzaW9uIDIuMA0KPjB4MEQJbGVzaG9ydAl4CVtyZXM9JWR4DQo+MHgwRglsZXNob3J0CXgJJWRdDQoNCiMgTWFnaWMgSUQgZm9yIEJNRiBpbWFnZSBjb21wcmVzc29yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlcXHg4MVxceDhBMAlbZmlkPTAwMDEwMDA0OC0zMS0wMDAwQk1GO2V4dD1ibWY7bWltZT07XUJNRiBpbWFnZSBmaWxlDQo+MglzdHJpbmcJeAksIHZlcnNpb24gJS4xcw0KPjMJc3RyaW5nCXgJLiUuMXMNCg0KIyBNYWdpYyBJRCBmb3IgQk1GIGltYWdlIGNvbXByZXNzb3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTI3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDgxXFx4OEEyCVtmaWQ9MDAwMTAwMDQ4LTMxLTAwMDBCTUY7ZXh0PWJtZjttaW1lPTtdQk1GIGltYWdlIGZpbGUNCj4yCXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzDQo+MwlzdHJpbmcJeAkuJS4xcw0KDQojIE1hZ2ljIElEIGZvciBCTUYgaW1hZ2UgY29tcHJlc3NvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ODFcXHg4QTEJW2ZpZD0wMDAxMDAwNDgtMzEtMDAwMEJNRjtleHQ9Ym1mO21pbWU9O11CTUYgaW1hZ2UgZmlsZQ0KPjIJc3RyaW5nCXgJLCB2ZXJzaW9uICUuMXMNCj4zCXN0cmluZwl4CS4lLjFzDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJQk0JW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMEJNUDtleHQ9Ym1wO21pbWU9O11XaW5kb3dzIG9yIE9TLzIgQml0bWFwIGltYWdlIGZpbGUNCiY2CWxlbG9uZwkwCQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvZGVzayBBbmltYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4OTExOQlbZmlkPTAwMDAwMTI1NC0zMS0wMDAwQ0VMO2V4dD1jZWwscGljO21pbWU9O11BdXRvZGVzayBhbmltYXRvciBpbWFnZSBmaWxlDQomMTAJYnl0ZQk4CQ0KJjExCWJ5dGUJMAkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkeDhicHBdDQoNCiMgTWFnaWMgSUQgZm9yIEFuZHJldyBVc2VyIEludGVyZmFjZSBTeXN0ZW0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjEJc3RyaW5nCWJlZ2luZGF0YXtyYXN0ZXIJW2ZpZD0wMDAwMDEzMTUtMzEtMDAwMENNVTtleHQ9Y211O21pbWU9O11BbmRyZXcgdG9vbGtpdCByYXN0ZXIgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBBbml2Z2EgdG9vbGtpdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMzgJc3RyaW5nCUtSXFx4MDFcXHgwMAlbZmlkPTAwMDEwMDEwNC0zMS0wMDAwQ09EO2V4dD1jb2Q7bWltZT07XUFuaXZnYSBzcHJpdGUgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEN1cnNvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAyXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMENVUjtleHQ9Y3VyO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjdXJzb3IgaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQkwCQ0KPjQJbGVzaG9ydAl4CSwgJWQgY3Vyc29yKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHg4YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEN1cnNvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAyXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMENVUjtleHQ9Y3VyO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjdXJzb3IgaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQkxNgkNCj40CWxlc2hvcnQJeAksICVkIGN1cnNvcihzKQ0KPjYJYnl0ZQl4CVtyZXM9JWR4DQo+NwlieXRlCXgJJWR4NGJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgV2luZG93cyBDdXJzb3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMlxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBDVVI7ZXh0PWN1cjttaW1lPTtdTWljcm9zb2Z0IHdpbmRvd3MgY3Vyc29yIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMgkNCj40CWxlc2hvcnQJeAksICVkIGN1cnNvcihzKQ0KPjYJYnl0ZQl4CVtyZXM9JWR4DQo+NwlieXRlCXgJJWR4MWJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgV2luZG93cyBDdXJzb3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMlxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBDVVI7ZXh0PWN1cjttaW1lPTtdTWljcm9zb2Z0IHdpbmRvd3MgY3Vyc29yIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMzIJDQo+NAlsZXNob3J0CXgJLCAlZCBjdXJzb3IocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDVicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgQ3Vyc29yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDAwXFx4MDJcXHgwMAlbZmlkPTAwMDAwMTAwMS0zMS0wMDAwQ1VSO2V4dD1jdXI7bWltZT07XU1pY3Jvc29mdCB3aW5kb3dzIGN1cnNvciBpbWFnZSBmaWxlDQomMHgwOAlieXRlCTY0CQ0KPjQJbGVzaG9ydAl4CSwgJWQgY3Vyc29yKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHg2YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEN1cnNvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAyXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMENVUjtleHQ9Y3VyO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjdXJzb3IgaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQk4CQ0KPjQJbGVzaG9ydAl4CSwgJWQgY3Vyc29yKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHgzYnBwXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEzIGJ5IENhcmwNCjEyOAlzdHJpbmcJRElDTQlbZmlkPTAwMDAwMDAwNC0zMS0wMDBESUNNO2V4dD1kaWNtLGRjbTttaW1lPTtdRGlnaXRhbCBpbWFnaW5nIGFuZCBjb21tdW5pY2F0aW9uIGluIG1lZGVjaW5lIGltZy4NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlTRFBYCVtmaWQ9MDAwMDAxMzA5LTMxLTAwMDBEUFg7ZXh0PWRweDttaW1lPTtdRGlnaXRhbCBNb3ZpbmctUGljdHVyZSBFeGNoYW5nZSBpbWFnZSBmaWxlDQo+MTYwCXN0cmluZwk+XFx4MDAJW2NyZWF0b3I9JS4xMDBzXQ0KPjI2MAlzdHJpbmcJPlxceDAwCVt0aXRsZT0lLjIwMHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJWFBEUwlbZmlkPTAwMDAwMTMwOS0zMS0wMDAwRFBYO2V4dD1kcHg7bWltZT07XURpZ2l0YWwgTW92aW5nLVBpY3R1cmUgRXhjaGFuZ2UgaW1hZ2UgZmlsZQ0KPjE2MAlzdHJpbmcJPlxceDAwCVtjcmVhdG9yPSUuMTAwc10NCj4yNjAJc3RyaW5nCT5cXHgwMAlbdGl0bGU9JS4yMDBzXQ0KDQojIE1hZ2ljIElEIGZvciBMaWdodHdhdmUgM0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNTEtMzEtMDAwRlBCTTtleHQ9ZnBibTttaW1lPTtdRmxleGlibGUgUHJlY2lzaW9uIEJ1ZmZlciBNYXAgaW1hZ2UgZmlsZQ0KJjgJc3RyaW5nCUZQQk0JDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJR0lGOAlbZmlkPTAwMDAwMTI3NC0zMS0wMDAwR0lGO2V4dD1naWY7bWltZT1pbWFnZS9naWY7XUdJRiBpbWFnZSBmaWxlDQomMTAJYnl0ZSYweDcwCSEweDcwCQ0KPjQJc3RyaW5nCXgJLCB2ZXJzaW9uIDglLjJzDQo+NglsZXNob3J0CT4wCVtyZXM9JWR4DQo+OAlsZXNob3J0CT4wCSVkXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCUdJRjgJW2ZpZD0wMDAwMDEyNzQtMzEtMDAwMEdJRjtleHQ9Z2lmO21pbWU9aW1hZ2UvZ2lmO11HSUYgaW1hZ2UgZmlsZQ0KJjEwCWJ5dGUmMHg3MAkweDcwCQ0KPjQJc3RyaW5nCXgJLCB2ZXJzaW9uIDglLjJzDQo+NglsZXNob3J0CT4wCVtyZXM9JWR4DQo+OAlsZXNob3J0CT4wCSVkeDhicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgSWNvbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAxXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMElDTztleHQ9aWNvO21pbWU9aW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uO11NaWNyb3NvZnQgd2luZG93cyBJY29uIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMAkNCj40CWxlc2hvcnQJeAksICVkIGljb24ocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDhicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgSWNvbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAxXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMElDTztleHQ9aWNvO21pbWU9aW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uO11NaWNyb3NvZnQgd2luZG93cyBJY29uIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJMTYJDQo+NAlsZXNob3J0CXgJLCAlZCBpY29uKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHg0YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEljb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMVxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBJQ087ZXh0PWljbzttaW1lPWltYWdlL3ZuZC5taWNyb3NvZnQuaWNvbjtdTWljcm9zb2Z0IHdpbmRvd3MgSWNvbiBpbWFnZSBmaWxlDQomMHgwOAlieXRlCTIJDQo+NAlsZXNob3J0CXgJLCAlZCBpY29uKHMpDQo+NglieXRlCXgJW3Jlcz0lZHgNCj43CWJ5dGUJeAklZHgxYnBwXQ0KDQojIE1hZ2ljIElEIGZvciBXaW5kb3dzIEljb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMVxceDAwCVtmaWQ9MDAwMDAxMDAxLTMxLTAwMDBJQ087ZXh0PWljbzttaW1lPWltYWdlL3ZuZC5taWNyb3NvZnQuaWNvbjtdTWljcm9zb2Z0IHdpbmRvd3MgSWNvbiBpbWFnZSBmaWxlDQomMHgwOAlieXRlCTMyCQ0KPjQJbGVzaG9ydAl4CSwgJWQgaWNvbihzKQ0KPjYJYnl0ZQl4CVtyZXM9JWR4DQo+NwlieXRlCXgJJWR4NWJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgV2luZG93cyBJY29uIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDAwXFx4MDFcXHgwMAlbZmlkPTAwMDAwMTAwMS0zMS0wMDAwSUNPO2V4dD1pY287bWltZT1pbWFnZS92bmQubWljcm9zb2Z0Lmljb247XU1pY3Jvc29mdCB3aW5kb3dzIEljb24gaW1hZ2UgZmlsZQ0KJjB4MDgJYnl0ZQk2NAkNCj40CWxlc2hvcnQJeAksICVkIGljb24ocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDZicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFdpbmRvd3MgSWNvbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAxXFx4MDAJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwMElDTztleHQ9aWNvO21pbWU9aW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uO11NaWNyb3NvZnQgd2luZG93cyBJY29uIGltYWdlIGZpbGUNCiYweDA4CWJ5dGUJOAkNCj40CWxlc2hvcnQJeAksICVkIGljb24ocykNCj42CWJ5dGUJeAlbcmVzPSVkeA0KPjcJYnl0ZQl4CSVkeDNicHBdDQoNCiMgTWFnaWMgSUQgZm9yIFN1bk9TIEljb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJc3RyaW5nCS8qXFwgRm9ybWF0X3ZlcnNpb249MSxcXCAJW2ZpZD0wMDAwMDEwMTEtMzEtMDAwSUNPTjtleHQ9aWNvbjttaW1lPTtdU3VuT1MgaWNvbiBpbWFnZSBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MDEJW2ZpZD0wMDAwMDEyNzMtMzEtMDAwMElNRztleHQ9aW1nO21pbWU9O11HRU0gQml0IEltYWdlDQomMgliZXNob3J0CTB4MDgJDQo+MTIJYmVzaG9ydAk+MAlbcmVzPSVkeA0KPjE0CWJlc2hvcnQJPjAJJWQNCj40CWJlc2hvcnQJPjAJeCVkYnBwXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJc3RyaW5nCVxceDhiSk5HXFx4MGRcXHgwYVxceDFhXFx4MGEJW2ZpZD0wMDAwMDAwMDAtMzEtMDAwMEpORztleHQ9am5nO21pbWU9O11KUEVHIE5ldHdvcmsgZ3JhcGhpY3MgaW1hZ2UgZmlsZQ0KJjEyCXN0cmluZwlKSERSCQ0KPjE2CWJlbG9uZwl4CVtyZXM9JWQNCj4yMAliZWxvbmcJeAl4JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDBcXHgwMFxceDAwXFx4MGNqUFxceDIwXFx4MjAJW2ZpZD0wMDAwMDAwMDEtMzEtMDAxNTQ0NDtleHQ9anAyO21pbWU9aW1hZ2UvanAyO11KUEVHIDIwMDAgaW1hZ2UgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEzIGJ5IENhcmwNCjAJc3RyaW5nCVxceGZmXFx4NGZcXHhmZlxceDUxCVtmaWQ9MDAwMDAwMDAxLTMxLTAwMTU0NDQ7ZXh0PWpwYzttaW1lPTtdSlBFRyAyMDAwIGNvZGUgc3RyZWFtIGltYWdlIGZpbGUNCiZaMgliZXNob3J0CTB4RkZEOQkNCj44CWJlbG9uZwl4CVtyZXM9JWR4DQo+MTIJYmVsb25nCXgJJWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZWxvbmcJMHhmZmQ4ZmZlMAlbZmlkPTAwMDAwMTMwNS0zMS0wMDBKUEVHO2V4dD1qcGVnLGpwZzttaW1lPWltYWdlL2pwZWc7XUpvaW50IFBob3RvZ3JhcGhpYyBFeHBlcnRzIEdyb3VwIEpGSUYgaW1hZ2UgZmlsZQ0KJjYJc3RyaW5nCUpGSUZcXHgwMAkNCj4xMQlieXRlCXgJLCB2ZXJzaW9uICVkDQo+MTIJYnl0ZQl4CS4wJWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlcXHhmZlxceGQ4XFx4ZmZcXHhlMQlbZmlkPTAwMDAwMDAwNS0zMS0wMDBKUEVHO2V4dD1qcGcsanBlZzttaW1lPWltYWdlL2pwZWc7XURpZ2l0YWwgc3RpbGwgY2FtZXJhIGltYWdlIGZpbGUNCiY2CXN0cmluZwlFeGlmCQ0KDQojIE1hZ2ljIElEIGZvciBEZWx1eGUgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEwMTAtMzEtMDAwMExCTTtleHQ9bGJtO21pbWU9O11JbnRlcmxlYXZlZCBiaXRtYXAgaW1hZ2UgZmlsZQ0KJjgJc3RyaW5nCUlMQk0JDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQ2FybA0KMAlzdHJpbmcJVGhpc1xcIGlzXFwgYVxcIEJpdE1hcFxcIGZpbGUJW2ZpZD0wMDAwMDAwMDAtMzEtMDAwTElTUDtleHQ9bGlzcDttaW1lPTtdTGlzcCBtYWNoaW5lIGZvcm1hdCBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3JvZGVzaWduMiwgTWljcm9kZXNpZ24zIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwkuTURBCVtmaWQ9MDAwMDAxMzE2LTMxLTAwMDBNREE7ZXh0PW1kYTttaW1lPTtdTWljcm9kZXNpZ24gQXJlYSBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3JvZGVzaWduMiwgTWljcm9kZXNpZ24zIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwkuTURQCVtmaWQ9MDAwMDAxMzE2LTMxLTAwMDBNRFA7ZXh0PW1kcDttaW1lPTtdTWljcm9kZXNpZ24gcGFnZSBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEltYWdlbWFnaWNrIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlpZD1JbWFnZU1hZ2ljawlbZmlkPTAwMDEwMDEwMS0zMS0wMDBNSUZGO2V4dD1taWZmLG1pZjttaW1lPTtdSW1hZ2VtYWdpY2sgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBOZXRwYm0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJc3RyaW5nCU1SRjEJW2ZpZD0wMDAxMDAxMDUtMzEtMDAwME1SRjtleHQ9bXJmO21pbWU9O11Nb25vY2hyb21lIHJlY3Vyc2l2ZSBmb3JtYXQgaW1hZ2UgZmlsZQ0KPjQJYmVsb25nCXgJW3Jlcz0lZHgNCj44CWJlbG9uZwl4CSVkeDFicHBdDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMAlsZXNob3J0CTB4NjE0NAlbZmlkPTAwMDAwMTAwMS0zMS0wMDAwTVNQO2V4dD1tc3A7bWltZT07XU1pY3Jvc29mdCBwYWludCBpbWFnZSBmaWxlLCB2ZXJzaW9uIDEuMA0KJjIJbGVzaG9ydAkweDRkNmUJDQo+NAlsZXNob3J0CXgJW3Jlcz0lZHgNCj42CWxlc2hvcnQJeAklZHgxYnBwXQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJbGVzaG9ydAkweDY5NGMJW2ZpZD0wMDAwMDEwMDEtMzEtMDAwME1TUDtleHQ9bXNwO21pbWU9O11NaWNyb3NvZnQgcGFpbnQgaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjANCiYyCWxlc2hvcnQJMHg1MzZlCQ0KPjQJbGVzaG9ydAl4CVtyZXM9JWR4DQo+NglsZXNob3J0CXgJJWR4MWJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQN1xceDBBCVtmaWQ9MDAwMTAwMTAwLTMxLTAwMDBQQU07ZXh0PXBhbTttaW1lPTtdUG9ydGFibGUgYXJiaXRyYXJ5IG1hcCBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIE5ldHBibSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJUDEJW2ZpZD0wMDAxMDAxMDAtMzEtMDAwMFBCTTtleHQ9cGJtO21pbWU9O11Qb3J0YWJsZSBiaXRtYXAgaW1hZ2UgZmlsZSwgYXNjaWkNCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQNAlbZmlkPTAwMDEwMDEwMC0zMS0wMDAwUEJNO2V4dD1wYm07bWltZT07XVBvcnRhYmxlIGJpdG1hcCBpbWFnZSBmaWxlLCBiaW5hcnkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwMAlbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjUNCiYyCWJ5dGUJMQkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwMglbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjgNCiYyCWJ5dGUJMQkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwMwlbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggaW1hZ2UgZmlsZSwgdmVyc2lvbiAyLjgNCiYyCWJ5dGUJMQkNCg0KIyBNYWdpYyBJRCBmb3IgUEMtUGFpbnRicnVzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAliZXNob3J0CTB4MEEwNAlbZmlkPTAwMDAwMTI1Ny0zMS0wMDAwUENYO2V4dD1wY3g7bWltZT07XVBDLVBhaW50YnJ1c2ggZm9yIHdpbmRvd3MgaW1hZ2UgZmlsZQ0KJjIJYnl0ZQkxCQ0KDQojIE1hZ2ljIElEIGZvciBQQy1QYWludGJydXNoIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCWJlc2hvcnQJMHgwQTA1CVtmaWQ9MDAwMDAxMjU3LTMxLTAwMDBQQ1g7ZXh0PXBjeDttaW1lPTtdUEMtUGFpbnRicnVzaCBpbWFnZSBmaWxlLCB2ZXJzaW9uIDMuMA0KJjIJYnl0ZQkxCQ0KDQojIE1hZ2ljIElEIGZvciBOZXRwYm0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCVAyCVtmaWQ9MDAwMTAwMTAwLTMxLTAwMDBQR007ZXh0PXBnbTttaW1lPTtdUG9ydGFibGUgZ3JheSBtYXAgaW1hZ2UgZmlsZSwgYXNjaWkNCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQNQlbZmlkPTAwMDEwMDEwMC0zMS0wMDAwUEdNO2V4dD1wZ207bWltZT07XVBvcnRhYmxlIGdyYXkgbWFwIGltYWdlIGZpbGUsIGJpbmFyeQ0KDQojIE1hZ2ljIElEIGZvciBQQyBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4MTIzNAlbZmlkPTAwMDAwMTMxOC0zMS0wMDAwUElDO2V4dD1waWM7bWltZT07XVBpY3RvciBQQyBQYWludCBpbWFnZSBmaWxlDQomMTEJYnl0ZQkweEZGCQ0KJjEwCWJ5dGUJMHgwMgkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBQQyBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4MTIzNAlbZmlkPTAwMDAwMTMxOC0zMS0wMDAwUElDO2V4dD1waWM7bWltZT07XVBpY3RvciBQQyBQYWludCBpbWFnZSBmaWxlDQomMTEJYnl0ZQkweEZGCQ0KJjEwCWJ5dGUJMHgwOAkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBQQyBQYWludCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlsZXNob3J0CTB4MTIzNAlbZmlkPTAwMDAwMTMxOC0zMS0wMDAwUElDO2V4dD1waWM7bWltZT07XVBpY3RvciBQQyBQYWludCBpbWFnZSBmaWxlDQomMTEJYnl0ZQkweEZGCQ0KJjEwCWJ5dGUJMHgzMQkNCj4yCWxlc2hvcnQJeAlbcmVzPSVkDQo+NAlsZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBTb2Z0aW1hZ2UgM0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTA4IGJ5IENhcmwNCjAJYmVsb25nCTB4NTM4MGY2MzQJW2ZpZD0wMDAwMDEzMjEtMzEtMDAwMFBJQztleHQ9cGljO21pbWU9O11Tb2Z0aW1hZ2UgM0QgaW1hZ2UgZmlsZQ0KJjg4CXN0cmluZwlQSUNUCQ0KPjgJc3RyaW5nCT5cXHgwMAlbdGl0bGU9JS44MHNdDQo+OTIJYmVzaG9ydAl4CVtyZXM9JWQNCj45NAliZXNob3J0CXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBCaW8tcmFkIG1pY3Jvc2NvcGUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTA4IGJ5IENhcmwNCjU0CWxlc2hvcnQJMTIzNDUJW2ZpZD0wMDAwMDEzMjItMzEtMDAwMFBJQztleHQ9cGljO21pbWU9O11CaW8tcmFkIGNvbmZvY2FsIG1pY3Jvc2NvcGUgaW1hZ2UgZmlsZQ0KJjE2CWxlc2hvcnQJMAkNCj4wCWxlc2hvcnQJPjAJW3Jlcz0lZA0KPjIJbGVzaG9ydAk+MAl4JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ODlQTkdcXHgwZFxceDBhXFx4MWFcXHgwYQlbZmlkPTAwMDAwMDAwMS0zMS0wMDE1OTQ4O2V4dD1wbmc7bWltZT1pbWFnZS9wbmc7XVBvcnRhYmxlIE5ldHdvcmsgR3JhcGhpYyBmaWxlDQomMTIJc3RyaW5nCUlIRFIJDQo+MTYJYmVsb25nCT4wCVtyZXM9JWQNCj4yMAliZWxvbmcJPjAJeCVkDQo+MjQJYnl0ZQl4CXglZGJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgTmV0cGJtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlQMwlbZmlkPTAwMDEwMDEwMC0zMS0wMDAwUFBNO2V4dD1wcG07bWltZT07XVBvcnRhYmxlIHBpeGVsIG1hcCBpbWFnZSBmaWxlLCBhc2NpaQ0KDQojIE1hZ2ljIElEIGZvciBOZXRwYm0gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCVA2CVtmaWQ9MDAwMTAwMTAwLTMxLTAwMDBQUE07ZXh0PXBwbTttaW1lPTtdUG9ydGFibGUgcGl4ZWwgbWFwIGltYWdlIGZpbGUsIGJpbmFyeQ0KDQojIE1hZ2ljIElEIGZvciBQaG90b3Nob3AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCThCUFNcXHgwMFxceDAxCVtmaWQ9MDAwMDAxMDAzLTMxLTAwMDBQU0Q7ZXh0PXBzZDttaW1lPTtdQWRvYmUgUGhvdG9zaG9wIGltYWdlIGZpbGUNCj4xOAliZWxvbmcJPjAJW3Jlcz0lZHgNCj4xNAliZWxvbmcJPjAJJWRdDQoNCiMgTWFnaWMgSUQgZm9yIFBhaW50IHNob3AgcHJvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlQYWludCBTaG9wIFBybyBJbWFnZSBGaWxlXFx4MGFcXHgxYQlbZmlkPTAwMDAwMTMxMC0zMS0wMDAwUFNQO2V4dD1wc3A7bWltZT07XVBhaW50c2hvcCBwcm8gaW1hZ2UgZmlsZQ0KPjUwCWxlbG9uZwk+MAlbcmVzPSVkeA0KPjU0CWxlbG9uZwk+MAklZA0KPjY5CWxlc2hvcnQJPjAJeCVkYnBwXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJYmVsb25nCTB4NTlhNjZhOTUJW2ZpZD0wMDAwMDEwMTEtMzEtMDAwMFJBUztleHQ9cmFzO21pbWU9O11TdW4gcmFzdGVyIGltYWdlDQo+NAliZWxvbmcJPjAJW3Jlcz0lZHgNCj44CWJlbG9uZwk+MAklZA0KPjEyCWJlbG9uZwk+MAl4JWRicHBdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFwweDAxXFx4REEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZQ0KPjI0CXN0cmluZwk+XFx4MDAJW3RpdGxlPSUuODBzXQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCVxceDAxXFx4REFcXHgwMFxceDAxCVtmaWQ9MDAwMDAxMDA0LTMxLTAwMDBSR0I7ZXh0PXJnYjttaW1lPTtdU0dJIEltYWdlIGZpbGUNCiYxMAliZXNob3J0CTEJDQo+NgliZXNob3J0CXgJW3Jlcz0lZHgNCj44CWJlc2hvcnQJeAklZHg4YnBwXQ0KPjI0CXN0cmluZwk+XFx4MAlbdGl0bGU9JS44MHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHhEQVxceDAwXFx4MDEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZQ0KJjEwCWJlc2hvcnQJMwkNCj42CWJlc2hvcnQJeAlbcmVzPSVkeA0KPjgJYmVzaG9ydAl4CSVkeDI0YnBwXQ0KPjI0CXN0cmluZwk+XFx4MAlbdGl0bGU9JS44MHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHhEQVxceDAwXFx4MDEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZQ0KJjEwCWJlc2hvcnQJNAkNCj42CWJlc2hvcnQJeAlbcmVzPSVkeA0KPjgJYmVzaG9ydAl4CSVkeDI0YnBwXQ0KPjI0CXN0cmluZwk+XFx4MAlbdGl0bGU9JS44MHNdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMzEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHhEQVxceDAxXFx4MDEJW2ZpZD0wMDAwMDEwMDQtMzEtMDAwMFJHQjtleHQ9cmdiO21pbWU9O11TR0kgSW1hZ2UgZmlsZSwgY29tcHJlc3NlZA0KJjEwCWJlc2hvcnQJMQkNCj42CWJlc2hvcnQJeAlbcmVzPSVkeA0KPjgJYmVzaG9ydAl4CSVkeDhicHBdDQo+MjQJc3RyaW5nCT5cXHgwCVt0aXRsZT0lLjgwc10NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMVxceERBXFx4MDFcXHgwMQlbZmlkPTAwMDAwMTAwNC0zMS0wMDAwUkdCO2V4dD1yZ2I7bWltZT07XVNHSSBJbWFnZSBmaWxlLCBjb21wcmVzc2VkDQomMTAJYmVzaG9ydAkzCQ0KPjYJYmVzaG9ydAl4CVtyZXM9JWR4DQo+OAliZXNob3J0CXgJJWR4MjRicHBdDQo+MjQJc3RyaW5nCT5cXHgwCVt0aXRsZT0lLjgwc10NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMVxceERBXFx4MDFcXHgwMQlbZmlkPTAwMDAwMTAwNC0zMS0wMDAwUkdCO2V4dD1yZ2I7bWltZT07XVNHSSBJbWFnZSBmaWxlLCBjb21wcmVzc2VkDQomMTAJYmVzaG9ydAk0CQ0KPjYJYmVzaG9ydAl4CVtyZXM9JWR4DQo+OAliZXNob3J0CXgJJWR4MjRicHBdDQo+MjQJc3RyaW5nCT5cXHgwCVt0aXRsZT0lLjgwc10NCg0KIyBNYWdpYyBJRCBmb3IgVHVyYm8gU2lsdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMjUyLTMxLTAwMFJHQjg7ZXh0PXJnYjgscmdiO21pbWU9O11UdXJibyBTaWx2ZXIgMjQtYml0IFJHQiBpbWFnZSBmaWxlDQomOAlzdHJpbmcJUkdCOAkNCg0KIyBNYWdpYyBJRCBmb3IgVHVyYm8gU2lsdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMjUyLTMxLTAwMFJHQk47ZXh0PXJnYm4scmdiO21pbWU9O11UdXJibyBTaWx2ZXIgMTItYml0IFJHQiBpbWFnZSBmaWxlDQomOAlzdHJpbmcJUkdCTgkNCg0KIyBNYWdpYyBJRCBmb3IgQ29sb1JJWCBWR0EgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTA4IGJ5IENhcmwNCjAJc3RyaW5nCVJJWDMJW2ZpZD0wMDAwMDEzMjAtMzEtMDAwMFNDWjtleHQ9c2N6O21pbWU9O11Db2xvclJJWCBWR0EgUGFpbnQgaW1hZ2UgZmlsZQ0KPjQJbGVzaG9ydAl4CVtyZXM9JWQNCj42CWxlc2hvcnQJeAl4JWRdDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQnJ5YW4gSGVuZGVyc29uDQowCXN0cmluZwlcXDExN1xcMDcyCVtmaWQ9MDAwMDAwMDAwLTMxLTAwMDBTSVI7ZXh0PXNpcjttaW1lPTtdU29saXRhaXJlIGltYWdlIHJlY29yZGVyIGltYWdlIGZpbGUsIE1HSSB0eXBlIDExDQomNAlzdHJpbmcJXFwwMTMJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTMgYnkgQnJ5YW4gSGVuZGVyc29uDQowCXN0cmluZwlcXDExN1xcMDcyCVtmaWQ9MDAwMDAwMDAwLTMxLTAwMDBTSVI7ZXh0PXNpcjttaW1lPTtdU29saXRhaXJlIGltYWdlIHJlY29yZGVyIGltYWdlIGZpbGUsIE1HSSB0eXBlIDE3DQomNAlzdHJpbmcJXFwwMjEJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KWjE4CXN0cmluZwlUUlVFVklTSU9OLVhGSUxFCVtmaWQ9MDAwMDAxMzA2LTMxLTAwMDBUR0E7ZXh0PXRnYTttaW1lPTtdVHJ1ZXZpc2lvbiBUYXJnYSBpbWFnZSBmaWxlDQo+MTIJbGVzaG9ydAl4CVtyZXM9JWR4DQo+MTQJbGVzaG9ydAl4CSVkDQo+MTYJYnl0ZQl4CXglZGJwcF0NCg0KIyBNYWdpYyBJRCBmb3IgR3JhcGhpY3MgV29ya3Nob3AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVRITkwJW2ZpZD0wMDAwMDEyNTgtMzEtMDAwMFRITjtleHQ9dGhuO21pbWU9O11HcmFwaGljcyB3b3Jrc2hvcCB0aHVtYm5haWwgaW1hZ2UgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCUlJCVtmaWQ9MDAwMDAxMDAzLTMxLTAwMDBUSUY7ZXh0PXRpZix0aWZmLGRuZzttaW1lPWltYWdlL3RpZmY7XVRhZ2dlZCBpbWFnZSBmaWxlIGZvcm1hdCBpbWFnZSBmaWxlLCBsaXR0bGUtZW5kaWFuDQomMglsZXNob3J0CTQyCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTMxIGJ5IENhcmwNCjAJc3RyaW5nCU1NCVtmaWQ9MDAwMDAxMDAzLTMxLTAwMDBUSUY7ZXh0PXRpZix0aWZmLGRuZzttaW1lPWltYWdlL3RpZmY7XVRhZ2dlZCBpbWFnZSBmaWxlIGZvcm1hdCBpbWFnZSBmaWxlLCBiaWctZW5kaWFuDQomMglsZXNob3J0CQkNCg0KIyBNYWdpYyBJRCBmb3IgVklDQVIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCUxCTFNJWkU9CVtmaWQ9MDAwMDAxMDIyLTMxLTAwMDBWSUM7ZXh0PXZpYyx2aWNhcjttaW1lPTtdVmljYXIgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBLaG9yb3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVxceEFCXFx4MDFcXHgwMVxceDAzCVtmaWQ9MDAwMDAxMzA4LTMxLTAwMDBWSUY7ZXh0PXZpZix2aWZmO21pbWU9O11LaG9yb3MgVmlzdWFsaXphdGlvbi9JbWFnZSBGaWxlIEZvcm1hdCwgdmVyc2lvbiAxLjMNCiY0CWJ5dGUJMgkNCj41MjAJYmVsb25nCT4wCVtyZXM9JWR4DQo+NTI0CWJlbG9uZwk+MAklZF0NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMiBieSBDYXJsDQowCXN0cmluZwlGSUFTQ08JW2ZpZD0wMDAxMDAxMDctMzEtMDAwMFdGQTtleHQ9d2ZhO21pbWU9O11GcmFjdGFsIEltYWdlIEFuZCBTZXF1ZW5jZSBDb2RlYyBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFgtV2luZG93cyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDEgYnkgQ2FybA0KMAlzdHJpbmcJLyogWFBNICovCVtmaWQ9MDAwMDAxMDIwLTMxLTAwMDBYUE07ZXh0PXhwbTttaW1lPTtdWC1XaW5kb3dzIHBpeGVsIG1hcCBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFhWIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wMSBieSBDYXJsDQowCXN0cmluZwlQN1xcIDMzMglbZmlkPTAwMDEwMDEwMy0zMS0wMDAwMFhWO2V4dD14djttaW1lPTtdWFYgVGh1bWJuYWlsIGltYWdlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgWFdpbmRvd3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAyIGJ5IENhcmwNCjAJYmVsb25nCTB4NDAJW2ZpZD0wMDAwMDEwMjAtMzEtMDAwMFhXRDtleHQ9eHdkO21pbWU9O11YMTAgWFdpbmRvd3MgZHVtcCBpbWFnZSBmaWxlDQomNAliZWxvbmcJMHgwNgkNCj4yNAliZWxvbmcJeAlbcmVzPSVkDQo+MjgJYmVsb25nCXgJeCVkXQ0KDQojIE1hZ2ljIElEIGZvciBYV2luZG93cyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMAlsZWxvbmcJMHg0MAlbZmlkPTAwMDAwMTAyMC0zMS0wMDAwWFdEO2V4dD14d2Q7bWltZT07XVgxMCBYV2luZG93cyBkdW1wIGltYWdlIGZpbGUNCiY0CWxlbG9uZwkweDA2CQ0KPjI0CWxlbG9uZwl4CVtyZXM9JWQNCj4yOAlsZWxvbmcJeAl4JWRdDQoNCiMgTWFnaWMgSUQgZm9yIFByb3ZlY3RvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDggYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTMxOS0zMi0wMDBEUjJEO2V4dD1kcjJkO21pbWU9O11Qcm92ZWN0b3IgMkQgaW1hZ2UgZmlsZQ0KJjgJc3RyaW5nCURSMkQJDQoNCiMgTWFnaWMgSUQgZm9yIFhGaWcsIFdpbkZpZywgakZpZyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJI0ZJRwlbZmlkPTAwMDEwMDAxMS0zMi0wMDAwRklHO2V4dD1maWc7bWltZT07XUZhY2lsaXR5IGZvciBJbnRlcmFjdGl2ZSBHZW5lcmF0aW9uIGZpbGUNCj41CXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLg0KPjcJc3RyaW5nCXgJJS4xcw0KDQojIE1hZ2ljIElEIGZvciBMb3R1cyAxLTItMyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMDIgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDFcXHgwMFxceDAwXFx4MDBcXHgwMVxceDAwXFx4MDhcXHgwMFxceDQ0CVtmaWQ9MDAwMDAxMDA5LTMyLTAwMDBQSUM7ZXh0PXBpYzttaW1lPTtdTG90dXMgMS0yLTMgaW1hZ2UgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvY2FkIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlBdXRvQ0FEIFNsaWRlCVtmaWQ9MDAwMDAxMjU0LTMyLTAwMDBTTEQ7ZXh0PXNsZDttaW1lPTtdQXV0b2NhZCBzbGlkZSBpbWFnZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFdvcmRwZXJmZWN0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlcXHhmZldQQwlbZmlkPTAwMDAwMTAwOC0zMi0wMDAwV1BHO2V4dD13cGc7bWltZT07XVdvcmRwZXJmZWN0IEdyYXBoaWNzIHZlY3RvcnMNCiY4CWJ5dGUJMQkNCiY5CWJ5dGUJMHgxNgkNCj4xMAlieXRlCXgJLCB2ZXJzaW9uICVkLg0KPjExCWJ5dGUJeAklZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAxMDAwMTktMzMtMDAwQU1GRjtleHQ9YW1mZjttaW1lPTtdQW1pZ2EgbWV0YWZpbGUNCiY4CXN0cmluZwlBTUZGCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJbGVsb25nCTB4OUFDNkNERDcJW2ZpZD0wMDAwMDEwMDMtMzMtMDAwMEFQTTtleHQ9YXBtO21pbWU9O11BbGR1cyBwbGFjZWFibGUgV2luZG93cyBtZXRhZmlsZQ0KJjQJbGVzaG9ydAkwCQ0KDQojIE1hZ2ljIElEIGZvciBDb3JlbERSQVcgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDgtMzMtMDAwMENEUjtleHQ9Y2RyO21pbWU9O11Db3JlbGRyYXcgIGxpdHRsZS1lbmRpYW4gbWV0YWZpbGUNCiY4CXN0cmluZwlDRFIJDQoNCiMgTWFnaWMgSUQgZm9yIENvcmVsRFJBVyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGWAlbZmlkPTAwMDAwMTAwOC0zMy0wMDAwQ0RSO2V4dD1jZHI7bWltZT07XUNvcmVsZHJhdyAgYmlnLWVuZGlhbiBtZXRhZmlsZQ0KJjgJc3RyaW5nCUNEUgkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wOCBieSBDYXJsDQowCWJlc2hvcnQmMHhGRjIwCTB4MDAyMAlbZmlkPTAwMDAwMDAwMS0zMy0wMDA4NjMyO2V4dD1jZ207bWltZT1pbWFnZS9jZ207XUNvbXB1dGVyIGdyYXBoaWNzIG1ldGFmaWxlLCBiaW5hcnkgZW5jb2RlZA0KJloweDAyCWJlc2hvcnQmMHhGRjQwCTB4MDA0MAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0wOCBieSBDYXJsDQowCXN0cmluZwlCRUdNRglbZmlkPTAwMDAwMDAwMS0zMy0wMDA4NjMyO2V4dD1jZ207bWltZT1pbWFnZS9jZ207XUNvbXB1dGVyIGdyYXBoaWNzIG1ldGFmaWxlLCBhc2NpaSBlbmNvZGVkDQoNCiMgTWFnaWMgSUQgZm9yIENvcmVsRFJBVyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJUklGRglbZmlkPTAwMDAwMTAwOC0zMy0wMDAwQ01YO2V4dD1jbXg7bWltZT07XUNvcmVsIGxpdHRsZS1lbmRpYW4gbWV0YWZpbGUNCiY4CXN0cmluZwlDTVgxCQ0KDQojIE1hZ2ljIElEIGZvciBDb3JlbERSQVcgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVJJRlgJW2ZpZD0wMDAwMDEwMDgtMzMtMDAwMENNWDtleHQ9Y214O21pbWU9O11Db3JlbCBiaWctZW5kaWFuIG1ldGFmaWxlDQomOAlzdHJpbmcJQ01YMQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCWxlbG9uZwkweDAwMDAwMDAxCVtmaWQ9MDAwMDAxMDAxLTMzLTAwMDBFTUY7ZXh0PWVtZjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgRW5oYW5jZWQgbWV0YWZpbGUNCiY0MAlsZWxvbmcJMHg0NjRENDUyMAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwklIVBTLUFkb2JlLTIuMFxcIEVQU0YtMS4yCVtmaWQ9MDAwMDAxMDAzLTMzLTAwMEVQU0Y7ZXh0PWVwc2Y7bWltZT1hcHBsaWNhdGlvbi9wb3N0c2NyaXB0O11BZG9iZSBFbmNhcHN1bGF0ZWQgUG9zdHNjcmlwdCBMZXZlbCAyLCB2ZXJzaW9uIDEuMg0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCSUhUFMtQWRvYmUtMi4wXFwgRVBTRi0yLjAJW2ZpZD0wMDAwMDEwMDMtMzMtMDAwRVBTRjtleHQ9ZXBzZjttaW1lPWFwcGxpY2F0aW9uL3Bvc3RzY3JpcHQ7XUFkb2JlIEVuY2Fwc3VsYXRlZCBQb3N0c2NyaXB0IExldmVsIDIsIHZlcnNpb24gMi4wDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJJSFQUy1BZG9iZS0zLjBcXCBFUFNGLTMuMAlbZmlkPTAwMDAwMTAwMy0zMy0wMDBFUFNGO2V4dD1lcHNmO21pbWU9YXBwbGljYXRpb24vcG9zdHNjcmlwdDtdQWRvYmUgRW5jYXBzdWxhdGVkIFBvc3RzY3JpcHQgTGV2ZWwgMywgdmVyc2lvbiAzLjANCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHhDNVxceEQwXFx4RDNcXHhDNglbZmlkPTAwMDAwMTAwMy0zMy0wMDBFUFNGO2V4dD1lcHNmLGFpO21pbWU9YXBwbGljYXRpb24vcG9zdHNjcmlwdDtdQWRvYmUgRW5jYXBzdWxhdGVkIFBvc3RzY3JpcHQsIHZlcnNpb24gMy4wLCBiaW5hcnkNCg0KIyBNYWdpYyBJRCBmb3IgR0VNIFBhaW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0zMSBieSBDYXJsDQowCWJlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIE1vdG9yb2xhIE1ldGFmaWxlLCB2ZXJzaW9uIDEuMDENCiY0CWJlc2hvcnQJMTAxCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIE1ldGFmaWxlDQomNAlsZXNob3J0CTAJDQoNCiMgTWFnaWMgSUQgZm9yIEFydGxpbmUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIEludGVsIE1ldGFmaWxlLCB2ZXJzaW9uIDQuMDANCiY0CWxlc2hvcnQJNDAwCQ0KDQojIE1hZ2ljIElEIGZvciBEZXNrcHJlc3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIEludGVsIE1ldGFmaWxlLCB2ZXJzaW9uIDMuMTANCiY0CWxlc2hvcnQJMzEwCQ0KDQojIE1hZ2ljIElEIGZvciBHRU0gUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IGh0dHA6Ly93d3cuc2Vhc2lwLmluZm8vR2VtL2ZmX2dlbS5odG1sDQowCWxlc2hvcnQJMHhGRkZGCVtmaWQ9MDAwMDAxMjczLTMzLTAwMDBHRU07ZXh0PWdlbTttaW1lPTtdR2VtRE9TIEludGVsIE1ldGFmaWxlLCB2ZXJzaW9uIDEuMDENCiY0CWxlc2hvcnQJMTAxCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2RyYXcgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTAxIGJ5IENhcmwNCjB4MjBBCWJlbG9uZwkweDAwMTEwMkZGCVtmaWQ9MDAwMDAxMDAyLTMzLTAwMDBQQ1Q7ZXh0PXBjdDttaW1lPTtdTWFjaW50b3NoIFF1aWNrZHJhdyBtZXRhZmlsZSBcJ1BJQ1RcJywgdmVyc2lvbiAyLjANCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCWxlc2hvcnQJMHgwMDAxCVtmaWQ9MDAwMDAxMDAxLTMzLTAwMDBXTUY7ZXh0PXdtZjttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgbWV0YWZpbGUNCiYyCWxlc2hvcnQJOQkNCg0KIyBNYWdpYyBJRCBmb3IgQ2luZW1hIDREIFZlcnNpb24gNS54IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wNiBieSBDYXJsDQowCXN0cmluZwlNQzUwCVtmaWQ9MDAwMDAxMjU1LTQwLTAwMDAwMDA7ZXh0PTttaW1lPTtdTWF4b24gQ2luZW1hIDREIHZlcnNpb24gNSAzRCBkYXRhDQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrZHJhdyAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJM0RNRglbZmlkPTAwMDAwMTAwMi00MC0wMDAzRE1GO2V4dD0zZG1mO21pbWU9O11BcHBsZSBRdWlja2RyYXcgM0QgbWV0YWZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUmhpbm8gM2QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCTNEIEdlb21ldHJ5IEZpbGUgRm9ybWF0CVtmaWQ9MDAwMDAxMzMwLTQwLTAwMDNETUY7ZXh0PTNkbWY7bWltZT07XVJoaW5vM2QgLyBPcGVuTnVyYnMgM2QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tkcmF3IDNEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMSBieSBDYXJsDQowCXN0cmluZwkzRE1ldGFmaWxlCVtmaWQ9MDAwMDAxMDAyLTQwLTAwMDNETUY7ZXh0PTNkbWYsYTNkO21pbWU9O11BcHBsZSBRdWlja2RyYXcgM0QgbWV0YWZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQUMzZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJQUMzRAlbZmlkPTAwMDAwMDAwMC00MC0wMDAwMEFDO2V4dD1hYzttaW1lPTtdQWMzZCAzZCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciAzZFN0dWRpbyBNYXggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCSozRFNNQVhfQVNDSUlFWFBPUlQJW2ZpZD0wMDAwMDEzMjYtNDAtMDAwMEFTRTtleHQ9YXNlO21pbWU9O10zZCBzdHVkaW8gbWF4IGFzY2lpIGV4cG9ydCAzRCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciBDYWxpZ2FyaSBUcnVlc3BhY2UgTW9kZWxlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJQ2FsaWdhcmlcXCBWCVtmaWQ9MDAwMDAxMjU2LTQwLTAwMDBDT0I7ZXh0PWNvYixzY247bWltZT07XUNhbGlnYXJpIFRydWVzcGFjZTIgM0QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgVGFjaHlvbiBwYXJhbGxlbCByYXl0cmFjZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUJFR0lOX1NDRU5FCVtmaWQ9MDAwMTAwMTE2LTQwLTAwMDBEQVQ7ZXh0PWRhdDttaW1lPTtdVGFjaHlvbiByYXktdHJhY2VyIDNkIG1vZGVsDQoNCiMgTWFnaWMgSUQgZm9yIEF1dG9jYWQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUFDMTAJW2ZpZD0wMDAwMDEyNTQtNDAtMDAwMERXRztleHQ9ZHdnO21pbWU9aW1hZ2Uvdm5kLmR3ZztdQXV0b2NhZCBkcmF3aW5nIGZvcm1hdCAzZCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciBBdXRvY2FkIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlBdXRvQ0FEIEJpbmFyeSBEWEYJW2ZpZD0wMDAwMDEyNTQtNDAtMDAwMERYRjtleHQ9ZHhmO21pbWU9aW1hZ2Uvdm5kLmR4ZjtdQXV0b2NhZCBkcmF3aW5nIGludGVyY2hhbmdlIDNkIG1vZGVsLCBiaW5hcnkNCg0KIyBNYWdpYyBJRCBmb3IgTXVsdGlnZW4gY3JlYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAliZXNob3J0CTEJW2ZpZD0wMDAwMDEzMzItNDAtMDAwMEZMVDtleHQ9Zmx0O21pbWU9O11PcGVuZmxpZ2h0IHNjZW5lIGRlc2NyaXB0aW9uIDNkIG1vZGVsDQomNAlzdHJpbmcJZGIJDQoNCiMgTWFnaWMgSUQgZm9yIFZpZGVvc2NhcGUgM0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCUdPVVIJW2ZpZD0wMDAwMDEzMjgtNDAtMDAwMEdFTztleHQ9Z2VvO21pbWU9O11WaWRlb3NjYXBlIDNkIG1vZGVsIHdpdGggY29sb3JlZCB2ZXJ0aWNlcw0KDQojIE1hZ2ljIElEIGZvciBWaWRlb3NjYXBlIDNELCBCbGVuZGVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwkzREcxCVtmaWQ9MDAwMDAxMzI4LTQwLTAwMDBHRU87ZXh0PWdlbzttaW1lPTtdVmlkZW9zY2FwZSAzZCBtb2RlbCB3aXRoIGNvbG9yZWQgZmFjZXMNCg0KIyBNYWdpYyBJRCBmb3IgVmlkZW9zY2FwZSAzRCwgQmxlbmRlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJM0RHMglbZmlkPTAwMDAwMTMyOC00MC0wMDAwR0VPO2V4dD1nZW87bWltZT07XVZpZGVvc2NhcGUgM2QgbW9kZWwgbGlnaHQgc291cmNlDQoNCiMgTWFnaWMgSUQgZm9yIFZpZGVvc2NhcGUgM0QsIEJsZW5kZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCTNERzMJW2ZpZD0wMDAwMDEzMjgtNDAtMDAwMEdFTztleHQ9Z2VvO21pbWU9O11WaWRlb3NjYXBlIDNkIG1vZGVsIHdpdGggZ291cmF1ZCBjdXJ2ZXMNCg0KIyBNYWdpYyBJRCBmb3IgU29mdGltYWdlIDREIENyZWF0aXZlIGVudmlyb25tZW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlIUkNIOglbZmlkPTAwMDAwMTMyMS00MC0wMDAwSFJDO2V4dD1ocmM7bWltZT07XVNvZnRpbWFnZSA0ZCBtb2RlbCwgYXNjaWkgZW5jb2RlZA0KDQojIE1hZ2ljIElEIGZvciBPcGVuIEludmVudG9yIFRvb2xraXQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA2IGJ5IENhcmwNCjAJc3RyaW5nCSNJbnZlbnRvcglbZmlkPTAwMDAwMTAwNC00MC0wMDAwMElWO2V4dD1pdjttaW1lPTtdT3BlbiBJbnZlbnRvciAzZCBtb2RlbA0KPjExCXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLg0KPjEzCXN0cmluZwl4CSUuMXMNCj4xNQlzdHJpbmcJYmluYXJ5CSwgYmluYXJ5IGVuY29kZWQNCj4xNQlzdHJpbmcJYXNjaWkJLCBhc2NpaSBlbmNvZGVkDQoNCiMgTWFnaWMgSUQgZm9yIEdlb212aWV3IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlMSVNUCVtmaWQ9MDAwMTAwMTE4LTQwLTAwMExJU1Q7ZXh0PWxpc3Q7bWltZT07XUdlb212aWV3IGxpc3Qgb2YgM0QgbW9kZWxzIGFuZCBvYmplY3RzDQoNCiMgTWFnaWMgSUQgZm9yIExpZ2h0d2F2ZSAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTI1MS00MC0wMDAwTFdPO2V4dD1sd28sbHdvYjttaW1lPTtdTGlnaHR3YXZlIDNEIG9iamVjdA0KJjgJc3RyaW5nCUxXTzIJDQoNCiMgTWFnaWMgSUQgZm9yIExpZ2h0d2F2ZSAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTI1MS00MC0wMDAwTFdPO2V4dD1sd29iLGx3bzttaW1lPTtdTGlnaHR3YXZlIDNEIG9iamVjdA0KJjgJc3RyaW5nCUxXT0IJDQoNCiMgTWFnaWMgSUQgZm9yIExpZ2h0d2F2ZSAzRCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJTFdTQwlbZmlkPTAwMDAwMTI1MS00MC0wMDAwTFdTO2V4dD1sd3NjLGx3czttaW1lPTtdTGlnaHR3YXZlIDNEIHNjZW5lDQoNCiMgTWFnaWMgSUQgZm9yIE1heWEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCS8vTWF5YQlbZmlkPTAwMDAwMTMxMi00MC0wMDAwME1BO2V4dD1tYTttaW1lPTtdTWF5YSAzZCBtb2RlbCwgYXNjaWkgZW5jb2RlZA0KDQojIE1hZ2ljIElEIGZvciBDaW5lbWEgNEQgVmVyc2lvbiA0LnggYW5kIGVhcmxpZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA2IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNTUtNDAtMDAwTUM0RDtleHQ9bWM0ZDttaW1lPTtdTWF4b24gQ2luZW1hIDREIHY0LnggM0QgZGF0YQ0KJjgJc3RyaW5nCU1DNEQJDQoNCiMgTWFnaWMgSUQgZm9yIEdlb212aWV3IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlDTUVTSAlbZmlkPTAwMDEwMDExOC00MC0wMDBNRVNIO2V4dD1tZXNoO21pbWU9O11HZW9tdmlldyBwb2x5Z29uDQoNCiMgTWFnaWMgSUQgZm9yIEdlb212aWV3IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlNRVNICVtmaWQ9MDAwMTAwMTE4LTQwLTAwME1FU0g7ZXh0PW1lc2g7bWltZT07XUdlb212aWV3IHBvbHlnb24NCg0KIyBNYWdpYyBJRCBmb3IgTWlsc2hhcGUgM2QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCU1TM0QwMDAwMDAJW2ZpZD0wMDAxMDAxMTctNDAtMDAwTVMzRDtleHQ9bXMzZDttaW1lPTtdTWlsa3NoYXBlIDNkIG1vZGVsLCBiaW5hcnkgZW5jb2RlZA0KDQojIE1hZ2ljIElEIGZvciBXb3JsZHRvb2xraXQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA2IGJ5IENhcmwNCjAJc3RyaW5nCW5mZglbZmlkPTAwMDAwMTI1My00MC0wMDAwTkZGO2V4dD1uZmY7bWltZT07XVNlbnNlOCBXb3JsZHRvb2xraXQgM0Qgb2JqZWN0DQoNCiMgTWFnaWMgSUQgZm9yIEF1dG9kZXNrIEFuaW1hdG9yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQoyCWxlbG9uZwkweDAwMDAJW2ZpZD0wMDAwMDEyNTQtNDAtMDAwMFBMWTtleHQ9cGx5O21pbWU9O11BdXRvZGVzayBhbmltYXRvciBwb2x5Z29uIGZpbGUNCiY2CWJ5dGUJMAkNCiY3CWJ5dGUJMHg5OQkNCg0KIyBNYWdpYyBJRCBmb3IgQXV0b2Rlc2sgQW5pbWF0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjIJbGVsb25nCTB4MDAwMAlbZmlkPTAwMDAwMTI1NC00MC0wMDAwUExZO2V4dD1wbHk7bWltZT07XUF1dG9kZXNrIGFuaW1hdG9yIHBvbHlnb24gZmlsZQ0KJjYJYnl0ZQkxCQ0KJjcJYnl0ZQkweDk5CQ0KDQojIE1hZ2ljIElEIGZvciBRdWljazNkIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlxdWljazNEbwlbZmlkPTAwMDAwMTMzNC00MC0wMDAwUTNPO2V4dD1xM287bWltZT07XVF1aWNrM2QgM0Qgb2JqZWN0DQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrM2QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCXF1aWNrM0RzCVtmaWQ9MDAwMDAxMzM0LTQwLTAwMDBRM1M7ZXh0PXEzczttaW1lPTtdUXVpY2szZCAzRCBzY2VuZQ0KDQojIE1hZ2ljIElEIGZvciBSZW5kZXJtYW4gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCSMjUmVuZGVyTWFuXFwgUklCLVN0cnVjdHVyZQlbZmlkPTAwMDAwMTMyMy00MC0wMDAwUklCO2V4dD1yaWI7bWltZT07XVJlbmRlcm1hbiBieXRlc3RyZWFtIDNEIG1vZGVsDQoNCiMgTWFnaWMgSUQgZm9yIFNjdWxwdCAzZCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMTIgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMDAwMC00MC0wMFNDRU5FO2V4dD1zY2VuZTttaW1lPTtdU2N1bHB0IDNkIHNjZW5lIG1vZGVsDQomOAlzdHJpbmcJU0MzRAkNCg0KIyBNYWdpYyBJRCBmb3IgSW1hZ2luZSAzRCBTdHVkaW8sIFR1cmJvIFNpbHZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDYgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTI1Mi00MC0wMDBUREREO2V4dD10ZGRkLG9iajttaW1lPTtdSW1hZ2luZSAzRCBvYmplY3QNCiY4CXN0cmluZwlURERECQ0KDQojIE1hZ2ljIElEIGZvciBNYWNyb21lZGlhIERpcmVjdG9yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwlJRlgJW2ZpZD0wMDAwMDEyNTktNDAtMDAwMFczRDtleHQ9dzNkO21pbWU9O11TaG9ja3dhdmUgM0QgbW9kZWwNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wNiBieSBDYXJsDQowCXN0cmluZwkjVlJNTAlbZmlkPTAwMDAwMDAwMS00MC0wMDE0NzcyO2V4dD13cmw7bWltZT1tb2RlbC92cm1sO11WaXJ0dWFsIFJlYWxpdHkgbW9kZWxpbmcgbGFuZ3VhZ2UNCj43CXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLg0KPjkJc3RyaW5nCXgJJS4xcw0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTEyIGJ5IENhcmwNCjAJc3RyaW5nCTxXT1JMRD4JW2ZpZD0wMDAwMDAwMDAtNDAtMDAwMFhHTDtleHQ9eGdsO21pbWU9O11YR0wgM2QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgRGlyZWN0M0QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA0LTExIGJ5IENhcmwNCjAJc3RyaW5nCXhvZlxcIAlbZmlkPTAwMDAwMTAwMS00MC0wMDAwWElFO2V4dD14aWU7bWltZT07XU1pY3Jvc29mdCBkaXJlY3QzZCAzRCBtb2RlbA0KDQojIE1hZ2ljIElEIGZvciBTb2Z0aW1hZ2UgWFNJIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMiBieSBDYXJsDQowCXN0cmluZwl4c2lcXCAJW2ZpZD0wMDAwMDEzMjEtNDAtMDAwMFhTSTtleHQ9eHNpO21pbWU9O11Tb2Z0aW1hZ2UgM2QgbW9kZWwNCg0KIyBNYWdpYyBJRCBmb3IgS2Fib29tIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlcXHhBOE1QXFx4QTgJW2ZpZD0wMDAwMDAwMDAtNTAtMDAwMDAwMDtleHQ9O21pbWU9O11LYm9vbSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQ1RXIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCWxlc2hvcnQJMTIJW2ZpZD0wMDAxMDAwNzctNTAtMDAwMDAwMDtleHQ9O21pbWU9O11Db250ZXh0IHRyZWUgd2VpZ2hpbmcgKENUVykgYXJjaGl2ZSBmaWxlDQomMglsZXNob3J0CTAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBDb21wcmVzcyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJU1pERFxceDg4XFx4RjBcXHgyN1xceDMzCVtmaWQ9MDAwMDAxMDAxLTUwLTAwMDAwMDA7ZXh0PTttaW1lPTtdTWljcm9zb2Z0IExaU1MgY29tcHJlc3NlZCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFBWCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJXFx4NDBcXHhGRVxceDAwXFx4MDAJW2ZpZD0wMDAwMDEyODEtNTAtMDAwMEFBWDtleHQ9YWF4O21pbWU9O11BQVggYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFCQ29tcCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJXFx4MDNBQjIJW2ZpZD0wMDAwMDEyODItNTAtMDAwMEFCUDtleHQ9YWJwO21pbWU9O11BQkNvbXAgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFjZSAvIFdpbkFjZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KNwlzdHJpbmcJKipBQ0UqKglbZmlkPTAwMDAwMTI2NS01MC0wMDAwQUNFO2V4dD1hY2U7bWltZT07XUFjZSAvIFdpbkFDRSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQWkgQXJjaGl2ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUFpCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDAwQUk7ZXh0PWFpO21pbWU9O11BaSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQWt0IGFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlBS1RcXHgwQQlbZmlkPTAwMDAwMDAwMC01MC0wMDAwQUtUO2V4dD1ha3Q7bWltZT07XUFLVCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQU1HIEFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlcXHhBRFxceDM2CVtmaWQ9MDAwMDAxMjg0LTUwLTAwMDBBTUc7ZXh0PWFtZzttaW1lPTtdQU1HIGFyY2hpdmUgZmlsZQ0KPjIJYnl0ZQl4CSwgdmVyc2lvbiAlYmguDQo+MglieXRlCXgJJWJsDQomMwlieXRlCTAJDQoNCiMgTWFnaWMgSUQgZm9yIGFyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlcXHgyMTxhcmNoPlxceDBBCVtmaWQ9MDAwMDAwMDAzLTUwLTAwMDAwQVI7ZXh0PWFyO21pbWU9O11VTklYIGFyY2hpdmUgZmlsZSAoYXIpDQoNCiMgTWFnaWMgSUQgZm9yIEFSNyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJLEFSNyBlLW1haWxhYmxlIGFyY2hpdmU6CVtmaWQ9MDAwMTAwMDM2LTUwLTAwMDBBUjc7ZXh0PWFyNzttaW1lPTtdQVI3IGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTcXVhc2ggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjMJc3RyaW5nCU9jdFNxdQlbZmlkPTAwMDEwMDAzOC01MC0wMDAwQVJIO2V4dD1hcmg7bWltZT07XVNxdWFzaCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQXJqIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlcXHg2MFxceEVBCVtmaWQ9MDAwMDAxMjg1LTUwLTAwMDBBUko7ZXh0PWFyajttaW1lPTtdQVJKIGFyY2hpdmUgZmlsZQ0KJjEwCWJ5dGUJMgkNCg0KIyBNYWdpYyBJRCBmb3IgQVNEIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlBU0QwMVxceDFBCVtmaWQ9MDAwMDAxMjg3LTUwLTAwMDBBU0Q7ZXh0PWFzZDttaW1lPTtdQVNEIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCb2EgY29uc3RyaWN0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUJPQVxceDAwCVtmaWQ9MDAwMTAwMDQwLTUwLTAwMDBCNTg7ZXh0PWI1ODttaW1lPTtdQk9BIGNvbnN0cmljdG9yIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCV0MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUJXQwlbZmlkPTAwMDEwMDA0Mi01MC0wMDAwMEJDO2V4dD1iYzttaW1lPTtdQldDIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBCaXggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCUJJWDAJW2ZpZD0wMDAxMDAwMzctNTAtMDAwMEJJWDtleHQ9Yml4O21pbWU9O11CSVggYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJ0b2EgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE4IGJ5IENhcmwNCjAJc3RyaW5nCXhidG9hNQlbZmlkPTAwMDEwMDA0My01MC0wMDAwQk9PO2V4dD1ib287bWltZT07XUJ0b2EgZW5jb2RlZCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJzYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTggYnkgQ2FybA0KMAlzdHJpbmcJXFx4RkZCU0dcXHgwMFxceDAwXFx4RkZCU0EJW2ZpZD0wMDAwMDEyODktNTAtMDAwMEJTTjtleHQ9YnNuO21pbWU9O11Cc2EgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJUUEMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTAzIGJ5IENhcmwNCjAJc3RyaW5nCWJ0cGNcXCAJW2ZpZD0wMDAxMDAwNzQtNTAtMDAwQlRQQztleHQ9YnRwYzttaW1lPTtdQlRQQyBjb21wcmVzc2VkIGltYWdlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQlRTIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlcXHgxQVxceDAzRGVzY3JpcHQJW2ZpZD0wMDAxMDAwNDQtNTAtMDAwMEJUUztleHQ9YnRzO21pbWU9O11CVFNwayBhcmNoaXZlIGZpbGUNCiYweDUyMQlzdHJpbmcJQlRTUEshCQ0KDQojIE1hZ2ljIElEIGZvciBCemlwIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xOCBieSBDYXJsDQowCXN0cmluZwlCWjAJW2ZpZD0wMDAxMDAwMDgtNTAtMDAwMDBCWjtleHQ9Yno7bWltZT07XUJ6aXAgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEJ6aXAyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlCWmgJW2ZpZD0wMDAxMDAwMDgtNTAtMDAwMEJaMjtleHQ9YnoyO21pbWU9O11CemlwMiBhcmNoaXZlIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlNU0NGCVtmaWQ9MDAwMDAxMDAxLTUwLTAwMDBDQUI7ZXh0PWNhYjttaW1lPTtdTWljcm9zb2Z0IENhYmluZXQgZmlsZQ0KPjI1CWJ5dGUJeAksIHZlcnNpb24gJWQuDQo+MjQJYnl0ZQl4CSVkDQoNCiMgTWFnaWMgSUQgZm9yIENydXNoIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlDUlVTSFxcIHYxLjgJW2ZpZD0wMDAwMDEyOTAtNTAtMDAwMENSVTtleHQ9Y3J1O21pbWU9O11DcnVzaCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQ3R4ZiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJQ1hGXFx4MUEJW2ZpZD0wMDAxMDAwNDUtNTAtMDAwMENYRjtleHQ9Y3hmO21pbWU9O11DdHggYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIERBWFdhdiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMDAwMC01MC0wMDAwREFYO2V4dD1kYXg7bWltZT07XURBWCBhdWRpbyBhcmNoaXZlIGZpbGUNCiY4CXN0cmluZwlkYXhBCQ0KDQojIE1hZ2ljIElEIGZvciBEaXNrbWFzaGVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlETVMhCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDBETVM7ZXh0PWRtczttaW1lPTtdRGlza21hc2hlciBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRHBhZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJRGlya1xcIFBhZWhsKGMpCVtmaWQ9MDAwMTAwMDQ2LTUwLTAwMDBEUEE7ZXh0PWRwYTttaW1lPTtdRHBhZSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRGlzaW50ZWdyYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJRFNUYglbZmlkPTAwMDEwMDA0Ny01MC0wMDAwRFNUO2V4dD1kc3Q7bWltZT07XURpc2ludGVncmF0b3IgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEVuaGFuY2VkIGNvbXByZXNzb3IgKEVOQykgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjAJc3RyaW5nCUVuY2gJW2ZpZD0wMDAxMDAwNTEtNTAtMDAwMEVOQztleHQ9ZW5jO21pbWU9O11FbmhhbmNlZCBjb21wcmVzc29yIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBFU1AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUVTUD4JW2ZpZD0wMDAxMDAwMDItNTAtMDAwMEVTUDtleHQ9ZXNwO21pbWU9O11FU1AgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEVTUCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMHg1M2YJc3RyaW5nCUVTUAlbZmlkPTAwMDEwMDAwMi01MC0wMDAwRVhFO2V4dD1leGU7bWltZT07XUVTUCBTZWxmLWV4dHJhY3RpbmcgYXJjaGl2ZXcgKE1TLURPUykNCg0KIyBNYWdpYyBJRCBmb3IgRnJlZXplIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHgxRlxceDlFCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDAwMEY7ZXh0PWY7bWltZT07XUZyZWV6ZSBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMS4wDQoNCiMgTWFnaWMgSUQgZm9yIEZyZWV6ZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MUZcXHg5RglbZmlkPTAwMDAwMDAwMC01MC0wMDAwMDBGO2V4dD1mO21pbWU9O11GcmVlemUgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDIuMA0KDQojIE1hZ2ljIElEIGZvciBRbGZjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlcXHg0N1xceDY4XFx4NjlcXHg2NFxceDZmCVtmaWQ9MDAwMTAwMDU1LTUwLTAwMDAwR1E7ZXh0PWdxO21pbWU9O11RbGZjIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBHemlwIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlcXHgxRlxceDhCCVtmaWQ9MDAwMDAwMDAyLTUwLTAwMDE5NTI7ZXh0PWd6O21pbWU9O11HemlwIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBIYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTAgYnkgQ2FybA0KMAlzdHJpbmcJSEEJW2ZpZD0wMDAxMDAwMTMtNTAtMDAwMDBIQTtleHQ9aGE7bWltZT07XUhBIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBIQVAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjAJc3RyaW5nCVxceDkxM0hGCVtmaWQ9MDAwMDAxMjkxLTUwLTAwMDBIQVA7ZXh0PWhhcDttaW1lPTtdSEFQIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBIcGFjayBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJSFBBSwlbZmlkPTAwMDEwMDAxNi01MC0wMDAwSFBLO2V4dD1ocGs7bWltZT07XUhwYWNrIGFyY2hpdmUgZmlsZQ0KJlo0CXN0cmluZwlIUEFLCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTEwIGJ5IENhcmwNCjExCXN0cmluZwltdXN0XFwgYmVcXCBjb252ZXJ0ZWRcXCB3aXRoXFwgQmluSGV4CVtmaWQ9MDAwMDAxMDAyLTUwLTAwMDBIUVg7ZXh0PWhxeDttaW1lPTtdQmluSGV4IGFyY2hpdmUNCg0KIyBNYWdpYyBJRCBmb3IgSFlQIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yMyBieSBDYXJsDQowCXN0cmluZwlcXHgxQUhQXFx4MjUJW2ZpZD0wMDAxMDAwNTYtNTAtMDAwMEhZUDtleHQ9aHlwO21pbWU9O11IWVAgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEhZUCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJXFx4MUFTVFxceDI1CVtmaWQ9MDAwMTAwMDU2LTUwLTAwMDBIWVA7ZXh0PWh5cDttaW1lPTtdSFlQIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBXaW5pbXAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJbGVsb25nCTB4QTUwNEQ0OQlbZmlkPTAwMDAwMTI3MC01MC0wMDAwSU1QO2V4dD1pbXA7bWltZT07XVdpbmltcCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgSlJjaGl2ZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJSlJjaGl2ZQlbZmlkPTAwMDAwMTI2My01MC0wMDAwSlJDO2V4dD1qcmM7bWltZT07XUpSY2hpdmUgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIEFyY2hpdmUgSGFuZGxlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJTEcJW2ZpZD0wMDAxMDAwMDEtNTAtMDAwMDBMRztleHQ9bGc7bWltZT07XUFyaGFuZ2VsIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBMaW1pdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJTE1cXHgxQQlbZmlkPTAwMDEwMDAwMy01MC0wMDAwTElNO2V4dD1saW07bWltZT07XUxpbWl0IGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBMYXJjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbHo0LQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semg7bWltZT07XUxhcmMgYXJjaGl2ZQ0KDQojIE1hZ2ljIElEIGZvciBMYXJjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbHo1LQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semg7bWltZT07XUxhcmMgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIExhcmMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1senMtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aDttaW1lPTtdTGFyYyBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGhcXCAtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGgwLQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semgsbGhhO21pbWU9O11MSGFyYyBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMS54DQoNCiMgTWFnaWMgSUQgZm9yIGxoYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMglzdHJpbmcJLWxoMS0JW2ZpZD0wMDAxMDAwMTctNTAtMDAwMExaSDtleHQ9bHpoLGxoYTttaW1lPTtdTEhhcmMgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDEueA0KDQojIE1hZ2ljIElEIGZvciBsaGEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1saDItCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGgzLQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semgsbGhhO21pbWU9O11MSGFyYyBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMi54DQoNCiMgTWFnaWMgSUQgZm9yIGxoYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMglzdHJpbmcJLWxoNC0JW2ZpZD0wMDAxMDAwMTctNTAtMDAwMExaSDtleHQ9bHpoLGxoYTttaW1lPTtdTEhhcmMgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDIueA0KDQojIE1hZ2ljIElEIGZvciBsaGEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1saDUtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbGhhIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQoyCXN0cmluZwktbGg2LQlbZmlkPTAwMDEwMDAxNy01MC0wMDAwTFpIO2V4dD1semgsbGhhO21pbWU9O11MSGFyYyBhcmNoaXZlIGZpbGUsIHZlcnNpb24gMi54DQoNCiMgTWFnaWMgSUQgZm9yIGxoYSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMglzdHJpbmcJLWxoNy0JW2ZpZD0wMDAxMDAwMTctNTAtMDAwMExaSDtleHQ9bHpoLGxoYTttaW1lPTtdTEhhcmMgYXJjaGl2ZSBmaWxlLCB2ZXJzaW9uIDIueA0KDQojIE1hZ2ljIElEIGZvciBsaGEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjIJc3RyaW5nCS1saGQtCVtmaWQ9MDAwMTAwMDE3LTUwLTAwMDBMWkg7ZXh0PWx6aCxsaGE7bWltZT07XUxIYXJjIGFyY2hpdmUgZmlsZSwgdmVyc2lvbiAyLngNCg0KIyBNYWdpYyBJRCBmb3IgbHpvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlcXHg4OVxceDRjXFx4NWFcXHg0ZlxceDAwXFx4MGRcXHgwYVxceDFhXFx4MGEJW2ZpZD0wMDAxMDAwMTgtNTAtMDAwMExaTztleHQ9bHpvO21pbWU9O11MWk9QIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBMenggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjAJc3RyaW5nCUxaWAlbZmlkPTAwMDEwMDA1OC01MC0wMDAwTFpYO2V4dD1seng7bWltZT07XUxaWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTWRjZCAoTWlrZSBEYXZlbnBvcnQgY29tcHJlc3NvcikgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCU1EbWQJW2ZpZD0wMDAxMDAwMDQtNTAtMDAwMDBNRDtleHQ9bWQ7bWltZT07XU1pa2UgRGF2ZW5wb3J0IGFyY2hpdmUgZmlsZQ0KPjQJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KJjUJYnl0ZQkxCQ0KDQojIE1hZ2ljIElEIGZvciBOYXNocmluayBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJTlNLCVtmaWQ9MDAwMDAxMjkyLTUwLTAwMDBOU0s7ZXh0PW5zazttaW1lPTtdTmFTaHJpbmsgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNlbW9uZSBhcmNoaXZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJU0VNaAlbZmlkPTAwMDEwMDA2OC01MC0wMDAwT05FO2V4dD1vbmU7bWltZT07XVNlbW9uZSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTHBhYyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJTFBBQwlbZmlkPTAwMDEwMDA4NC01MC0wMDAwUEFDO2V4dD1wYWM7bWltZT07XUxQQUMgYXVkaW8gYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIENyb3NzZVBBQyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJRFNJR0RDQwlbZmlkPTAwMDAwMTI2Mi01MC0wMDAwUEFDO2V4dD1wYWM7bWltZT07XUNyb3NzZVBBQyBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgSGlnaCBDb21wcmVzc2lvbiBNYXJrb3YgUHJlZGljdGl2ZSBDb2RlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjMgYnkgQ2FybA0KMAlzdHJpbmcJUFBaMglbZmlkPTAwMDEwMDA2MS01MC0wMDAwUE1aO2V4dD1wbXo7bWltZT07XVBQTVoyIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQb3dlcnBhY2tlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJUFAyMAlbZmlkPTAwMDEwMDA2Mi01MC0wMDAwMFBQO2V4dD1wcDttaW1lPTtdUG93ZXJwYWNrZXIgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFBBUTEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTI3IGJ5IENhcmwNCjAJc3RyaW5nCVBBUTFcXHgwRFxceDBBCVtmaWQ9MDAwMTAwMDY0LTUwLTAwMDBQUTE7ZXh0PXBxMTttaW1lPTtdUEFRMSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUEFRMyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJUEFRM1xceDBEXFx4MEEJW2ZpZD0wMDAxMDAwNjQtNTAtMDAwMFBRMztleHQ9cHEzO21pbWU9O11QQVEzIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQQVE2IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlQQVE2CVtmaWQ9MDAwMTAwMDY0LTUwLTAwMDBQUTY7ZXh0PXBxNjttaW1lPTtdUEFRNiBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUHJldHR5IHNpbXBsZSBhcmNoaXZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJUFNBXFx4MDFcXHgwMwlbZmlkPTAwMDEwMDA2NS01MC0wMDAwUFNBO2V4dD1wc2E7bWltZT07XVByZXR0eSBzaW1wbGUgYXJjaGl2ZXIgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFF1YW50dW0gY29tcHJlc3NvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJRFMJW2ZpZD0wMDAwMDEyOTQtNTAtMDAwMDAwUTtleHQ9cTttaW1lPTtdUXVhbnR1bSBhcmNoaXZlIGZpbGUNCiYyCWJ5dGUJPDIJDQo+MglieXRlCXgJLCB2ZXJzaW9uICVkDQo+MwlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFJhciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJXFx4NTJcXHg2MVxceDcyXFx4MjFcXHgxYVxceDA3XFx4MDAJW2ZpZD0wMDAwMDEyNjctNTAtMDAwMFJBUjtleHQ9cmFyO21pbWU9O11SQVIgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFJvbWFuaWFuIGFyY2hpdmVyIGVYcGVydCAoUkFYKSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJVUxFQglbZmlkPTAwMDAwMTI5NS01MC0wMDAwUkFYO2V4dD1yYXg7bWltZT07XVJBWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUmVkdXEgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTI3IGJ5IENhcmwNCjAJc3RyaW5nCXJkcXgJW2ZpZD0wMDAxMDAwNjYtNTAtMDAwMFJEUTtleHQ9cmRxO21pbWU9O11SZWR1cSBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUlBNIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlcXHhlZFxceGFiXFx4ZWVcXHhkYglbZmlkPTAwMDAwMDAwMC01MC0wMDAwUlBNO2V4dD1ycG07bWltZT07XVJQTSBhcmNoaXZlDQo+NAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+NQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIHJ6aXAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCVJaSVAJW2ZpZD0wMDAxMDAwNzYtNTAtMDAwMDBSWjtleHQ9cno7bWltZT07XVJ6aXAgYXJjaGl2ZSBmaWxlDQo+NAlieXRlCXgJLCB2ZXJzaW9uICVkDQo+NQlieXRlCXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIFN0cmVhbWxpbmUgQXJjaGl2YWwgVXRpbGl0eSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMwlzdHJpbmcJTEgwCVtmaWQ9MDAwMDAxMjY0LTUwLTAwMDBTQVI7ZXh0PXNhcjttaW1lPTtdU3RyZWFtaW5nIEFyY2hpdmVyIFV0aWxpdHkgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFN0cmVhbWxpbmUgQXJjaGl2YWwgVXRpbGl0eSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMwlzdHJpbmcJTEg0CVtmaWQ9MDAwMDAxMjY0LTUwLTAwMDBTQVI7ZXh0PXNhcjttaW1lPTtdU3RyZWFtaW5nIEFyY2hpdmVyIFV0aWxpdHkgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFN0cmVhbWxpbmUgQXJjaGl2YWwgVXRpbGl0eSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMwlzdHJpbmcJTEg1CVtmaWQ9MDAwMDAxMjY0LTUwLTAwMDBTQVI7ZXh0PXNhcjttaW1lPTtdU3RyZWFtaW5nIEFyY2hpdmVyIFV0aWxpdHkgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNCWCBBcmNoaXZlciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMjcgYnkgQ2FybA0KMAlzdHJpbmcJU0IxXFx4MDAJW2ZpZD0wMDAwMDEyOTctNTAtMDAwMDBTQjtleHQ9c2I7bWltZT07XVNCWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU0JDIEFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTQkNcXHgxRQlbZmlkPTAwMDEwMDA2Ny01MC0wMDAwU0JDO2V4dD1zYmM7bWltZT07XVNCQyBhcmNoaXZlIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQoxMAlzdHJpbmcJI1xcIFRoaXNcXCBpc1xcIGFcXCBzaGVsbFxcIGFyY2hpdmUJW2ZpZD0wMDAwMDAwMDAtNTAtMDAwU0hBUjtleHQ9c2hhcjttaW1lPTtdVU5JWCBzaGVsbCBhcmNoaXZlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTAgYnkgQ2FybA0KMTEJc3RyaW5nCSNcXCBUaGlzXFwgaXNcXCBhXFwgc2hlbGxcXCBhcmNoaXZlCVtmaWQ9MDAwMDAwMDAwLTUwLTAwMFNIQVI7ZXh0PXNoYXI7bWltZT07XVVOSVggc2hlbGwgYXJjaGl2ZQ0KDQojIE1hZ2ljIElEIGZvciBOdWxpYiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJXFx4NGVcXHhmNVxceDQ2XFx4ZDgJW2ZpZD0wMDAxMDAwMDUtNTAtMDAwMFNISztleHQ9c2hrO21pbWU9O11TaHJpbmtpdC9OdWxpYiBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTnVsaWIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVxceDRlXFx4ZjVcXHg0NlxceGU5XFx4NmNcXHhlNQlbZmlkPTAwMDEwMDAwNS01MC0wMDAwU0hLO2V4dD1zaGs7bWltZT07XVNocmlua2l0L051bGliIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTdHVmZml0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlTdHVmZkl0XFwgCVtmaWQ9MDAwMDAxMjcyLTUwLTAwMDBTSVQ7ZXh0PXNpdDttaW1lPTtdU3R1ZmZpdCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU3R1ZmZpdCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTEgYnkgQ2FybA0KMAlzdHJpbmcJU0lUIQlbZmlkPTAwMDAwMTI3Mi01MC0wMDAwU0lUO2V4dD1zaXQ7bWltZT07XVN0dWZmaXQgYXJjaGl2ZSBmaWxlDQomMTAJc3RyaW5nCXJMYXUJDQo+MTQJYnl0ZQl4CSwgdmVyc2lvbiAlZC4wDQoNCiMgTWFnaWMgSUQgZm9yIFN0dWZmaXQgRXh0ZW5kZWQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAzLTA0IGJ5IENhcmwNCjAJc3RyaW5nCVN0dWZmSXQhCVtmaWQ9MDAwMDAxMjcyLTUwLTAwMFNJVFg7ZXh0PXNpdHg7bWltZT07XVN0dWZmaXQgZXh0ZW5kZWQgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFNvZiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDMtMDQgYnkgQ2FybA0KMAlzdHJpbmcJUEtcXHgwM1xceDA2CVtmaWQ9MDAwMDAwMDAwLTUwLTAwMDBTT0Y7ZXh0PXNvZjttaW1lPTtdU09GIGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTcGxpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVxceDkzXFx4QjlcXHgwNglbZmlkPTAwMDEwMDAwNi01MC0wMDAwU1BMO2V4dD1zcGw7bWltZT07XVNwbGludCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgU3F3ZWV6IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQowCXN0cmluZwlTUVdFWlxcIAlbZmlkPTAwMDEwMDAxNC01MC0wMDAwU1FaO2V4dD1zcXo7bWltZT07XVNxd2V6IGFyY2hpdmUgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBTcXogZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTEwIGJ5IENhcmwNCjAJc3RyaW5nCUhMU1FaCVtmaWQ9MDAwMTAwMDE1LTUwLTAwMDBTUVo7ZXh0PXNxejttaW1lPTtdU3F1ZWV6ZSBhcmNoaXZlIGZpbGUNCj41CXN0cmluZwl4CSwgdmVyc2lvbiAlLjFzLjANCg0KIyBNYWdpYyBJRCBmb3IgU3RvbmVjcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTNDAxCVtmaWQ9MDAwMTAwMDYzLTUwLTAwMDBTVEM7ZXh0PXN0YzttaW1lPTtdU3RvbmVjcmFja2VyIGFyY2hpdmUgZmlsZQ0KPjAJc3RyaW5nCVM0MDEJLCB2ZXJzaW9uIDQuMDENCg0KIyBNYWdpYyBJRCBmb3IgU3RvbmVjcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTNDAzCVtmaWQ9MDAwMTAwMDYzLTUwLTAwMDBTVEM7ZXh0PXN0YzttaW1lPTtdU3RvbmVjcmFja2VyIGFyY2hpdmUgZmlsZQ0KPjAJc3RyaW5nCVM0MDMJLCB2ZXJzaW9uIDQuMDMNCg0KIyBNYWdpYyBJRCBmb3IgU3RvbmVjcmFja2VyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlTNDA0CVtmaWQ9MDAwMTAwMDYzLTUwLTAwMDBTVEM7ZXh0PXN0YzttaW1lPTtdU3RvbmVjcmFja2VyIGFyY2hpdmUgZmlsZQ0KPjAJc3RyaW5nCVM0MDQJLCB2ZXJzaW9uIDQuMDQNCg0KIyBNYWdpYyBJRCBmb3IgU3ppcCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJU1pcXHgwQVxceDA0CVtmaWQ9MDAwMTAwMDA5LTUwLTAwMDAwU1o7ZXh0PXN6O21pbWU9O11TWklQIGFyY2hpdmUgZmlsZQ0KPjQJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjUJYnl0ZQl4CS4lZA0KDQojIE1hZ2ljIElEIGZvciBUYXIscGF4IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQoyNTcJc3RyaW5nCXVzdGFyXFwwNDBcXDA0MFxcMAlbZmlkPTAwMDAwMDAwMC01MC0wMDAwVEFSO2V4dD10YXI7bWltZT07XUdOVSB0YXIgYXJjaGl2ZQ0KDQojIE1hZ2ljIElEIGZvciBUYXIscGF4IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQoyNTcJc3RyaW5nCXVzdGFyXFwwXFx4MDYJW2ZpZD0wMDAwMDAwMDMtNTAtMDAwMTAwMztleHQ9dGFyO21pbWU9O11PcGVuZ3JvdXAvUE9TSVggdGFyIGFyY2hpdmUNCg0KIyBNYWdpYyBJRCBmb3IgdWMyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQowCXN0cmluZwlVQzJcXHgxYQlbZmlkPTAwMDAwMTI3MS01MC0wMDAwVUMyO2V4dD11YzI7bWltZT07XVVsdHJhIENvbXByZXNzb3IgYXJjaGl2ZSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFVoYXJjIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wNCBieSBDYXJsDQowCXN0cmluZwlVSEEJW2ZpZD0wMDAxMDAwODMtNTAtMDAwMFVIQTtleHQ9dWhhO21pbWU9O11VSEFyYyBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgWUJTIGFyY2hpdmVyIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0yNyBieSBDYXJsDQowCXN0cmluZwlZQlMzCVtmaWQ9MDAwMTAwMDcxLTUwLTAwMDBZQlM7ZXh0PXliczttaW1lPTtdWUJTIGFyY2hpdmUgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCVxcMDM3XFwyMzUJW2ZpZD0wMDAwMDAwMDAtNTAtMDAwMDAwWjtleHQ9ejttaW1lPTtdVU5JWCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgUGt1bnppcCwgSW5mby16aXAgVW56aXAgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJbGVsb25nCTB4MDQwMzRiNTAJW2ZpZD0wMDAwMDEyNjYtNTAtMDAwMFpJUDtleHQ9emlwO21pbWU9YXBwbGljYXRpb24vemlwO11Qa3ppcCBhcmNoaXZlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3Igem9vIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMCBieSBDYXJsDQowCXN0cmluZwlaT08JW2ZpZD0wMDAxMDAwMTItNTAtMDAwMFpPTztleHQ9em9vO21pbWU9O11ab28gYXJjaGl2ZSBmaWxlDQomMHgxNAlsZWxvbmcJMHgwRkRDNEE3REMJDQo+MzIJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjMzCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgWnppcCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJWloJW2ZpZD0wMDAxMDAwMDctNTAtMDAwMDBaWjtleHQ9eno7bWltZT07XVpaaXAgYXJjaGl2ZSBmaWxlDQo+MglieXRlCXgJLCB2ZXJzaW9uICVkLjANCg0KIyBNYWdpYyBJRCBmb3IgNjI0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wMyBieSBDYXJsDQowCXN0cmluZwlbRVNQXVxceEI1XFx4NzgJW2ZpZD0wMDAxMDAwMDItNTEtMDAwMENPTTtleHQ9Y29tO21pbWU9O102MjQgZXhlY3V0YWJsZSBjb21wcmVzc2VkIGZpbGUgKE1TLURPUykNCg0KIyBNYWdpYyBJRCBmb3IgNjI0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMy0wMyBieSBDYXJsDQowCXN0cmluZwlQVUxQXFx4ODMJW2ZpZD0wMDAxMDAwMDItNTEtMDAwMENPTTtleHQ9Y29tO21pbWU9O102MjQgZXhlY3V0YWJsZSBjb21wcmVzc2VkIGZpbGUgKE1TLURPUykNCg0KIyBNYWdpYyBJRCBmb3IgTHpleGUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTIzIGJ5IENhcmwNCjB4MUMJc3RyaW5nCUxaOTEJW2ZpZD0wMDAxMDAwNTMtNTEtMDAwMEVYRTtleHQ9ZXhlO21pbWU9O11MemV4ZSBjb21wcmVzc2VkIGV4ZWN1dGFibGUgZmlsZSAoTVMtRE9TKQ0KDQojIE1hZ2ljIElEIGZvciBIVE1MIEhlbHAgV29ya3Nob3AgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUlUU0YJW2ZpZD0wMDAwMDEwMDEtNjAtMDAwMENITTtleHQ9Y2htO21pbWU9O11NaWNyb3NvZnQgY29tcGlsZWQgaHlwZXJ0ZXh0IGRvY3VtZW50DQoNCiMgTWFnaWMgSUQgZm9yIEJvcmxhbmQgRGVscGhpIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNy0zMCBieSBDYXJsDQoyCXN0cmluZwlERUxQSEkuRElBR1JBTS5QT1JURk9MSU8JW2ZpZD0wMDAwMDEwMDUtNjAtMDAwMEREUDtleHQ9ZGRwO21pbWU9O11EZWxwaGkgRGlhZ3JhbSBQb3J0Zm9saW8gZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBQYWdlc3RyZWFtIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlGT1JNCVtmaWQ9MDAwMDAxMjY4LTYwLTAwMDBET0M7ZXh0PWRvYzttaW1lPTtdUGFnZXN0cmVhbSBkb2N1bWVudA0KJjgJc3RyaW5nCURPQ1xcIAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlDQVRcXCAJW2ZpZD0wMDAwMDEwMTAtNjAtMDAwRlRYVDtleHQ9ZnR4dDttaW1lPTtdRm9ybWF0dGVkIHRleHQgaW50ZXJjaGFuZ2UgZmlsZQ0KJjgJc3RyaW5nCUZUWFQJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJRk9STQlbZmlkPTAwMDAwMTAxMC02MC0wMDBGVFhUO2V4dD1mdHh0O21pbWU9O11Gb3JtYXR0ZWQgdGV4dCBpbnRlcmNoYW5nZSBmaWxlDQomOAlzdHJpbmcJRlRYVAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlMSVNUCVtmaWQ9MDAwMDAxMDEwLTYwLTAwMEZUWFQ7ZXh0PWZ0eHQ7bWltZT07XUZvcm1hdHRlZCB0ZXh0IGludGVyY2hhbmdlIGZpbGUNCiY4CXN0cmluZwlGVFhUCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUBkYXRhYmFzZQlbZmlkPTAwMDAwMTAwNy02MC0wMEdVSURFO2V4dD1ndWlkZTttaW1lPTtdQW1pZ2FHdWlkZSBoeXBlcnRleHQgZG9jdW1lbnQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCWxlbG9uZwkweDAwMDM1RjNGCVtmaWQ9MDAwMDAxMDAxLTYwLTAwMDBITFA7ZXh0PWhscDttaW1lPTtdTWljcm9zb2Z0IFdpbmRvd3MgSGVscCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMTAtMDggYnkgQ2FybA0KMAlzdHJpbmcJPCFET0NUWVBFXFwgCVtmaWQ9MDAwMDAwMDAxLTYwLTAwMTU0NDU7ZXh0PWh0bWwsaHRtO21pbWU9dGV4dC9odG1sO11IeXBlclRleHQgTWFya3VwIExhbmd1YWdlIGRvY3VtZW50IChIVE1MKQ0KJjEwCXN0cmluZy9jCWh0bWwJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJSERPQwlbZmlkPTAwMDAwMTAwNi02MC0wMDAwSFlQO2V4dD1oeXA7bWltZT07XUF0YXJpIFNULUd1aWRlIGh5cGVydGV4dCBkb2N1bWVudA0KDQojIE1hZ2ljIElEIGZvciBPUy8yIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCXN0cmluZwlIU1AJW2ZpZD0wMDAwMDEwMDktNjAtMDAwMElORjtleHQ9aW5mO21pbWU9O11PUy8yIEd1aWRlIGh5cGVydGV4dCBkb2N1bWVudA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVRoaXNcXCBpc1xcIEluZm9cXCBmaWxlCVtmaWQ9MDAwMTAwMDEwLTYwLTAwMElORk87ZXh0PWluZm87bWltZT07XUdOVSBJbmZvIGh5cGVydGV4dCBkb2N1bWVudA0KDQojIE1hZ2ljIElEIGZvciBBZG9iZSBBY3JvYmF0IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMC0wOCBieSBDYXJsDQowCXN0cmluZwklUERGLQlbZmlkPTAwMDAwMDAwMS02MC0wMDE1OTMwO2V4dD1wZGY7bWltZT1hcHBsaWNhdGlvbi9wZGY7XVBvcnRhYmxlIGRvY3VtZW50IGZvcm1hdCBkb2N1bWVudCBmaWxlIChQREYpDQo+NQlzdHJpbmcJeAksIHZlcnNpb24gJS4xcw0KPjcJc3RyaW5nCXgJLiUuMXMNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdvcmRwYWQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCXtcXFxccnRmCVtmaWQ9MDAwMDAxMDAxLTYwLTAwMDBSVEY7ZXh0PXJ0ZjttaW1lPXRleHQvcnRmO11SaWNoIFRleHQgRm9ybWF0IGRvY3VtZW50DQo+NQlzdHJpbmcJeAksIHZlcnNpb24gJS4xcy54DQoNCiMgTWFnaWMgSUQgZm9yIERvY0Jvb2sgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTEwLTA4IGJ5IENhcmwNCjAJc3RyaW5nCTwhRE9DVFlQRVxcIAlbZmlkPTAwMDAwMDAwMS02MC0wMDA4ODc5O2V4dD1zZ21sLHNnbTttaW1lPXRleHQvc2dtbDtdU3RhbmRhcmQgZ2VuZXJhbCBtYXJrdXAgbGFuZ3VhZ2UgZG9jdW1lbnQgKFNHTUwpDQoNCiMgTWFnaWMgSUQgZm9yIFR1cmJvIEMgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVRVUkJPXFwgQ1xcIEhFTFBcXCBGSUxFXFx4MDAJW2ZpZD0wMDAwMDEwMDUtNjAtMDAwMFRDSDtleHQ9dGNoO21pbWU9O11UdXJibyBDIGhlbHAgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBUdXJibyBQYXNjYWwgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVRVUkJPXFwgUEFTQ0FMXFwgSEVMUFxcIEZJTEVcXHgwMAlbZmlkPTAwMDAwMTAwNS02MC0wMDAwVFBIO2V4dD10cGg7bWltZT07XUJvcmxhbmQgUGFzY2FsIGhlbHAgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBUdXJibyBWaXNpb24gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJbGVsb25nCTB4NDY0ODQyNDYJW2ZpZD0wMDAwMDEwMDUtNjAtMDAwMFRWSDtleHQ9dHZoO21pbWU9O11Cb3JsYW5kIFR1cmJvIFZpc2lvbiBoZWxwIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgV29yZHBlcmZlY3QgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVxceEZGV1BDCVtmaWQ9MDAwMDAxMDA4LTYwLTAwMDBXUEQ7ZXh0PXdwZCxkb2M7bWltZT1hcHBsaWNhdGlvbi92bmQud29yZHBlcmZlY3Q7XVdvcmRwZXJmZWN0IGRvY3VtZW50DQomOQlieXRlCTB4MEEJDQo+MTAJYnl0ZQl4CSwgdmVyc2lvbiAlZA0KPjExCWJ5dGUJeAkuJWQNCg0KIyBNYWdpYyBJRCBmb3IgTWljcm9zb2Z0IFdyaXRlIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCWxlc2hvcnQJMDEzNzA2MQlbZmlkPTAwMDAwMTAwMS02MC0wMDAwV1JJO2V4dD13cmk7bWltZT07XU1pY3Jvc29mdCBXcml0ZSBkb2N1bWVudA0KJjIJbGVzaG9ydAkweDAwMDAJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBXcml0ZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlsZXNob3J0CTAxMzcwNjIJW2ZpZD0wMDAwMDEwMDEtNjAtMDAwMFdSSTtleHQ9d3JpO21pbWU9O11NaWNyb3NvZnQgV3JpdGUgZG9jdW1lbnQNCiYyCWxlc2hvcnQJMHgwMDAwCQ0KDQojIE1hZ2ljIElEIGZvciBYLVdpbmRvd3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJc3RyaW5nCVNUQVJURk9OVFxcIAlbZmlkPTAwMDAwMTAwMy03MC0wMDAwQkRGO2V4dD1iZGY7bWltZT07XUFkb2JlIGdseXBoIGJpdG1hcCBkaXN0cmlidXRpb24gZm9ybWF0IGZvbnQgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBEZWx1eGUgUGFpbnQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJc3RyaW5nCUNGXFx4MDFcXHgwMAlbZmlkPTAwMDAwMTAxMC03MC0wMDAwMDBDO2V4dD1jO21pbWU9O11EZWx1eGUgcGFpbnQgbXVsdGktY29sb3VyIGZvbnQgZmlsZQ0KDQojIE1hZ2ljIElEIGZvciBGaWdsZXQgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJc3RyaW5nCWZsZjIJW2ZpZD0wMDAxMDAxMjItNzAtMDAwMEZMRjtleHQ9ZmxmO21pbWU9O11GaWdsZXQgZm9udCBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFBDTCA1IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOS0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgwMFxceDQ0XFx4MDBcXHgwMVxceDAwXFx4MDBcXHgwMFxceDFBCVtmaWQ9MDAwMDAxMzM2LTcwLTAwMDBMSUI7ZXh0PWxpYix0eXBlO21pbWU9O11JbnRlbGxpZm9udCBTY2FsYWJsZSBUeXBlZmFjZSBGb3JtYXQgIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgRGVsdXhlIFBhaW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOS0wMSBieSBDYXJsDQowCXN0cmluZwlcXHgxQlxceDI5XFx4NzNcXHgzNlxceDM0XFx4NTdcXHgwMFxceDQwCVtmaWQ9MDAwMDAxMDEwLTcwLTAwMDAwME07ZXh0PW07bWltZT07XURlbHV4ZSBwYWludCBtb25vIGNvbG91ciBmb250IGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCWJlbG9uZwkweDAwMDEwMDAwCVtmaWQ9MDAwMDAxMDAxLTcwLTAwMDBUVEY7ZXh0PW90Zix0dGY7bWltZT07XU9wZW50eXBlIGZvbnQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJc3RyaW5nCU9UVE8JW2ZpZD0wMDAwMDEwMDEtNzAtMDAwMFRURjtleHQ9b3RmLHR0ZjttaW1lPTtdT3BlbnR5cGUgZm9udCBmaWxlLCBDRkYgdHlwZQ0KDQojIE1hZ2ljIElEIGZvciBYLVdpbmRvd3MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjAJYmVsb25nCTB4MDE2NjYzNzAJW2ZpZD0wMDAwMDAwMDAtNzAtMDAwMFBDRjtleHQ9cGNmO21pbWU9O11Qb3J0YWJsZSBjb21waWxlZCBmb3JtYXQgKFBDRikgZm9udCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJJSFGb250VHlwZTEJW2ZpZD0wMDAwMDAwMDEtNzAtMDAwOTU0MTtleHQ9cGZhO21pbWU9O11UeXBlIDEgZm9udCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJJSFQUy1BZG9iZUZvbnQtMS4wCVtmaWQ9MDAwMDAwMDAxLTcwLTAwMDk1NDE7ZXh0PXBmYTttaW1lPTtdVHlwZSAxIGZvbnQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjYJc3RyaW5nCSUhRm9udFR5cGUxCVtmaWQ9MDAwMDAxMDAzLTcwLTAwMDBQRkI7ZXh0PXBmYjttaW1lPTtdVHlwZSAxIHByaW50ZXIgZm9udCBiaW5hcnkgZmlsZQ0KJjAJYnl0ZQkweDgwCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjYJc3RyaW5nCSUhUFMtQWRvYmVGb250LTEuMAlbZmlkPTAwMDAwMTAwMy03MC0wMDAwUEZCO2V4dD1wZmI7bWltZT07XVR5cGUgMSBwcmludGVyIGZvbnQgYmluYXJ5IGZpbGUNCiYwCWJ5dGUJMHg4MAkNCg0KIyBNYWdpYyBJRCBmb3IgWC1XaW5kb3dzLCBHZW1ET1MgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA5LTAxIGJ5IENhcmwNCjIJc3RyaW5nCVxceDJFXFx4MzBcXHgwRFxceDBBXFx4MDBcXHgwMAlbZmlkPTAwMDAwMTMzNy03MC0wMDAwU1BEO2V4dD1zcGQ7bWltZT07XUJpdHN0cmVhbSBTcGVlZG8gZm9udCBmaWxlDQomMAlzdHJpbmcJRAkNCj4yNAlzdHJpbmcJeAlbdGl0bGU9JS43MHNdDQo+MQlzdHJpbmcJeAksdmVyc2lvbiAlLjFzLjANCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCXN0cmluZwl0cnVlCVtmaWQ9MDAwMDAxMDAyLTcwLTAwMDBUVEY7ZXh0PXR0ZjttaW1lPTtdVHJ1ZXR5cGUgZm9udCBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJdHlwMQlbZmlkPTAwMDAwMTAwMi03MC0wMDAwVFRGO2V4dD10dGY7bWltZT07XVRydWV0eXBlIGZvbnQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJc3RyaW5nCVN0YXJ0Q29tcEZvbnRNZXRyaWNzCVtmaWQ9MDAwMDAxMDAzLTcwLTAwMDBBRk07ZXh0PWFmbTttaW1lPTtdQWRvYmUgY29tcG9zaXRlIGZvbnQgbWV0cmljcyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJU3RhcnRGb250TWV0cmljcwlbZmlkPTAwMDAwMTAwMy03MC0wMDAwQUZNO2V4dD1hZm07bWltZT07XUFkb2JlIGZvbnQgbWV0cmljcyBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAlzdHJpbmcJU3RhcnRNYXN0ZXJGb250TWV0cmljcwlbZmlkPTAwMDAwMTAwMy03MC0wMDAwQUZNO2V4dD1hZm07bWltZT07XUFkb2JlIG1hc3RlciBmb250IG1ldHJpY3MgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJbGVzaG9ydAkweDAxMDAJW2ZpZD0wMDAwMDEwMDEtNzAtMDAwMFBGTTtleHQ9cGZtO21pbWU9O11QcmludGVyIEZvbnQgTWV0cmljcyBmaWxlIGZvciBUeXBlIDEgZm9udHMNCiY2NglsZXNob3J0CTB4MDA4MQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCWxlbG9uZwkweDc1QjIyNjMwCVtmaWQ9MDAwMDAxMDAxLTgxLTAwMDBBU0Y7ZXh0PWFzZix3bWEsd212O21pbWU9O11NaWNyb3NvZnQgQWR2YW5jZWQgU3RyZWFtaW5nIGZvcm1hdCBtdWx0aW1lZGlhIGZpbGUNCiY2CWxlc2hvcnQJMHgxMUNGCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCVJJRkYJW2ZpZD0wMDAwMDEwMDEtODEtMDAwMEFWSTtleHQ9YXZpO21pbWU9O11BdWRpby12aWRlbyBpbnRlcmxlYXZlZCBtb3ZpZSwgbGl0dGxlLWVuZGlhbg0KJjgJc3RyaW5nCUFWSVxcIAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMyBieSBDYXJsDQowCXN0cmluZwlSSUZYCVtmaWQ9MDAwMDAxMDAxLTgxLTAwMDBBVkk7ZXh0PWF2aTttaW1lPTtdQXVkaW8tdmlkZW8gaW50ZXJsZWF2ZWQgbW92aWUsIGJpZy1lbmRpYW4NCiY4CXN0cmluZwlBVklcXCAJDQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrdGltZSBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KNAlzdHJpbmcJbWRhdAlbZmlkPTAwMDAwMTAwMi04MS0wMDAwTU9WO2V4dD1tb3YscXQ7bWltZT12aWRlby9xdWlja3RpbWU7XUFwcGxlIFF1aWNrVGltZSBtb3ZpZSBkYXRhIChtZGF0KQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja3RpbWUgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjQJc3RyaW5nCW1vb3YJW2ZpZD0wMDAwMDEwMDItODEtMDAwME1PVjtleHQ9bW92LHF0O21pbWU9dmlkZW8vcXVpY2t0aW1lO11BcHBsZSBRdWlja1RpbWUgbW92aWUgcmVzb3VyY2UgKG1vb3YpDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMjAgYnkgQ2FybA0KMAliZWxvbmcJMHgxQjMJW2ZpZD0wMDAwMDAwMDEtODEtMDAwTVBFRztleHQ9bXBlLG1wZWcsbXBnO21pbWU9dmlkZW8vbXBlZztdTVBFRyBtdWx0aW1lZGlhIChhdWRpby92aWRlbykgc3RyZWFtIGZpbGUNCiZaNAliZWxvbmcJMHgwMUI5CQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjAJYmVsb25nCTB4MUJBCVtmaWQ9MDAwMDAwMDAxLTgxLTAwME1QRUc7ZXh0PW1wZSxtcGVnLG1wZzttaW1lPXZpZGVvL21wZWc7XU1QRUcgbXVsdGltZWRpYSAoYXVkaW8vdmlkZW8pIHN0cmVhbSBmaWxlDQomWjQJYmVsb25nCTB4MDFCOQkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0yMCBieSBDYXJsDQowCWJlbG9uZwkweDFFMAlbZmlkPTAwMDAwMDAwMS04MS0wMDBNUEVHO2V4dD1tcGUsbXBlZyxtcGc7bWltZT12aWRlby9tcGVnO11NUEVHIG11bHRpbWVkaWEgKGF1ZGlvL3ZpZGVvKSBzdHJlYW0gZmlsZQ0KJlo0CWJlbG9uZwkweDAxQjkJDQoNCiMgTWFnaWMgSUQgZm9yIEFsaWFzL1dhdmVmcm9udCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJTU9WSQlbZmlkPTAwMDAwMTAwNC04MS0wMDAwME1WO2V4dD1tdjttaW1lPTtdQWxpYXMvV2F2ZWZyb250IG1vdmllIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xOCBieSBDYXJsDQowCXN0cmluZwlPZ2dTCVtmaWQ9MDAwMDAwMDAwLTgxLTAwMDBPR0c7ZXh0PW9nZzttaW1lPWFwcGxpY2F0aW9uL29nZztdT0dHIE11bHRpbWVkaWEgY29udGFpbmVyIHN0cmVhbSBmaWxlDQoNCiMgTWFnaWMgSUQgZm9yIFJlYWxwbGF5ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE5IGJ5IENhcmwNCjAJc3RyaW5nCS5STUYJW2ZpZD0wMDAwMDEwMjctODEtMDAwMDBSTTtleHQ9cm0scmEscnQscnAscnBhO21pbWU9O11SZWFsTWVkaWEgbXVsdGltZWRpYSBjb250YWluZXIgc3RyZWFtIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTWFjcm9tZWRpYSBGbGFzaCBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KMAlzdHJpbmcJRldTCVtmaWQ9MDAwMDAxMjU5LTgxLTAwMDBTV0Y7ZXh0PXN3ZjttaW1lPTtdU2hvY2t3YXZlIE1hY3JvbWVkaWEgYW5pbWF0aW9uDQo+MwlieXRlCXgJLCB2ZXJzaW9uICVkLjANCg0KIyBNYWdpYyBJRCBmb3IgVml2byBwbGF5ZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTIwIGJ5IENhcmwNCjUJc3RyaW5nCVZlcnNpb246Vml2bwlbZmlkPTAwMDAwMDAwMC04MS0wMDBWSVZPO2V4dD12aXYsdml2bzttaW1lPXZpZGVvL3ZuZC52aXZvO11WaXZvIG11bHRpbWVkaWEgc3RyZWFtIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgQWVnaXMgQW5pbWF0b3IgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNjEtODItMDAwQU5JTTtleHQ9YW5pbTttaW1lPTtdQW1pZ2EgLyBTcGFydGEgc29mdHdhcmUgYW5pbWF0aW9uDQomOAlzdHJpbmcJQU5JTQkNCg0KIyBNYWdpYyBJRCBmb3IgRmFudGF2aXNpb24gbW92aWUgbWFrZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjAJc3RyaW5nCUZPUk0JW2ZpZD0wMDAwMDEyNjAtODItMDAwRkFOVDtleHQ9ZmFudDttaW1lPTtdRmFudGF2aXNpb24gbW92aWUNCiY4CXN0cmluZwlGQU5UCQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvZGVzayBBbmltYXRvciBQcm8gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTA4IGJ5IENhcmwNCjQJbGVzaG9ydAkweEFGMTIJW2ZpZD0wMDAwMDEyNTQtODItMDAwMEZMQztleHQ9ZmxjO21pbWU9O11BdXRvZGVzayBBbmltYXRvciBQcm8gYW5pbWF0aW9uDQomMTIJbGVzaG9ydAkweDA4CQ0KPjgJbGVzaG9ydAl4CVtyZXM9JWR4DQo+MTAJbGVzaG9ydAl4CSVkDQo+MTIJbGVzaG9ydAl4CXg4YnBwXQ0KDQojIE1hZ2ljIElEIGZvciBBdXRvZGVzayBBbmltYXRvciBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMDggYnkgQ2FybA0KNAlsZXNob3J0CTB4QUYxMQlbZmlkPTAwMDAwMTI1NC04Mi0wMDAwRkxJO2V4dD1mbGk7bWltZT07XUF1dG9kZXNrIEFuaW1hdG9yIGFuaW1hdGlvbg0KJjEyCWxlc2hvcnQJMHgwOAkNCj44CWxlc2hvcnQJeAlbcmVzPSVkeA0KPjEwCWxlc2hvcnQJeAklZA0KPjEyCWxlc2hvcnQJeAl4OGJwcF0NCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0xMyBieSBDYXJsDQowCXN0cmluZwlcXHg4QU1OR1xceDBkXFx4MEFcXHgxQVxceDBBCVtmaWQ9MDAwMDAwMDAwLTgyLTAwMDBNTkc7ZXh0PW1uZzttaW1lPTtdTXVsdGktaW1hZ2UgbmV0d29yayBncmFwaGljcyBhbmltYXRpb24gZmlsZQ0KPjB4MTAJYmVsb25nCXgJW3Jlcz0lZHgNCj4weDE0CWJlbG9uZwl4CSVkXQ0KDQojIE1hZ2ljIElEIGZvciBDeWJlcnBhaW50IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0wOCBieSBDYXJsDQowCWJlc2hvcnQJMHhGRURCCVtmaWQ9MDAwMDAwMDAwLTgyLTAwMDBTRVE7ZXh0PXNlcTttaW1lPTtdQ3liZXJwYWludCBBbmltYXRpb24gU2VxdWVuY2UNCiYyCWJlc2hvcnQJMHgwMDAwCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuLE1vbmV5IGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQowCXN0cmluZwlPRlhIRUFERVI6CVtmaWQ9MDAwMDAwMDA4LTkxLTAwMDBRRlg7ZXh0PXFmeDttaW1lPTtdT3BlbiBmaW5hbmNpYWwgZXhjaGFuZ2UgZmlsZSAoU0dNTCkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJQWNjb3VudAlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJVHlwZTpCYW5rCVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkNhc2gJW2ZpZD0wMDAwMDEzMzUtOTEtMDAwMFFJRjtleHQ9cWlmO21pbWU9O11RdWlja2VuIGludGVyY2hhbmdlIGZpbGUNCiYwCWJ5dGUJMzMJDQoNCiMgTWFnaWMgSUQgZm9yIFF1aWNrZW4gZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA4LTAxIGJ5IENhcmwNCjEJc3RyaW5nCVR5cGU6Q2F0CVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkNDYXJkCVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkNsYXNzCVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOkludnN0CVtmaWQ9MDAwMDAxMzM1LTkxLTAwMDBRSUY7ZXh0PXFpZjttaW1lPTtdUXVpY2tlbiBpbnRlcmNoYW5nZSBmaWxlDQomMAlieXRlCTMzCQ0KDQojIE1hZ2ljIElEIGZvciBRdWlja2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wOC0wMSBieSBDYXJsDQoxCXN0cmluZwlUeXBlOk1lbW9yaXplZAlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJVHlwZTpPdGggQQlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBNYWdpYyBJRCBmb3IgUXVpY2tlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMDgtMDEgYnkgQ2FybA0KMQlzdHJpbmcJVHlwZTpPdGggTAlbZmlkPTAwMDAwMTMzNS05MS0wMDAwUUlGO2V4dD1xaWY7bWltZT07XVF1aWNrZW4gaW50ZXJjaGFuZ2UgZmlsZQ0KJjAJYnl0ZQkzMwkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xMSBieSBDYXJsDQowCXN0cmluZwlSUkcJW2ZpZD0wMDAwMDEwMDEtQjAtMDAwMENSRDtleHQ9Y3JkO21pbWU9O11XaW5kb3dzIDMueCBjYXJkZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTExIGJ5IENhcmwNCjAJc3RyaW5nCU1HQwlbZmlkPTAwMDAwMTAwMS1CMC0wMDAwQ1JEO2V4dD1jcmQ7bWltZT07XVdpbmRvd3MgTlQgMy41MSBjYXJkIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wMi0xNCBieSBDYXJsDQowCXN0cmluZwlCRUdJTjpWQ0FSRAlbZmlkPTAwMDAwMTAxNS1CMC0wMDAwVkNGO2V4dD12Y2Y7bWltZT07XXZDYXJkIEJ1c2luZXNzIENhcmQgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTAyLTE0IGJ5IENhcmwNCjAJc3RyaW5nCVxceGI1XFx4YTJcXHhiMFxceGIzXFx4YjNcXHhiMFxceGEyXFx4YjUJW2ZpZD0wMDAwMDEwMDEtQjEtMDAwMENBTDtleHQ9Y2FsO21pbWU9O11NaWNyb3NvZnQgd2luZG93cyBjYWxlbmRhciBmaWxlDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDItMTQgYnkgQ2FybA0KMAlzdHJpbmcJQkVHSU46VkNBTEVOREFSCVtmaWQ9MDAwMDAxMDE2LUIxLTAwMDBWQ1M7ZXh0PXZjczttaW1lPTtddkNhbGVuZGFyL2lDYWxlbmRhciBBZ2VuZGEgZmlsZQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHgwMFxceDNDXFx4MDBcXHgwMFxceDAwXFx4M0YJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUsIFVURi0zMkJFIGVuY29kZWQNCiY4CWJlbG9uZwkweDAwMDAwMDc4CQ0KJjEyCWJlbG9uZwkweDAwMDAwMDZkCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4MDBcXHhmZVxceGZmXFx4MDBcXHgwMFxceDAwXFx4M0MJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUsIFVURi0zMkJFIGVuY29kZWQNCiY4CWJlbG9uZwkweDAwMDAwMDNGCQ0KJjEyCWJlbG9uZwkweDAwMDAwMDc4CQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceDAwXFx4M0NcXHgwMFxceDNGXFx4MDBcXHg3OFxceDAwXFx4NkRcXHgwMFxceDZjCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtMTZCRSBlbmNvZGVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTcgYnkgQ2FybA0KMAlzdHJpbmcJXFx4M0NcXHgwMFxceDAwXFx4MDBcXHgzRlxceDAwXFx4MDBcXHgwMAlbZmlkPTAwMDAwMDAwNy1GMy0wMDAwWE1MO2V4dD14bWw7bWltZT10ZXh0L3htbDtdRXh0ZW5zaWJsZSBNYXJrdXAgbGFuZ3VhZ2UgKFhNTCkgZmlsZSwgVVRGLTMyTEUgZW5jb2RlZA0KJjgJYmVzaG9ydAkweDAwMDAwMDc4CQ0KJjEyCWJlc2hvcnQJMHgwMDAwMDA2ZAkNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xNyBieSBDYXJsDQowCXN0cmluZwlcXHgzQ1xceDAwXFx4M0ZcXHgwMFxceDc4XFx4MDBcXHg2RFxceDAwXFx4NmNcXHgwMAlbZmlkPTAwMDAwMDAwNy1GMy0wMDAwWE1MO2V4dD14bWw7bWltZT10ZXh0L3htbDtdRXh0ZW5zaWJsZSBNYXJrdXAgbGFuZ3VhZ2UgKFhNTCkgZmlsZSwgVVRGLTE2TEUgZW5jb2RlZA0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceGVmXFx4YmJcXHhiZjw/eG1sCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtOCBlbmNvZGVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTcgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ZmVcXHhmZlxceDAwXFx4M0NcXHgwMFxceDNGXFx4MDBcXHg3OFxceDAwXFx4NkQJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUsIFVURi0xNkJFIGVuY29kZWQNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNS0xNyBieSBDYXJsDQowCXN0cmluZwlcXHhmZlxceGZlXFx4MDBcXHgwMFxceDNDXFx4MDBcXHgwMFxceDAwCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtMzJMRSBlbmNvZGVkDQomOAliZXNob3J0CTB4M0YwMDAwMDAJDQomMTIJYmVzaG9ydAkweDc4MDAwMDAwCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTA1LTE3IGJ5IENhcmwNCjAJc3RyaW5nCVxceGZmXFx4ZmVcXHgzQ1xceDAwXFx4M0ZcXHgwMFxceDc4XFx4MDBcXHg2RFxceDAwCVtmaWQ9MDAwMDAwMDA3LUYzLTAwMDBYTUw7ZXh0PXhtbDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIE1hcmt1cCBsYW5ndWFnZSAoWE1MKSBmaWxlLCBVVEYtMTZMRSBlbmNvZGVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDUtMTcgYnkgQ2FybA0KMAlzdHJpbmcJPD94bWwJW2ZpZD0wMDAwMDAwMDctRjMtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XUV4dGVuc2libGUgTWFya3VwIGxhbmd1YWdlIChYTUwpIGZpbGUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0wNC0yMCBieSBDYXJsDQowCXN0cmluZwlcXHhkMFxceGNmXFx4MTFcXHhlMFxceGExXFx4YjFcXHgxYVxceGUxCVtmaWQ9MDAwMDAxMDAxLUY0LTAwMDBPTEU7ZXh0PW9sZTttaW1lPTtdTWljcm9zb2Z0IE9MRSBDb21wb3VuZCBmaWxlLCBiaWctZW5kaWFuDQomMHgxQwlsZXNob3J0CSEweEZGRkUJDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMDQtMjAgYnkgQ2FybA0KMAlzdHJpbmcJXFx4ZDBcXHhjZlxceDExXFx4ZTBcXHhhMVxceGIxXFx4MWFcXHhlMQlbZmlkPTAwMDAwMTAwMS1GNC0wMDAwT0xFO2V4dD1vbGU7bWltZT07XU1pY3Jvc29mdCBPTEUgQ29tcG91bmQgZmlsZSwgbGl0dGxlLWVuZGlhbg0KJjB4MUMJbGVzaG9ydAkweEZGRkUJDQo+MHgxQQlsZXNob3J0CXgJLCB2ZXJzaW9uICVkDQo+MHgxOAlsZXNob3J0CXgJLiVkDQoNCiMgTWFnaWMgSUQgZm9yIEZyZWVwYXNjYWwgY29tcGlsZXIgZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTEwLTI0IGJ5IENhcmwNCjAJc3RyaW5nCVBQVTAJW2ZpZD0wMDAxMDAxMjAtMTEtMDAwMFBQVTtleHQ9cHB1LHBwbCxwcG8scHB3LHBwYSxwcHQ7bWltZT07XUZyZWVwYXNjYWwgdW5pdCBmaWxlDQo+MHgwNAlzdHJpbmcJeAksIHZlcnNpb24gJS4ycw0KDQojIE1hZ2ljIElEIGZvciBTbWFydGNhcmRzIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMC0yOSBieSBDYXJsDQowCWJlbG9uZwkweDAwRkFDQURFCVtmaWQ9MDAwMDAxMDExLTEwLTAwMDBFWFA7ZXh0PWV4cDttaW1lPTtdSmF2YWNhcmQgQVBJIGV4cG9ydCBmaWxlDQo+MHgwNQlieXRlCXgJLCB2ZXJzaW9uICVkDQo+NAlieXRlCXgJLiVkDQoNCiMgU3VibWl0dGVkIG9uIDIwMDQtMTAtMjkgYnkgQ2FybA0KMAlzdHJpbmcJLXJvbTFmcy0JW2ZpZD0wMDAxMDAxMjEtMEYtMDAwMElNRztleHQ9aW1nO21pbWU9O11TaW1wbGUgUk9NIGZpbGVzeXN0ZW0gKFJPTUZTKQ0KPjE2CXN0cmluZwl4CVt0aXRsZT0lc10NCg0KIyBNYWdpYyBJRCBmb3IgVmlydHVhbCBQQyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMTAtMjkgYnkgQ2FybA0KMAlzdHJpbmcJY29uZWN0aXgJW2ZpZD0wMDAwMDEwMDEtMEYtMDAwMFZIRDtleHQ9dmhkO21pbWU9O11WaXJ0dWFsIFBDIEhhcmQgZHJpdmUNCg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0xMiBieSBDYXJsIEVyaWMgQ29kZXJlDQowCXN0cmluZwklIVBTLUFkb2JlLQlbZmlkPTAwMDAwMTAwMy0zMy0wMDAwMFBTO2V4dD1wcyxlcHM7bWltZT1hcHBsaWNhdGlvbi9wb3N0c2NyaXB0O11Qb3N0c2NyaXB0IGZpbGUNCj4xMQlzdHJpbmcJeAksIGxldmVsICUuMXMNCj4xMwlzdHJpbmcJeAkuJS4xcw0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTEyIGJ5IENhcmwgRXJpYyBDb2RlcmUNCjAJbGVsb25nCTB4NTI2ZjZkMmUJW2ZpZD0wMDAwMDEzMzgtMEYtMDAwMFJPTTtleHQ9cm9tLGZzO21pbWU9O11lQ29zIFJPTSBGaWxlc3lzdGVtIGltYWdlIChST01GUykNCj4xNglzdHJpbmcJeAlbdGl0bGU9JS4xNnNdDQoNCiMgTWFnaWMgSUQgZm9yIFBBREdlbiBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDQtMTEtMjYgYnkgQ2FybCBFcmljIENvZGVyZQ0KMHgyOQlzdHJpbmcJPFhNTF9ESVpfSU5GTz4JW2ZpZD0wMDAwMDEzMzktQTAtMDAwMFhNTDtleHQ9eG1sO21pbWU9dGV4dC94bWw7XVBvcnRhYmxlIGFwcGxpY2F0aW9uIGRlc2NyaXB0aW9uIGZpbGUgKFhNTCkNCiYwCXN0cmluZwk8P3htbAkNCg0KIyBNYWdpYyBJRCBmb3IgUEFER2VuIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0yNiBieSBDYXJsIEVyaWMgQ29kZXJlDQoweDI4CXN0cmluZwk8WE1MX0RJWl9JTkZPPglbZmlkPTAwMDAwMTMzOS1BMC0wMDAwWE1MO2V4dD14bWw7bWltZT10ZXh0L3htbDtdUG9ydGFibGUgYXBwbGljYXRpb24gZGVzY3JpcHRpb24gZmlsZSAoWE1MKQ0KJjAJc3RyaW5nCTw/eG1sCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTI2IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjB4MjkJc3RyaW5nCTx4OnhtcG1ldGFcXCAJW2ZpZD0wMDAwMDEwMDMtQTAtMDAwMFhNUDtleHQ9eG1sLHhtcDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIG1ldGFkYXRhIHBsYXRmb3JtIHNpZGVjYXIgZmlsZSAoWE1MKQ0KJjAJc3RyaW5nCTw/eG1sCQ0KDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTI2IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjB4MjgJc3RyaW5nCTx4OnhtcG1ldGFcXCAJW2ZpZD0wMDAwMDEwMDMtQTAtMDAwMFhNUDtleHQ9eG1sLHhtcDttaW1lPXRleHQveG1sO11FeHRlbnNpYmxlIG1ldGFkYXRhIHBsYXRmb3JtIHNpZGVjYXIgZmlsZSAoWE1MKQ0KJjAJc3RyaW5nCTw/eG1sCQ0KDQojIE1hZ2ljIElEIGZvciBUZXhpbmZvIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0yNiBieSBDYXJsIEVyaWMgQ29kZXJlDQoxCXN0cmluZwlpbnB1dCB0ZXhpbmZvCVtmaWQ9MDAwMDAxMzQwLTAwLTAwMFRFWEk7ZXh0PXRleGk7bWltZT07XVRleGluZm8gc291cmNlIGZpbGUNCg0KIyBNYWdpYyBJRCBmb3IgTVMtRE9TIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNC0xMS0yNiBieSBDYXJsIEVyaWMgQ29kZXJlDQowCXN0cmluZwlcXHhGRkZPTlQJW2ZpZD0wMDAwMDEwMDEtNzAtMDAwMENQSTtleHQ9Y3BpO21pbWU9O11NUy1ET1MgY29kZSBwYWdlIHJhc3RlciBmb250DQoNCiMgTWFnaWMgSUQgZm9yIFVOSVggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA0LTExLTI2IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjAJc3RyaW5nCVRaaWYJW2ZpZD0wMDAwMDAwMDAtOTAtMDAwMDAwMDtleHQ9O21pbWU9O11UaW1lem9uZSBpbmZvcm1hdGlvbiBkYXRhYmFzZSBmaWxlIChjb21waWxlZCkNCg0KIyBNYWdpYyBJRCBmb3IgVGVsaXggZmlsZXMuDQojIFN1Ym1pdHRlZCBvbiAyMDA1LTAzLTA0IGJ5IENhcmwgRXJpYyBDb2RlcmUNCjAJbGVsb25nCTB4MmUyYjI5MWEJW2ZpZD0wMDAxMDAxMjYtQjAtMDAwMEZPTjtleHQ9Zm9uO21pbWU9O11UZWxpeCBwaG9uZSBib29rDQomNAlsZXNob3J0CTEJDQoNCiMgTWFnaWMgSUQgZm9yIE1pY3Jvc29mdCBWaXN1YWwgQysrIGZpbGVzLg0KIyBTdWJtaXR0ZWQgb24gMjAwNS0wMy0wNCBieSBDYXJsIEVyaWMgQ29kZXJlDQowCXN0cmluZwlWQ1BDSDBcXHgwMFxceDAwCVtmaWQ9MDAwMDAxMDAxLTkwLTAwMDBQQ0g7ZXh0PXBjaDttaW1lPTtdTWljcm9zb2Z0IFZpc3VhbCBDKysgcHJlLWNvbXBpbGVkIGhlYWRlcihzKQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgVmlzdWFsIEMrKyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDUtMDMtMDQgYnkgQ2FybCBFcmljIENvZGVyZQ0KMAlzdHJpbmcJTWljcm9zb2Z0XFwgQy9DKytcXCBwcm9ncmFtXFwgZGF0YWJhc2UJW2ZpZD0wMDAwMDEwMDEtOTAtMDAwMFBEQjtleHQ9cGRiO21pbWU9O11NaWNyb3NvZnQgVmlzdWFsIEMrKyBkZWJ1ZyBpbmZvcm1hdGlvbiBkYXRhYmFzZQ0KJjB4MjUJc3RyaW5nCVxceDBEXFx4MEFcXHgxQQkNCiYweDI4CXN0cmluZwlKR1xceDAwCQ0KDQojIE1hZ2ljIElEIGZvciBNaWNyb3NvZnQgVmlzdWFsIEMrKyBmaWxlcy4NCiMgU3VibWl0dGVkIG9uIDIwMDUtMDMtMDQgYnkgQ2FybCBFcmljIENvZGVyZQ0KMAlzdHJpbmcJTWljcm9zb2Z0XFwgTGlua2VyXFwgRGF0YWJhc2VcXHgwQVxceDA3XFx4MUEJW2ZpZD0wMDAwMDEwMDEtOTAtMDAwMElMSztleHQ9aWxrO21pbWU9O11NaWNyb3NvZnQgVmlzdWFsIEMrKyBsaW5rZXIgZGF0YWJhc2UNCg0KDQojIENSQzMyOjhCQzNCQTQ2DQo=' ); - /** * Returns the test data for a given key * diff --git a/cake/tests/cases/libs/model/behavior.test.php b/cake/tests/cases/libs/model/behavior.test.php index 628397fa3..9b3760259 100644 --- a/cake/tests/cases/libs/model/behavior.test.php +++ b/cake/tests/cases/libs/model/behavior.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for behavior.test.php + * BehaviorTest file * * Long description for behavior.test.php * @@ -24,12 +24,11 @@ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ App::import('Model', 'AppModel'); - require_once dirname(__FILE__) . DS . 'models.php'; /** - * Short description for class. + * TestBehavior class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TestBehavior extends ModelBehavior { @@ -329,7 +328,6 @@ class TestBehavior extends ModelBehavior { * @subpackage cake.tests.cases.libs.model */ class Test2Behavior extends TestBehavior{ - } /** * Test3Behavior class @@ -338,7 +336,6 @@ class Test2Behavior extends TestBehavior{ * @subpackage cake.tests.cases.libs.model */ class Test3Behavior extends TestBehavior{ - } /** * BehaviorTest class @@ -354,6 +351,15 @@ class BehaviorTest extends CakeTestCase { * @access public */ var $fixtures = array('core.apple', 'core.sample'); +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + ClassRegistry::flush(); + } /** * testBehaviorBinding method * @@ -942,10 +948,10 @@ class BehaviorTest extends CakeTestCase { $expected = array('TestBehavior', 'Test2Behavior'); $this->assertIdentical($Apple->beforeTestResult, $expected); } - /** * Test attach and detaching * + * @access public * @return void **/ function testBehaviorAttachAndDetach() { @@ -954,19 +960,8 @@ class BehaviorTest extends CakeTestCase { $Sample->Behaviors->init($Sample->alias, $Sample->actsAs); $Sample->Behaviors->attach('Test2'); $Sample->Behaviors->detach('Test3'); - + $Sample->Behaviors->trigger($Sample, 'beforeTest'); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - ClassRegistry::flush(); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/behaviors/acl.test.php b/cake/tests/cases/libs/model/behaviors/acl.test.php index 47ffc4a79..3ca1974e3 100644 --- a/cake/tests/cases/libs/model/behaviors/acl.test.php +++ b/cake/tests/cases/libs/model/behaviors/acl.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Acl behavior test + * AclBehaviorTest file * * Test the Acl Behavior * @@ -26,11 +26,10 @@ */ App::import('Behavior', 'Acl'); App::import('Core', 'db_acl'); - /** -* Test Person Class - self joined model +* Test Person class - self joined model * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ class AclPerson extends CakeTestModel { @@ -79,12 +78,12 @@ class AclPerson extends CakeTestModel { 'foreignKey' => 'mother_id' ) ); - /** - * ParentNode + * parentNode method * * @return void - **/ + * @access public + */ function parentNode() { if (!$this->id && empty($this->data)) { return null; @@ -99,13 +98,11 @@ class AclPerson extends CakeTestModel { return array('AclPerson' => array('id' => $data['AclPerson']['mother_id'])); } } - } - /** -* Acl Test User +* AclUser class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ class AclUser extends CakeTestModel { @@ -139,11 +136,10 @@ class AclUser extends CakeTestModel { return null; } } - /** -* Acl Test User +* AclPost class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ class AclPost extends CakeTestModel { @@ -177,33 +173,62 @@ class AclPost extends CakeTestModel { return null; } } - /** -* ACL behavior test class +* AclBehaviorTest class * -* @package cake.tests +* @package cake * @subpackage cake.tests.cases.libs.controller.components */ class AclBehaviorTestCase extends CakeTestCase { +/** + * Aco property + * + * @var Aco + * @access public + */ + var $Aco; +/** + * Aro property + * + * @var Aro + * @access public + */ + var $Aro; +/** + * fixtures property + * + * @var array + * @access public + */ var $fixtures = array('core.person', 'core.user', 'core.post', 'core.aco', 'core.aro', 'core.aros_aco'); - /** * Set up the test * * @return void - **/ + * @access public + */ function startTest() { Configure::write('Acl.database', 'test_suite'); $this->Aco =& new Aco(); $this->Aro =& new Aro(); } - +/** + * tearDown method + * + * @return void + * @access public + */ + function tearDown() { + ClassRegistry::flush(); + unset($this->Aro, $this->Aco); + } /** * Test Setup of AclBehavior * * @return void - **/ + * @access public + */ function testSetup() { $User =& new AclUser(); $this->assertTrue(isset($User->Behaviors->Acl->settings['User'])); @@ -215,12 +240,12 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertEqual($Post->Behaviors->Acl->settings['Post']['type'], 'controlled'); $this->assertTrue(is_object($Post->Aco)); } - /** * test After Save * * @return void - **/ + * @access public + */ function testAfterSave() { $Post =& new AclPost(); $data = array( @@ -264,12 +289,12 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertEqual($node[0]['Aro']['parent_id'], 5); $this->assertEqual($node[1]['Aro']['parent_id'], null); } - /** * Test After Delete * * @return void - **/ + * @access public + */ function testAfterDelete() { $aroData = array( 'Aro' => array( @@ -317,12 +342,12 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertTrue(empty($result)); } - /** * Test Node() * * @return void - **/ + * @access public + */ function testNode() { $Person =& new AclPerson(); $aroData = array( @@ -339,16 +364,5 @@ class AclBehaviorTestCase extends CakeTestCase { $this->assertTrue(is_array($result)); $this->assertEqual(sizeof($result), 1); } - -/** - * tear down test - * - * @return void - **/ - function tearDown() { - ClassRegistry::flush(); - unset($this->Aro, $this->Aco); - } - } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/behaviors/containable.test.php b/cake/tests/cases/libs/model/behaviors/containable.test.php index 5c7b23e6e..b5f801df8 100644 --- a/cake/tests/cases/libs/model/behaviors/containable.test.php +++ b/cake/tests/cases/libs/model/behaviors/containable.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ContainableBehaviorTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.behaviors * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -24,7 +24,6 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ - App::import('Core', array('AppModel', 'Model')); require_once(dirname(dirname(__FILE__)) . DS . 'models.php'); /** @@ -33,7 +32,7 @@ require_once(dirname(dirname(__FILE__)) . DS . 'models.php'); * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class ContainableTest extends CakeTestCase { +class ContainableBehaviorTest extends CakeTestCase { /** * Fixtures associated with this test case * @@ -2868,25 +2867,32 @@ class ContainableTest extends CakeTestCase { $this->assertEqual($result, $expected); $result = $this->Article->find('all', array('contain' => array('Comment(comment, published)' => 'Attachment(attachment)', 'User(user)'), 'fields' => array('title'))); + if (!empty($result)) { + foreach($result as $i=>$article) { + foreach($article['Comment'] as $j=>$comment) { + $result[$i]['Comment'][$j] = array_diff_key($comment, array('id'=>true)); + } + } + } $expected = array( array( 'Article' => array('title' => 'First Article', 'id' => 1), 'User' => array('user' => 'mariano', 'id' => 1), 'Comment' => array( - array('comment' => 'First Comment for First Article', 'published' => 'Y', 'id' => 1, 'article_id' => 1, 'Attachment' => array()), - array('comment' => 'Second Comment for First Article', 'published' => 'Y', 'id' => 2, 'article_id' => 1, 'Attachment' => array()), - array('comment' => 'Third Comment for First Article', 'published' => 'Y', 'id' => 3, 'article_id' => 1, 'Attachment' => array()), - array('comment' => 'Fourth Comment for First Article', 'published' => 'N', 'id' => 4, 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'First Comment for First Article', 'published' => 'Y', 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'Second Comment for First Article', 'published' => 'Y', 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'Third Comment for First Article', 'published' => 'Y', 'article_id' => 1, 'Attachment' => array()), + array('comment' => 'Fourth Comment for First Article', 'published' => 'N', 'article_id' => 1, 'Attachment' => array()), ) ), array( 'Article' => array('title' => 'Second Article', 'id' => 2), 'User' => array('user' => 'larry', 'id' => 3), 'Comment' => array( - array('comment' => 'First Comment for Second Article', 'published' => 'Y', 'id' => 5, 'article_id' => 2, 'Attachment' => array( + array('comment' => 'First Comment for Second Article', 'published' => 'Y', 'article_id' => 2, 'Attachment' => array( 'attachment' => 'attachment.zip', 'id' => 1 )), - array('comment' => 'Second Comment for Second Article', 'published' => 'Y', 'id' => 6, 'article_id' => 2, 'Attachment' => array()) + array('comment' => 'Second Comment for Second Article', 'published' => 'Y', 'article_id' => 2, 'Attachment' => array()) ) ), array( @@ -3534,5 +3540,4 @@ class ContainableTest extends CakeTestCase { return $debug; } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/behaviors/translate.test.php b/cake/tests/cases/libs/model/behaviors/translate.test.php index 4c0393df7..20eb3651c 100644 --- a/cake/tests/cases/libs/model/behaviors/translate.test.php +++ b/cake/tests/cases/libs/model/behaviors/translate.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * TranslateBehaviorTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.behaviors * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -30,14 +30,13 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { App::import('Core', array('AppModel', 'Model')); require_once(dirname(dirname(__FILE__)) . DS . 'models.php'); - /** - * TranslateTest class. + * TranslateBehaviorTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class TranslateTest extends CakeTestCase { +class TranslateBehaviorTest extends CakeTestCase { /** * autoFixtures property * diff --git a/cake/tests/cases/libs/model/behaviors/tree.test.php b/cake/tests/cases/libs/model/behaviors/tree.test.php index 25c1cca72..58d83f528 100644 --- a/cake/tests/cases/libs/model/behaviors/tree.test.php +++ b/cake/tests/cases/libs/model/behaviors/tree.test.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * TreeBehaviorTest file * - * Long description for file + * Holds several Test Cases * * PHP versions 4 and 5 * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.behaviors * @since CakePHP(tm) v 1.2.0.5330 * @version $Revision$ @@ -27,12 +27,12 @@ App::import('Core', array('AppModel', 'Model')); require_once(dirname(dirname(__FILE__)) . DS . 'models.php'); /** - * NumberTreeCase class + * NumberTreeTest class * * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class NumberTreeCase extends CakeTestCase { +class NumberTreeTest extends CakeTestCase { /** * settings property * @@ -1205,12 +1205,12 @@ class NumberTreeCase extends CakeTestCase { } } /** - * ScopedTreeCase class + * ScopedTreeTest class * * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class ScopedTreeCase extends NumberTreeCase { +class ScopedTreeTest extends NumberTreeTest { /** * settings property * @@ -1435,12 +1435,12 @@ class ScopedTreeCase extends NumberTreeCase { } } /** - * AfterTreeCase class + * AfterTreeTest class * * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class AfterTreeCase extends NumberTreeCase { +class AfterTreeTest extends NumberTreeTest { /** * settings property * @@ -1479,12 +1479,12 @@ class AfterTreeCase extends NumberTreeCase { } } /** - * UnconventionalTreeCase class + * UnconventionalTreeTest class * * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class UnconventionalTreeCase extends NumberTreeCase { +class UnconventionalTreeTest extends NumberTreeTest { /** * settings property * @@ -1506,12 +1506,12 @@ class UnconventionalTreeCase extends NumberTreeCase { var $fixtures = array('core.unconventional_tree'); } /** - * UuidTreeCase class + * UuidTreeTest class * * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class UuidTreeCase extends NumberTreeCase { +class UuidTreeTest extends NumberTreeTest { /** * settings property * diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php index 63a80779a..72c65fb80 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php @@ -1,9 +1,9 @@ <?php /* SVN FILE: $Id$ */ /** - * AdoDB layer for DBO. + * DboAdodbTest file * - * Long description for file + * AdoDB layer for DBO * * PHP versions 4 and 5 * @@ -24,16 +24,14 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ - require_once LIBS.'model'.DS.'model.php'; require_once LIBS.'model'.DS.'datasources'.DS.'datasource.php'; require_once LIBS.'model'.DS.'datasources'.DS.'dbo_source.php'; require_once LIBS.'model'.DS.'datasources'.DS.'dbo'.DS.'dbo_adodb.php'; - /** - * Short description for class. + * DboAdoTestDb * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class DboAdoTestDb extends DboAdodb { @@ -75,11 +73,10 @@ class DboAdoTestDb extends DboAdodb { return $this->simulated[count($this->simulated) - 1]; } } - /** - * Short description for class. + * AdodbTestModel * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class AdodbTestModel extends CakeTestModel { @@ -152,7 +149,6 @@ class AdodbTestModel extends CakeTestModel { ); } } - if (!class_exists('Article')) { /** * Article class @@ -171,29 +167,27 @@ if (!class_exists('Article')) { } } - /** - * The test class for the DboAdobd + * DboAdodbTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboAdodbTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $db = null; - /** - * undocumented class variable + * fixtures property * * @var string + * @access public **/ var $fixtures = array('core.article'); - /** * Skip if cannot connect to AdoDb * @@ -280,6 +274,5 @@ class DboAdodbTest extends CakeTestCase { function testColumns() { } - } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php index d1c1801cb..ab5592200 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * DboMssql test + * DboMssqlTest file * * PHP versions 4 and 5 * @@ -29,7 +29,6 @@ require_once LIBS.'model'.DS.'model.php'; require_once LIBS.'model'.DS.'datasources'.DS.'datasource.php'; require_once LIBS.'model'.DS.'datasources'.DS.'dbo_source.php'; require_once LIBS.'model'.DS.'datasources'.DS.'dbo'.DS.'dbo_mssql.php'; - /** * DboMssqlTestDb class * @@ -37,14 +36,32 @@ require_once LIBS.'model'.DS.'datasources'.DS.'dbo'.DS.'dbo_mssql.php'; * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboMssqlTestDb extends DboMssql { - - function __construct() {} - +/** + * Contructor + * + * @return void + * @access public + */ + function __construct() { + } +/** + * connect method + * + * @return boolean + * @access public + */ function connect() { $this->connected = true; return true; } - function lastError() {} +/** + * lastError method + * + * @return void + * @access public + */ + function lastError() { + } /** * simulated property * @@ -54,7 +71,7 @@ class DboMssqlTestDb extends DboMssql { var $simulated = array(); /** * fetchAllResultsStack - * + * * @var array * @access public */ @@ -72,8 +89,8 @@ class DboMssqlTestDb extends DboMssql { } /** * fetchAll method - * - * @param mixed $sql + * + * @param mixed $sql * @access protected * @return void */ @@ -82,8 +99,8 @@ class DboMssqlTestDb extends DboMssql { } /** * fetchAll method - * - * @param mixed $sql + * + * @param mixed $sql * @access protected * @return void */ @@ -104,11 +121,10 @@ class DboMssqlTestDb extends DboMssql { return $this->simulated[count($this->simulated) - 1]; } } - /** - * Short description for class. + * MssqlTestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class MssqlTestModel extends Model { @@ -183,16 +199,16 @@ class MssqlTestModel extends Model { } } /** - * The test class for the DboMssql + * DboMssqlTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboMssqlTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $db = null; @@ -215,6 +231,16 @@ class DboMssqlTest extends CakeTestCase { $this->db = new DboMssqlTestDb($db->config); $this->model = new MssqlTestModel(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->model); + } + /** * testQuoting method * @@ -284,7 +310,7 @@ class DboMssqlTest extends CakeTestCase { } /** * testDescribe method - * + * * @access public * @return void */ @@ -314,7 +340,12 @@ class DboMssqlTest extends CakeTestCase { ); $this->assertEqual($result, $expected); } - +/** + * testUpdateAllSyntax method + * + * @return void + * @access public + */ function testUpdateAllSyntax() { $model = ClassRegistry::init('MssqlTestModel'); $fields = array('MssqlTestModel.client_id' => '[MssqlTestModel].[client_id] + 1'); @@ -326,15 +357,5 @@ class DboMssqlTest extends CakeTestCase { $this->assertPattern('/^UPDATE \[mssql_test_models\]/', $result); $this->assertPattern('/SET \[client_id\] = \[client_id\] \+ 1/', $result); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->model); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php index 54e029077..3d94dc6af 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * DboMysql test + * DboMysqlTest file * * PHP versions 4 and 5 * @@ -26,9 +26,9 @@ App::import('Core', array('Model', 'DataSource', 'DboSource', 'DboMysql')); Mock::generatePartial('DboMysql', 'QueryMockDboMysql', array('query')); /** - * Short description for class. + * DboMysqlTestDb class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class DboMysqlTestDb extends DboMysql { @@ -71,9 +71,9 @@ class DboMysqlTestDb extends DboMysql { } } /** - * Short description for class. + * MysqlTestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class MysqlTestModel extends Model { @@ -147,16 +147,16 @@ class MysqlTestModel extends Model { } } /** - * The test class for the DboMysql + * DboMysqlTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboMysqlTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $Db = null; @@ -372,76 +372,76 @@ class DboMysqlTest extends CakeTestCase { $name = $this->db->fullTableName('simple'); $mockDbo =& new QueryMockDboMysql($this); - $columnData = array( + $columnData = array( array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Cardinality' => '0', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '' - )), - array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'pointless_bool', - 'Seq_in_index' => '1', - 'Column_name' => 'bool', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', + 'Table' => 'with_compound_keys', + 'Non_unique' => '0', + 'Key_name' => 'PRIMARY', + 'Seq_in_index' => '1', + 'Column_name' => 'id', + 'Collation' => 'A', + 'Cardinality' => '0', + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => '', + 'Index_type' => 'BTREE', 'Comment' => '' )), array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'pointless_small_int', - 'Seq_in_index' => '1', - 'Column_name' => 'small_int', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'pointless_bool', + 'Seq_in_index' => '1', + 'Column_name' => 'bool', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', 'Comment' => '' - )), + )), array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'one_way', - 'Seq_in_index' => '1', - 'Column_name' => 'bool', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'pointless_small_int', + 'Seq_in_index' => '1', + 'Column_name' => 'small_int', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', 'Comment' => '' - )), + )), array('0' => array( - 'Table' => 'with_compound_keys', - 'Non_unique' => '1', - 'Key_name' => 'one_way', - 'Seq_in_index' => '2', - 'Column_name' => 'small_int', - 'Collation' => 'A', - 'Cardinality' => NULL, - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => 'YES', - 'Index_type' => 'BTREE', - 'Comment' => '' + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'one_way', + 'Seq_in_index' => '1', + 'Column_name' => 'bool', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', + 'Comment' => '' + )), + array('0' => array( + 'Table' => 'with_compound_keys', + 'Non_unique' => '1', + 'Key_name' => 'one_way', + 'Seq_in_index' => '2', + 'Column_name' => 'small_int', + 'Collation' => 'A', + 'Cardinality' => NULL, + 'Sub_part' => NULL, + 'Packed' => NULL, + 'Null' => 'YES', + 'Index_type' => 'BTREE', + 'Comment' => '' )) ); $mockDbo->setReturnValue('query', $columnData, array('SHOW INDEX FROM ' . $name)); @@ -504,7 +504,7 @@ class DboMysqlTest extends CakeTestCase { } /** * testAlterSchemaIndexes method - * + * * @access public * @return void */ @@ -538,10 +538,10 @@ class DboMysqlTest extends CakeTestCase { 'PRIMARY' => array('column' => 'id', 'unique' => 1)) ))); $this->db->query($this->db->alterSchema($schema2->compare($schema1))); - + $indexes = $this->db->index('altertest'); $this->assertEqual($schema2->tables['altertest']['indexes'], $indexes); - + // Change three indexes, delete one and add another one $schema3 =& new CakeSchema(array( 'name' => 'AlterTest3', @@ -552,7 +552,7 @@ class DboMysqlTest extends CakeTestCase { 'group1' => array('type' => 'integer', 'null' => true), 'group2' => array('type' => 'integer', 'null' => true), 'indexes' => array( - 'name_idx' => array('column' => 'name', 'unique' => 1), + 'name_idx' => array('column' => 'name', 'unique' => 1), 'group_idx' => array('column' => 'group2', 'unique' => 0), 'compound_idx' => array('column' => array('group2', 'group1'), 'unique' => 0), 'id_name_idx' => array('column' => array('id', 'name'), 'unique' => 0)) @@ -575,5 +575,4 @@ class DboMysqlTest extends CakeTestCase { $this->db->query($this->db->dropSchema($schema1)); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php index ea1dd7b26..9031164dd 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * DboMysqli test + * DboMysqliTest file * * PHP versions 4 and 5 * @@ -22,16 +22,14 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ - if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } App::import('Core', array('Model', 'DataSource', 'DboSource', 'DboMysqli')); - /** - * Short description for class. + * DboMysqliTestDb class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class DboMysqliTestDb extends DboMysqli { @@ -74,9 +72,9 @@ class DboMysqliTestDb extends DboMysqli { } } /** - * Short description for class. + * MysqliTestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class MysqliTestModel extends Model { @@ -150,16 +148,16 @@ class MysqliTestModel extends Model { } } /** - * The test class for the DboMysqli + * DboMysqliTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboMysqliTest extends CakeTestCase { /** * The Dbo instance to be tested * - * @var object + * @var DboSource * @access public */ var $Db = null; @@ -300,5 +298,4 @@ class DboMysqliTest extends CakeTestCase { $this->assertEqual($result, $expected); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php index 0cacb783c..314fcfce8 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * DboOracle test + * DboOracleTest file * * PHP versions 4 and 5 * @@ -22,13 +22,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ - if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } require_once LIBS . 'model' . DS . 'datasources' . DS . 'dbo_source.php'; require_once LIBS . 'model' . DS . 'datasources' . DS . 'dbo' . DS . 'dbo_oracle.php'; - /** * DboOracleTest class * @@ -39,7 +37,7 @@ class DboOracleTest extends CakeTestCase { /** * fixtures property */ - var $fixtures = array('core.oracle_user'); + var $fixtures = array('core.oracle_user'); /** * setup method * @@ -99,7 +97,6 @@ class DboOracleTest extends CakeTestCase { $this->db->config['password'] = $old_pw; $this->db->connect(); } - /** * testName method * @@ -131,10 +128,5 @@ class DboOracleTest extends CakeTestCase { $this->assertEqual($e, $r); } - - - - } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php index d27289a2e..bae7ad584 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * DboPostgres test + * DboPostgresTest file * * PHP versions 4 and 5 * @@ -24,13 +24,11 @@ */ App::import('Core', array('Model', 'DataSource', 'DboSource', 'DboPostgres')); App::import('Model', 'App'); - require_once dirname(dirname(dirname(__FILE__))) . DS . 'models.php'; - /** - * Short description for class. + * DboPostgresTestDb class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class DboPostgresTestDb extends DboPostgres { @@ -63,9 +61,9 @@ class DboPostgresTestDb extends DboPostgres { } } /** - * Short description for class. + * PostgresTestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class PostgresTestModel extends Model { @@ -139,9 +137,9 @@ class PostgresTestModel extends Model { } } /** - * The test class for the DboPostgres + * DboPostgresTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboPostgresTest extends CakeTestCase { @@ -159,19 +157,19 @@ class DboPostgresTest extends CakeTestCase { * @var object * @access public */ - var $fixtures = array('core.user', 'core.binary_test', 'core.comment', 'core.article', + var $fixtures = array('core.user', 'core.binary_test', 'core.comment', 'core.article', 'core.tag', 'core.articles_tag', 'core.attachment', 'core.person', 'core.post', 'core.author'); /** * Actual DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db = null; /** * Simulated DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db2 = null; @@ -376,7 +374,6 @@ class DboPostgresTest extends CakeTestCase { $expected = '"foo" text DEFAULT \'FOO\''; $this->assertEqual($this->db->buildColumn($result), $expected); } - /** * Tests that binary data is escaped/unescaped properly on reads and writes * @@ -409,7 +406,6 @@ class DboPostgresTest extends CakeTestCase { $result = $model->find('first'); $this->assertEqual($result['BinaryTest']['data'], $data); } - /** * Tests the syntax of generated schema indexes * @@ -479,7 +475,6 @@ class DboPostgresTest extends CakeTestCase { $db1->query('DROP TABLE ' . $db1->fullTableName('datatypes')); } - /** * Test index generation from table info. * @@ -498,7 +493,7 @@ class DboPostgresTest extends CakeTestCase { ); $result = $this->db->index($name); $this->assertEqual($expected, $result); - + $this->db->query('DROP TABLE ' . $name); $name = $this->db->fullTableName('index_test_2', false); $this->db->query('CREATE TABLE ' . $name . ' ("id" serial NOT NULL PRIMARY KEY, "bool" integer, "small_char" varchar(50), "description" varchar(40) )'); @@ -532,7 +527,7 @@ class DboPostgresTest extends CakeTestCase { ) )); $this->db->query($this->db->createSchema($Old)); - + $New =& new CakeSchema(array( 'connection' => 'test_suite', 'name' => 'AlterPosts', @@ -547,13 +542,13 @@ class DboPostgresTest extends CakeTestCase { ) )); $this->db->query($this->db->alterSchema($New->compare($Old), 'alter_posts')); - + $model = new CakeTestModel(array('table' => 'alter_posts', 'ds' => 'test_suite')); $result = $model->schema(); $this->assertTrue(isset($result['status'])); $this->assertFalse(isset($result['published'])); $this->assertEqual($result['body']['type'], 'string'); - + $this->db->query($this->db->dropSchema($New)); } /** @@ -561,7 +556,7 @@ class DboPostgresTest extends CakeTestCase { * * @access public * @return void - */ + */ function testAlterIndexes() { $this->db->cacheSources = false; @@ -594,10 +589,10 @@ class DboPostgresTest extends CakeTestCase { ) )); $this->db->query($this->db->alterSchema($schema2->compare($schema1))); - + $indexes = $this->db->index('altertest'); $this->assertEqual($schema2->tables['altertest']['indexes'], $indexes); - + // Change three indexes, delete one and add another one $schema3 =& new CakeSchema(array( 'name' => 'AlterTest3', @@ -608,7 +603,7 @@ class DboPostgresTest extends CakeTestCase { 'group1' => array('type' => 'integer', 'null' => true), 'group2' => array('type' => 'integer', 'null' => true), 'indexes' => array( - 'name_idx' => array('column' => 'name', 'unique' => 1), + 'name_idx' => array('column' => 'name', 'unique' => 1), 'group_idx' => array('column' => 'group2', 'unique' => 0), 'compound_idx' => array('column' => array('group2', 'group1'), 'unique' => 0), 'another_idx' => array('column' => array('group1', 'name'), 'unique' => 0)) diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php index 47f1acea5..adfad9dbc 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * DboSqlite test + * DboSqliteTest file * * PHP versions 4 and 5 * @@ -23,11 +23,10 @@ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ App::import('Core', array('Model', 'DataSource', 'DboSource', 'DboSqlite')); - /** - * Short description for class. + * DboSqliteTestDb class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class DboSqliteTestDb extends DboSqlite { @@ -60,9 +59,9 @@ class DboSqliteTestDb extends DboSqlite { } } /** - * The test class for the DboPostgres + * DboSqliteTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboSqliteTest extends CakeTestCase { @@ -83,14 +82,14 @@ class DboSqliteTest extends CakeTestCase { /** * Actual DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db = null; /** * Simulated DB connection used in testing * - * @var object + * @var DboSource * @access public */ var $db2 = null; @@ -150,7 +149,7 @@ class DboSqliteTest extends CakeTestCase { * * @access public * @return void - */ + */ function testIndex() { $name = $this->db->fullTableName('with_a_key'); $this->db->query('CREATE TABLE ' . $name . ' ("id" int(11) PRIMARY KEY, "bool" int(1), "small_char" varchar(50), "description" varchar(40) );'); @@ -160,12 +159,12 @@ class DboSqliteTest extends CakeTestCase { 'PRIMARY' => array('column' => 'id', 'unique' => 1), 'pointless_bool' => array('column' => 'bool', 'unique' => 0), 'char_index' => array('column' => 'small_char', 'unique' => 1), - + ); $result = $this->db->index($name); $this->assertEqual($expected, $result); $this->db->query('DROP TABLE ' . $name); - + $this->db->query('CREATE TABLE ' . $name . ' ("id" int(11) PRIMARY KEY, "bool" int(1), "small_char" varchar(50), "description" varchar(40) );'); $this->db->query('CREATE UNIQUE INDEX multi_col ON ' . $name . '("small_char", "bool")'); $expected = array( @@ -176,7 +175,6 @@ class DboSqliteTest extends CakeTestCase { $this->assertEqual($expected, $result); $this->db->query('DROP TABLE ' . $name); } - /** * Tests that cached table descriptions are saved under the sanitized key name * @@ -199,7 +197,7 @@ class DboSqliteTest extends CakeTestCase { $db->cacheSources = false; $fileName = '_' . preg_replace('/[^A-Za-z0-9_\-+]/', '_', TMP . $dbName) . '_list'; - + $result = Cache::read($fileName, '_cake_model_'); $this->assertEqual($result, array('test_list')); @@ -207,5 +205,4 @@ class DboSqliteTest extends CakeTestCase { Configure::write('Cache.disable', true); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo_source.test.php b/cake/tests/cases/libs/model/datasources/dbo_source.test.php index 54375cf7e..cb10ebc46 100644 --- a/cake/tests/cases/libs/model/datasources/dbo_source.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo_source.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * DboSourceTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -30,11 +30,10 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { App::import('Core', array('Model', 'DataSource', 'DboSource', 'DboMysql')); App::import('Model', 'App'); require_once dirname(dirname(__FILE__)) . DS . 'models.php'; - /** - * Short description for class. + * TestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel extends CakeTestModel { @@ -106,9 +105,9 @@ class TestModel extends CakeTestModel { } } /** - * Short description for class. + * TestModel2 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel2 extends CakeTestModel { @@ -128,9 +127,9 @@ class TestModel2 extends CakeTestModel { var $useTable = false; } /** - * Short description for class. + * TestModel4 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel3 extends CakeTestModel { @@ -150,9 +149,9 @@ class TestModel3 extends CakeTestModel { var $useTable = false; } /** - * Short description for class. + * TestModel4 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel4 extends CakeTestModel { @@ -232,6 +231,12 @@ class TestModel4 extends CakeTestModel { return $this->_schema; } } +/** + * TestModel4TestModel7 class + * + * @package cake + * @subpackage cake.tests.cases.libs.model.datasources + */ class TestModel4TestModel7 extends CakeTestModel { /** * name property @@ -271,9 +276,9 @@ class TestModel4TestModel7 extends CakeTestModel { } } /** - * Short description for class. + * TestModel5 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel5 extends CakeTestModel { @@ -338,9 +343,9 @@ class TestModel5 extends CakeTestModel { } } /** - * Short description for class. + * TestModel6 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel6 extends CakeTestModel { @@ -395,9 +400,9 @@ class TestModel6 extends CakeTestModel { } } /** - * Short description for class. + * TestModel7 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel7 extends CakeTestModel { @@ -441,9 +446,9 @@ class TestModel7 extends CakeTestModel { } } /** - * Short description for class. + * TestModel8 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel8 extends CakeTestModel { @@ -501,9 +506,9 @@ class TestModel8 extends CakeTestModel { } } /** - * Short description for class. + * TestModel9 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class TestModel9 extends CakeTestModel { @@ -1136,11 +1141,10 @@ class ArticleFeatured2 extends CakeTestModel { return $this->_schema; } } - /** - * Short description for class. + * DboSourceTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model.datasources */ class DboSourceTest extends CakeTestCase { @@ -3135,7 +3139,7 @@ class DboSourceTest extends CakeTestCase { 'fields' => null, 'order' => null, 'recursive' => null )); $this->assertEqual($result, $expected); - + $result = $this->testDb->query('findByFindBy', array('value'), $this->Model); $expected = array('first', array( 'conditions' => array('TestModel.find_by' => 'value'), @@ -3806,5 +3810,4 @@ class DboSourceTest extends CakeTestCase { $this->assertNoPattern('/Took:/s', $contents); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/db_acl.test.php b/cake/tests/cases/libs/model/db_acl.test.php index dc8fd24be..82d4d15ad 100644 --- a/cake/tests/cases/libs/model/db_acl.test.php +++ b/cake/tests/cases/libs/model/db_acl.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * DbAclTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components.dbacl.models * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -27,16 +27,14 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } - App::import('Component', 'Acl'); App::import('Core', 'db_acl'); - /** -* DB ACL wrapper test class -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * DB ACL wrapper test class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAclNodeTestBase extends AclNode { /** * useDbConfig property @@ -53,13 +51,12 @@ class DbAclNodeTestBase extends AclNode { */ var $cacheSources = false; } - /** -* Aro Test Wrapper -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * Aro Test Wrapper + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAroTest extends DbAclNodeTestBase { /** * name property @@ -83,13 +80,12 @@ class DbAroTest extends DbAclNodeTestBase { */ var $hasAndBelongsToMany = array('DbAcoTest' => array('with' => 'DbPermissionTest')); } - /** -* Aco Test Wrapper -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * Aco Test Wrapper + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAcoTest extends DbAclNodeTestBase { /** * name property @@ -113,13 +109,12 @@ class DbAcoTest extends DbAclNodeTestBase { */ var $hasAndBelongsToMany = array('DbAroTest' => array('with' => 'DbPermissionTest')); } - /** -* Permission Test Wrapper -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * Permission Test Wrapper + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbPermissionTest extends CakeTestModel { /** * name property @@ -151,11 +146,11 @@ class DbPermissionTest extends CakeTestModel { var $belongsTo = array('DbAroTest' => array('foreignKey' => 'aro_id'), 'DbAcoTest' => array('foreignKey' => 'aco_id')); } /** -* Short description for class. -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * DboActionTest class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAcoActionTest extends CakeTestModel { /** * name property @@ -180,11 +175,11 @@ class DbAcoActionTest extends CakeTestModel { var $belongsTo = array('DbAcoTest' => array('foreignKey' => 'aco_id')); } /** -* Short description for class. -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * DbAroUserTest class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAroUserTest extends CakeTestModel { /** * name property @@ -215,13 +210,12 @@ class DbAroUserTest extends CakeTestModel { } } } - /** -* Short description for class. -* -* @package cake.tests -* @subpackage cake.tests.cases.libs.controller.components -*/ + * DbAclTest class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ class DbAclTest extends DbAcl { /** * construct method @@ -237,9 +231,9 @@ class DbAclTest extends DbAcl { } } /** - * Short description for class. + * AclNodeTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.controller.components.dbacl.models */ class AclNodeTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/model/model.test.php b/cake/tests/cases/libs/model/model.test.php index 51d3d2f5f..a4845b77f 100644 --- a/cake/tests/cases/libs/model/model.test.php +++ b/cake/tests/cases/libs/model/model.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ModelTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,14 +24,12 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ - App::import('Core', array('AppModel', 'Model')); require_once dirname(__FILE__) . DS . 'models.php'; - /** - * Short description for class. + * ModelTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ModelTest extends CakeTestCase { @@ -90,6 +88,15 @@ class ModelTest extends CakeTestCase { parent::end(); Configure::write('debug', $this->debug); } +/** + * endTest method + * + * @access public + * @return void + */ + function endTest() { + ClassRegistry::flush(); + } /** * testAutoConstructAssociations method * @@ -956,7 +963,6 @@ class ModelTest extends CakeTestCase { $result = $Article->read(null, 2); $this->assertEqual($result['Article']['title'], 'Staying alive'); } - /** * testCreationOfEmptyRecord method * @@ -2999,16 +3005,16 @@ class ModelTest extends CakeTestCase { ) ); $this->assertEqual($result, $expected); - - + + $this->loadFixtures('JoinA', 'JoinC', 'JoinAC', 'JoinB', 'JoinAB'); $TestModel = new JoinA(); $TestModel->hasBelongsToMany['JoinC']['unique'] = true; $data = array( 'JoinA' => array( 'id' => 1, - 'name' => 'Join A 1', - 'body' => 'Join A 1 Body', + 'name' => 'Join A 1', + 'body' => 'Join A 1 Body', ), 'JoinC' => array( 'JoinC' => array( @@ -3182,7 +3188,6 @@ class ModelTest extends CakeTestCase { Configure::write('Cache.check', $_back['check']); Configure::write('Cache.disable', $_back['disable']); } - /** * testSaveAll method * @@ -3248,12 +3253,12 @@ class ModelTest extends CakeTestCase { $expected = array('id' => '2', 'comment_id' => '7', 'attachment' => 'some_file.tgz', 'created' => $ts, 'updated' => $ts); $this->assertEqual($result[6]['Attachment'], $expected); } - /** * Test SaveAll with Habtm relations * + * @access public * @return void - **/ + */ function testSaveAllHabtm() { $this->loadFixtures('Article', 'Tag', 'Comment', 'User'); $data = array( @@ -3279,10 +3284,15 @@ class ModelTest extends CakeTestCase { $this->assertEqual(count($result['Comment']), 1); $this->assertEqual(count($result['Comment'][0]['comment']['Article comment']), 1); } - +/** + * Test SaveAll with Habtm relations and extra join table fields + * + * @access public + * @return void + */ function testSaveAllHabtmWithExtraJoinTableFields() { $this->loadFixtures('Something', 'SomethingElse', 'JoinThing'); - + $data = array( 'Something' => array( 'id' => 4, @@ -3301,18 +3311,18 @@ class ModelTest extends CakeTestCase { $result = $Something->saveAll($data); $this->assertTrue($result); $result = $Something->read(); - + $this->assertEqual(count($result['SomethingElse']), 3); $this->assertTrue(Set::matches('/Something[id=4]', $result)); - + $this->assertTrue(Set::matches('/SomethingElse[id=1]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=1]/JoinThing[something_else_id=1]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=1]/JoinThing[doomed=1]', $result)); - + $this->assertTrue(Set::matches('/SomethingElse[id=2]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=2]/JoinThing[something_else_id=2]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=2]/JoinThing[doomed=0]', $result)); - + $this->assertTrue(Set::matches('/SomethingElse[id=3]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=3]/JoinThing[something_else_id=3]', $result)); $this->assertTrue(Set::matches('/SomethingElse[id=3]/JoinThing[doomed=1]', $result)); @@ -3753,7 +3763,6 @@ class ModelTest extends CakeTestCase { ); $this->assertEqual($TestModel->validationErrors, $expected); } - /** * testSaveAllValidateFirst method * @@ -3800,8 +3809,8 @@ class ModelTest extends CakeTestCase { $model->deleteAll(true); $data = array( 'Article' => array( - 'title' => 'Post with Author saveAlled from comment', - 'body' => 'This post will be saved with an author', + 'title' => 'Post with Author saveAlled from comment', + 'body' => 'This post will be saved with an author', 'user_id' => 2 ), 'Comment' => array( @@ -3810,7 +3819,7 @@ class ModelTest extends CakeTestCase { ); $result = $model->Comment->saveAll($data, array('validate' => 'first')); $this->assertTrue($result); - + $result = $model->find('all'); $this->assertEqual($result[0]['Article']['title'], 'Post with Author saveAlled from comment'); $this->assertEqual($result[0]['Comment'][0]['comment'], 'Only new comment'); @@ -3929,7 +3938,6 @@ class ModelTest extends CakeTestCase { $expected = array_fill(0, 1, 1); $this->assertEqual($result, $expected); } - /** * testSaveWithCounterCacheScope method * @@ -4786,7 +4794,6 @@ class ModelTest extends CakeTestCase { $expected = $TestModel->save($data); $this->assertFalse($expected); } - // function testBasicValidation() { // $TestModel =& new ValidationTest(); // $TestModel->testing = true; @@ -4983,6 +4990,13 @@ class ModelTest extends CakeTestCase { $TestModel->invalidFields(array('fieldList' => array('name', 'title'))); $expected = array('name' => 'This field cannot be left blank', 'title' => 'This field cannot be left blank'); $this->assertEqual($TestModel->validationErrors, $expected); + $TestModel->validationErrors = array(); + + $TestModel->whitelist = array('name'); + $TestModel->invalidFields(); + $expected = array('name' => 'This field cannot be left blank'); + $this->assertEqual($TestModel->validationErrors, $expected); + $TestModel->validationErrors = array(); $this->assertEqual($TestModel->validate, $validate); } @@ -5530,7 +5544,6 @@ class ModelTest extends CakeTestCase { $this->assertIdentical($result['DataTest']['count'], '0'); $this->assertIdentical($result['DataTest']['float'], '0'); } - /** * testNonNumericHabtmJoinKey method * @@ -5820,7 +5833,6 @@ class ModelTest extends CakeTestCase { $this->assertEqual($db2->fullTableName($TestModel, false), 'apples'); $this->assertEqual($db1->fullTableName($TestModel, false), 'apples'); } - /** * testDynamicBehaviorAttachment method * @@ -5851,7 +5863,6 @@ class ModelTest extends CakeTestCase { $this->assertEqual($TestModel->Behaviors->attached(), array()); $this->assertFalse(isset($TestModel->Behaviors->Tree)); } - /** * Tests cross database joins. Requires $test and $test2 to both be set in DATABASE_CONFIG * NOTE: When testing on MySQL, you must set 'persistent' => false on *both* database connections, @@ -6470,7 +6481,12 @@ class ModelTest extends CakeTestCase { $result = $Portfolio->ItemsPortfolio->find('all', array('conditions' => array('ItemsPortfolio.portfolio_id' => 1))); $this->assertFalse($result); } - +/** + * testDeleteArticleBLinks method + * + * @access public + * @return void + */ function testDeleteArticleBLinks() { $this->loadFixtures('Article', 'ArticlesTag', 'Tag'); $TestModel =& new ArticleB(); @@ -6493,21 +6509,16 @@ class ModelTest extends CakeTestCase { ); $this->assertEqual($result, $expected); } - +/** + * testPkInHAbtmLinkModelArticleB + * + * @access public + * @return void + */ function testPkInHabtmLinkModelArticleB() { $this->loadFixtures('Article', 'Tag'); $TestModel2 =& new ArticleB(); $this->assertEqual($TestModel2->ArticlesTag->primaryKey, 'article_id'); } -/** - * endTest method - * - * @access public - * @return void - */ - function endTest() { - ClassRegistry::flush(); - } } - -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/models.php b/cake/tests/cases/libs/model/models.php index 95170c748..8f1423e9c 100644 --- a/cake/tests/cases/libs/model/models.php +++ b/cake/tests/cases/libs/model/models.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Mock models + * Mock models file * * Mock classes for use in Model and related test cases * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model * @since CakePHP(tm) v 1.2.0.6464 * @version $Revision$ @@ -27,11 +27,10 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } - /** * Test class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Test extends CakeTestModel { @@ -67,7 +66,7 @@ class Test extends CakeTestModel { /** * TestAlias class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TestAlias extends CakeTestModel { @@ -110,7 +109,7 @@ class TestAlias extends CakeTestModel { /** * TestValidate class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TestValidate extends CakeTestModel { @@ -169,7 +168,7 @@ class TestValidate extends CakeTestModel { /** * User class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class User extends CakeTestModel { @@ -191,7 +190,7 @@ class User extends CakeTestModel { /** * Article class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Article extends CakeTestModel { @@ -263,7 +262,7 @@ class Article extends CakeTestModel { /** * NumericArticle class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class NumericArticle extends CakeTestModel { @@ -285,7 +284,7 @@ class NumericArticle extends CakeTestModel { /** * Article10 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Article10 extends CakeTestModel { @@ -314,7 +313,7 @@ class Article10 extends CakeTestModel { /** * ArticleFeatured class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ArticleFeatured extends CakeTestModel { @@ -364,7 +363,7 @@ class ArticleFeatured extends CakeTestModel { /** * Featured class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Featured extends CakeTestModel { @@ -386,7 +385,7 @@ class Featured extends CakeTestModel { /** * Tag class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Tag extends CakeTestModel { @@ -401,7 +400,7 @@ class Tag extends CakeTestModel { /** * ArticlesTag class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ArticlesTag extends CakeTestModel { @@ -416,7 +415,7 @@ class ArticlesTag extends CakeTestModel { /** * ArticleFeaturedsTag class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ArticleFeaturedsTag extends CakeTestModel { @@ -431,7 +430,7 @@ class ArticleFeaturedsTag extends CakeTestModel { /** * Comment class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Comment extends CakeTestModel { @@ -460,7 +459,7 @@ class Comment extends CakeTestModel { /** * Modified Comment Class has afterFind Callback * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ModifiedComment extends CakeTestModel { @@ -501,7 +500,7 @@ class ModifiedComment extends CakeTestModel { /** * MergeVarPluginAppModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MergeVarPluginAppModel extends AppModel { @@ -517,7 +516,7 @@ class MergeVarPluginAppModel extends AppModel { /** * MergeVarPluginPost class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MergeVarPluginPost extends MergeVarPluginAppModel { @@ -539,7 +538,7 @@ class MergeVarPluginPost extends MergeVarPluginAppModel { /** * MergeVarPluginComment class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MergeVarPluginComment extends MergeVarPluginAppModel { @@ -563,7 +562,7 @@ class MergeVarPluginComment extends MergeVarPluginAppModel { /** * Attachment class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Attachment extends CakeTestModel { @@ -578,7 +577,7 @@ class Attachment extends CakeTestModel { /** * Category class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Category extends CakeTestModel { @@ -593,7 +592,7 @@ class Category extends CakeTestModel { /** * CategoryThread class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class CategoryThread extends CakeTestModel { @@ -615,7 +614,7 @@ class CategoryThread extends CakeTestModel { /** * Apple class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Apple extends CakeTestModel { @@ -658,7 +657,7 @@ class Apple extends CakeTestModel { /** * Sample class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Sample extends CakeTestModel { @@ -680,7 +679,7 @@ class Sample extends CakeTestModel { /** * AnotherArticle class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class AnotherArticle extends CakeTestModel { @@ -702,7 +701,7 @@ class AnotherArticle extends CakeTestModel { /** * Advertisement class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Advertisement extends CakeTestModel { @@ -724,7 +723,7 @@ class Advertisement extends CakeTestModel { /** * Home class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Home extends CakeTestModel { @@ -746,7 +745,7 @@ class Home extends CakeTestModel { /** * Post class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Post extends CakeTestModel { @@ -768,7 +767,7 @@ class Post extends CakeTestModel { /** * Author class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Author extends CakeTestModel { @@ -801,7 +800,7 @@ class Author extends CakeTestModel { /** * ModifiedAuthor class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ModifiedAuthor extends Author { @@ -829,7 +828,7 @@ class ModifiedAuthor extends Author { /** * Project class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Project extends CakeTestModel { @@ -851,7 +850,7 @@ class Project extends CakeTestModel { /** * Thread class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Thread extends CakeTestModel { @@ -880,7 +879,7 @@ class Thread extends CakeTestModel { /** * Message class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Message extends CakeTestModel { @@ -902,7 +901,7 @@ class Message extends CakeTestModel { /** * Bid class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Bid extends CakeTestModel { @@ -924,7 +923,7 @@ class Bid extends CakeTestModel { /** * NodeAfterFind class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class NodeAfterFind extends CakeTestModel { @@ -984,7 +983,7 @@ class NodeAfterFind extends CakeTestModel { /** * NodeAfterFindSample class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class NodeAfterFindSample extends CakeTestModel { @@ -1013,7 +1012,7 @@ class NodeAfterFindSample extends CakeTestModel { /** * NodeNoAfterFind class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class NodeNoAfterFind extends CakeTestModel { @@ -1063,7 +1062,7 @@ class NodeNoAfterFind extends CakeTestModel { /** * Node class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Node extends CakeTestModel{ @@ -1093,7 +1092,7 @@ class Node extends CakeTestModel{ /** * Dependency class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Dependency extends CakeTestModel { @@ -1108,7 +1107,7 @@ class Dependency extends CakeTestModel { /** * ModelA class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ModelA extends CakeTestModel { @@ -1137,7 +1136,7 @@ class ModelA extends CakeTestModel { /** * ModelB class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ModelB extends CakeTestModel { @@ -1166,7 +1165,7 @@ class ModelB extends CakeTestModel { /** * ModelC class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ModelC extends CakeTestModel { @@ -1195,7 +1194,7 @@ class ModelC extends CakeTestModel { /** * ModelD class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ModelD extends CakeTestModel { @@ -1217,7 +1216,7 @@ class ModelD extends CakeTestModel { /** * Something class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Something extends CakeTestModel { @@ -1239,7 +1238,7 @@ class Something extends CakeTestModel { /** * SomethingElse class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class SomethingElse extends CakeTestModel { @@ -1261,7 +1260,7 @@ class SomethingElse extends CakeTestModel { /** * JoinThing class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class JoinThing extends CakeTestModel { @@ -1283,7 +1282,7 @@ class JoinThing extends CakeTestModel { /** * Portfolio class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Portfolio extends CakeTestModel { @@ -1305,7 +1304,7 @@ class Portfolio extends CakeTestModel { /** * Item class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Item extends CakeTestModel { @@ -1334,7 +1333,7 @@ class Item extends CakeTestModel { /** * ItemsPortfolio class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ItemsPortfolio extends CakeTestModel { @@ -1349,7 +1348,7 @@ class ItemsPortfolio extends CakeTestModel { /** * Syfile class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Syfile extends CakeTestModel { @@ -1371,7 +1370,7 @@ class Syfile extends CakeTestModel { /** * Image class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Image extends CakeTestModel { @@ -1386,7 +1385,7 @@ class Image extends CakeTestModel { /** * DeviceType class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class DeviceType extends CakeTestModel { @@ -1426,7 +1425,7 @@ class DeviceType extends CakeTestModel { /** * DeviceTypeCategory class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class DeviceTypeCategory extends CakeTestModel { @@ -1441,7 +1440,7 @@ class DeviceTypeCategory extends CakeTestModel { /** * FeatureSet class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class FeatureSet extends CakeTestModel { @@ -1456,7 +1455,7 @@ class FeatureSet extends CakeTestModel { /** * ExteriorTypeCategory class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ExteriorTypeCategory extends CakeTestModel { @@ -1478,7 +1477,7 @@ class ExteriorTypeCategory extends CakeTestModel { /** * Document class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Document extends CakeTestModel { @@ -1500,7 +1499,7 @@ class Document extends CakeTestModel { /** * Device class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Device extends CakeTestModel { @@ -1515,7 +1514,7 @@ class Device extends CakeTestModel { /** * DocumentDirectory class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class DocumentDirectory extends CakeTestModel { @@ -1530,7 +1529,7 @@ class DocumentDirectory extends CakeTestModel { /** * PrimaryModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class PrimaryModel extends CakeTestModel { @@ -1545,7 +1544,7 @@ class PrimaryModel extends CakeTestModel { /** * SecondaryModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class SecondaryModel extends CakeTestModel { @@ -1560,7 +1559,7 @@ class SecondaryModel extends CakeTestModel { /** * JoinA class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class JoinA extends CakeTestModel { @@ -1582,7 +1581,7 @@ class JoinA extends CakeTestModel { /** * JoinB class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class JoinB extends CakeTestModel { @@ -1604,7 +1603,7 @@ class JoinB extends CakeTestModel { /** * JoinC class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class JoinC extends CakeTestModel { @@ -1626,7 +1625,7 @@ class JoinC extends CakeTestModel { /** * ThePaper class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ThePaper extends CakeTestModel { @@ -1662,7 +1661,7 @@ class ThePaper extends CakeTestModel { /** * Monkey class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Monkey extends CakeTestModel { @@ -1684,7 +1683,7 @@ class Monkey extends CakeTestModel { /** * AssociationTest1 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class AssociationTest1 extends CakeTestModel { @@ -1715,7 +1714,7 @@ class AssociationTest1 extends CakeTestModel { /** * AssociationTest2 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class AssociationTest2 extends CakeTestModel { @@ -1746,7 +1745,7 @@ class AssociationTest2 extends CakeTestModel { /** * Callback class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Callback extends CakeTestModel { @@ -1755,7 +1754,7 @@ class Callback extends CakeTestModel { /** * Uuid class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Uuid extends CakeTestModel { @@ -1770,7 +1769,7 @@ class Uuid extends CakeTestModel { /** * DataTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class DataTest extends CakeTestModel { @@ -1785,7 +1784,7 @@ class DataTest extends CakeTestModel { /** * TheVoid class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TheVoid extends CakeTestModel { @@ -1807,7 +1806,7 @@ class TheVoid extends CakeTestModel { /** * ValidationTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ValidationTest extends CakeTestModel { @@ -1880,7 +1879,7 @@ class ValidationTest extends CakeTestModel { /** * ValidationTest2 class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ValidationTest2 extends CakeTestModel { @@ -1936,7 +1935,7 @@ class ValidationTest2 extends CakeTestModel { /** * Person class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Person extends CakeTestModel { @@ -1964,7 +1963,7 @@ class Person extends CakeTestModel { /** * UnderscoreField class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class UnderscoreField extends CakeTestModel { @@ -1979,7 +1978,7 @@ class UnderscoreField extends CakeTestModel { /** * Product class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Product extends CakeTestModel { @@ -1994,7 +1993,7 @@ class Product extends CakeTestModel { /** * Story class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Story extends CakeTestModel { @@ -2030,7 +2029,7 @@ class Story extends CakeTestModel { /** * Cd class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Cd extends CakeTestModel { @@ -2052,7 +2051,7 @@ class Cd extends CakeTestModel { /** * Book class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Book extends CakeTestModel { @@ -2074,7 +2073,7 @@ class Book extends CakeTestModel { /** * OverallFavorite class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class OverallFavorite extends CakeTestModel { @@ -2089,7 +2088,7 @@ class OverallFavorite extends CakeTestModel { /** * MyUser class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MyUser extends CakeTestModel { @@ -2111,7 +2110,7 @@ class MyUser extends CakeTestModel { /** * MyCategory class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MyCategory extends CakeTestModel { @@ -2133,7 +2132,7 @@ class MyCategory extends CakeTestModel { /** * MyProduct class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MyProduct extends CakeTestModel { @@ -2155,7 +2154,7 @@ class MyProduct extends CakeTestModel { /** * MyCategoriesMyUser class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MyCategoriesMyUser extends CakeTestModel { @@ -2170,7 +2169,7 @@ class MyCategoriesMyUser extends CakeTestModel { /** * MyCategoriesMyProduct class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class MyCategoriesMyProduct extends CakeTestModel { @@ -2185,7 +2184,7 @@ class MyCategoriesMyProduct extends CakeTestModel { /** * I18nModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class I18nModel extends CakeTestModel { @@ -2214,7 +2213,7 @@ class I18nModel extends CakeTestModel { /** * NumberTree class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class NumberTree extends CakeTestModel { @@ -2277,7 +2276,7 @@ class NumberTree extends CakeTestModel { /** * FlagTree class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class FlagTree extends NumberTree { @@ -2292,7 +2291,7 @@ class FlagTree extends NumberTree { /** * UnconventionalTree class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class UnconventionalTree extends NumberTree { @@ -2314,7 +2313,7 @@ class UnconventionalTree extends NumberTree { /** * UuidTree class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class UuidTree extends NumberTree { @@ -2330,7 +2329,7 @@ class UuidTree extends NumberTree { /** * Campaign class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Campaign extends CakeTestModel { @@ -2352,7 +2351,7 @@ class Campaign extends CakeTestModel { /** * Ad class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Ad extends CakeTestModel { @@ -2381,7 +2380,7 @@ class Ad extends CakeTestModel { /** * AfterTree class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class AfterTree extends NumberTree { @@ -2409,7 +2408,7 @@ class AfterTree extends NumberTree { /** * Nonconformant Content class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Content extends CakeTestModel { @@ -2445,7 +2444,7 @@ class Content extends CakeTestModel { /** * Nonconformant Account class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Account extends CakeTestModel { @@ -2474,7 +2473,7 @@ class Account extends CakeTestModel { /** * Nonconformant ContentAccount class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class ContentAccount extends CakeTestModel { @@ -2503,7 +2502,7 @@ class ContentAccount extends CakeTestModel { /** * FilmFile class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class FilmFile extends CakeTestModel { @@ -2512,7 +2511,7 @@ class FilmFile extends CakeTestModel { /** * Basket test model * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Basket extends CakeTestModel { @@ -2531,7 +2530,7 @@ class Basket extends CakeTestModel { /** * TestPluginArticle class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TestPluginArticle extends CakeTestModel { @@ -2566,7 +2565,7 @@ class TestPluginArticle extends CakeTestModel { /** * TestPluginComment class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TestPluginComment extends CakeTestModel { @@ -2594,7 +2593,7 @@ class TestPluginComment extends CakeTestModel { /** * Uuidportfolio class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Uuidportfolio extends CakeTestModel { @@ -2616,7 +2615,7 @@ class Uuidportfolio extends CakeTestModel { /** * Uuiditem class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class Uuiditem extends CakeTestModel { @@ -2641,7 +2640,7 @@ class Uuiditem extends CakeTestModel { /** * UuiditemsPortfolio class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class UuiditemsUuidportfolio extends CakeTestModel { @@ -2656,7 +2655,7 @@ class UuiditemsUuidportfolio extends CakeTestModel { /** * UuiditemsPortfolioNumericid class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class UuiditemsUuidportfolioNumericid extends CakeTestModel { @@ -2671,7 +2670,7 @@ class UuiditemsUuidportfolioNumericid extends CakeTestModel { /** * TranslateTestModel class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TranslateTestModel extends CakeTestModel { @@ -2700,7 +2699,7 @@ class TranslateTestModel extends CakeTestModel { /** * TranslatedItem class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TranslatedItem extends CakeTestModel { @@ -2736,7 +2735,7 @@ class TranslatedItem extends CakeTestModel { /** * TranslatedItemWithTable class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TranslatedItemWithTable extends CakeTestModel { @@ -2786,7 +2785,7 @@ class TranslatedItemWithTable extends CakeTestModel { /** * TranslateArticleModel class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TranslateArticleModel extends CakeTestModel { @@ -2815,7 +2814,7 @@ class TranslateArticleModel extends CakeTestModel { /** * TranslatedArticle class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TranslatedArticle extends CakeTestModel { diff --git a/cake/tests/cases/libs/model/schema.test.php b/cake/tests/cases/libs/model/schema.test.php index f849831c0..fc35f5c13 100644 --- a/cake/tests/cases/libs/model/schema.test.php +++ b/cake/tests/cases/libs/model/schema.test.php @@ -15,7 +15,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5550 * @version $Revision$ @@ -24,11 +24,10 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', 'Schema'); - /** * Test for Schema database management * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class MyAppSchema extends CakeSchema { @@ -102,7 +101,7 @@ class MyAppSchema extends CakeSchema { /** * TestAppSchema class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class TestAppSchema extends CakeSchema { @@ -200,9 +199,9 @@ class TestAppSchema extends CakeSchema { } } /** - * Short description for class. + * SchmeaPost class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class SchemaPost extends CakeTestModel { @@ -234,12 +233,11 @@ class SchemaPost extends CakeTestModel { * @access public */ var $hasAndBelongsToMany = array('SchemaTag'); - } /** - * Short description for class. + * SchemaComment class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class SchemaComment extends CakeTestModel { @@ -266,9 +264,9 @@ class SchemaComment extends CakeTestModel { var $belongsTo = array('SchemaPost'); } /** - * Short description for class. + * SchemaTag class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class SchemaTag extends CakeTestModel { @@ -295,9 +293,9 @@ class SchemaTag extends CakeTestModel { var $hasAndBelongsToMany = array('SchemaPost'); } /** - * Short description for class. + * SchemaDatatype class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.model */ class SchemaDatatype extends CakeTestModel { @@ -319,8 +317,9 @@ class SchemaDatatype extends CakeTestModel { /** * Testdescribe class * - * This class is defined purely to inherit the cacheSources variable otherwise testSchemaCreatTable will fail if - * listSources has already been called and its source cache populated - I.e. if the test is run within a group + * This class is defined purely to inherit the cacheSources variable otherwise + * testSchemaCreatTable will fail if listSources has already been called and + * its source cache populated - I.e. if the test is run within a group * * @uses CakeTestModel * @package @@ -336,9 +335,9 @@ class Testdescribe extends CakeTestModel { var $name = 'Testdescribe'; } /** - * Short description for class. + * CakeSchemaTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class CakeSchemaTest extends CakeTestCase { @@ -358,6 +357,15 @@ class CakeSchemaTest extends CakeTestCase { function startTest() { $this->Schema = new TestAppSchema(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Schema); + } /** * testSchemaName method * @@ -471,7 +479,7 @@ class CakeSchemaTest extends CakeTestCase { function testSchemaCreateTable() { $db =& ConnectionManager::getDataSource('test_suite'); $db->cacheSources = false; - + $Schema =& new CakeSchema(array( 'connection' => 'test_suite', 'testdescribes' => array( @@ -481,25 +489,16 @@ class CakeSchemaTest extends CakeTestCase { ), )); $sql = $db->createSchema($Schema); - + $col = $Schema->tables['testdescribes']['int_null']; $col['name'] = 'int_null'; $column = $this->db->buildColumn($col); $this->assertPattern('/' . preg_quote($column, '/') . '/', $sql); - + $col = $Schema->tables['testdescribes']['int_not_null']; $col['name'] = 'int_not_null'; $column = $this->db->buildColumn($col); $this->assertPattern('/' . preg_quote($column, '/') . '/', $sql); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Schema); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/multibyte.test.php b/cake/tests/cases/libs/multibyte.test.php index c97c40efc..68950cc78 100644 --- a/cake/tests/cases/libs/multibyte.test.php +++ b/cake/tests/cases/libs/multibyte.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * MultibyteTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.6833 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'Multibyte'); /** - * Short description for class. + * MultibyteTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class MultibyteTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/object.test.php b/cake/tests/cases/libs/object.test.php index f31ee175e..743d88da1 100644 --- a/cake/tests/cases/libs/object.test.php +++ b/cake/tests/cases/libs/object.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ObjectTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -117,6 +117,37 @@ class RequestActionController extends Controller { return $this->params; } } +/** + * RequestActionPersistentController class + * + * @package cake + * @subpackage cake.tests.cases.libs + */ +class RequestActionPersistentController extends Controller { +/** +* uses property +* +* @var array +* @access public +*/ + var $uses = array('PersisterOne'); + +/** +* persistModel property +* +* @var array +* @access public +*/ + var $persistModel = true; +/** + * post pass, testing post passing + * + * @return array + **/ + function index() { + return 'This is a test'; + } +} /** * TestObject class * @@ -240,7 +271,6 @@ class TestObject extends Object { function methodWithOptionalParam($param = null) { $this->methodCalls[] = array('methodWithOptionalParam' => array($param)); } - /** * testPersist * @@ -250,24 +280,20 @@ class TestObject extends Object { return $this->_persist($name, $return, $object, $type); } } - - /** - * ObjectTestModel + * ObjectTestModel class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ObjectTestModel extends CakeTestModel { var $useTable = false; var $name = 'ObjectTestModel'; } - - /** - * Object Test Class + * Object Test class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ObjectTest extends CakeTestCase { @@ -276,7 +302,7 @@ class ObjectTest extends CakeTestCase { * * @var string **/ - var $fixtures = array('core.post'); + var $fixtures = array('core.post', 'core.comment'); /** * setUp method * @@ -286,6 +312,15 @@ class ObjectTest extends CakeTestCase { function setUp() { $this->object = new TestObject(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->object); + } /** * testLog method * @@ -378,6 +413,104 @@ class ObjectTest extends CakeTestCase { Configure::write('Cache.disable', $cacheDisable); } /** + * testPersistWithRequestAction method + * + * @access public + * @return void + */ + function testPersistWithBehavior() { + ClassRegistry::flush(); + + $cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); + + Configure::write('modelPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS)); + Configure::write('behaviorPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS . 'behaviors' . DS)); + + $this->assertFalse(class_exists('PersisterOneBehaviorBehavior')); + $this->assertFalse(class_exists('PersisterTwoBehaviorBehavior')); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisterone.php')); + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + + $contents = str_replace('"PersisterOne"', '"PersisterTwo"', file_get_contents(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + $contents = str_replace('persister_one_', 'persister_two_', file_get_contents(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + + $result = file_put_contents(CACHE . 'persistent' . DS . 'persisteroneregistry.php', $contents); + + $this->assertTrue(class_exists('PersisterOneBehaviorBehavior')); + $this->assertFalse(class_exists('PersisterTwoBehaviorBehavior')); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + $this->assertTrue(class_exists('PersisterOneBehaviorBehavior')); + $this->assertTrue(class_exists('PersisterTwoBehaviorBehavior')); + + @unlink(CACHE . 'persistent' . DS . 'persisterone.php'); + @unlink(CACHE . 'persistent' . DS . 'persisteroneregistry.php'); + } +/** + * testPersistWithBehaviorAndRequestAction method + * + * @see testPersistWithBehavior + * @access public + * @return void + */ + function testPersistWithBehaviorAndRequestAction() { + ClassRegistry::flush(); + + $cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); + + $this->assertFalse(class_exists('ContainableBehavior')); + + Configure::write('modelPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS)); + Configure::write('behaviorPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'models'. DS . 'behaviors' . DS)); + + $this->assertFalse(class_exists('PersistOneBehaviorBehavior')); + $this->assertFalse(class_exists('PersistTwoBehaviorBehavior')); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisterone.php')); + $this->assertTrue(file_exists(CACHE . 'persistent' . DS . 'persisteroneregistry.php')); + + $keys = ClassRegistry::keys(); + $this->assertEqual($keys, array('persister_one', 'comment', 'persister_one_behavior_behavior')); + + ob_start(); + $Controller->set('content_for_layout', 'cool'); + $Controller->render('index', 'ajax', '/layouts/ajax'); + $result = ob_get_clean(); + + $keys = ClassRegistry::keys(); + $this->assertEqual($keys, array('persister_one', 'comment', 'persister_one_behavior_behavior', 'view')); + + $result = $this->object->requestAction('/request_action_persistent/index'); + $expected = 'This is a test'; + $this->assertEqual($result, $expected); + + @unlink(CACHE . 'persistent' . DS . 'persisterone.php'); + @unlink(CACHE . 'persistent' . DS . 'persisteroneregistry.php'); + + $Controller = new RequestActionPersistentController(); + $Controller->persistModel = true; + $Controller->constructClasses(); + + @unlink(CACHE . 'persistent' . DS . 'persisterone.php'); + @unlink(CACHE . 'persistent' . DS . 'persisteroneregistry.php'); + + Configure::write('Cache.disable', $cacheDisable); + } +/** * testToString method * * @access public @@ -593,7 +726,6 @@ class ObjectTest extends CakeTestCase { $_POST = $_tmp; } - /** * testCakeError * @@ -602,14 +734,5 @@ class ObjectTest extends CakeTestCase { function testCakeError() { } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->object); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/overloadable.test.php b/cake/tests/cases/libs/overloadable.test.php index 8e1d24b4f..5c0363ad5 100644 --- a/cake/tests/cases/libs/overloadable.test.php +++ b/cake/tests/cases/libs/overloadable.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * OverloadableTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'Overloadable'); /** - * Short description for class. + * OverloadableTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class OverloadableTest extends CakeTestCase { @@ -39,7 +39,7 @@ class OverloadableTest extends CakeTestCase { * @return void */ function skip() { - $this->skipif (true, 'OverloadableTest not implemented'); + $this->skipif(true, 'OverloadableTest not implemented'); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/router.test.php b/cake/tests/cases/libs/router.test.php index 0af3648d9..7cbc98161 100644 --- a/cake/tests/cases/libs/router.test.php +++ b/cake/tests/cases/libs/router.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * RouterTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -29,11 +29,10 @@ App::import('Core', array('Router', 'Debugger')); if (!defined('FULL_BASE_URL')) { define('FULL_BASE_URL', 'http://cakephp.org'); } - /** - * Short description for class. + * RouterTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class RouterTest extends CakeTestCase { @@ -1494,7 +1493,6 @@ class RouterTest extends CakeTestCase { $expected = array('pass' => array(), 'named' => array(), 'plugin' => null, 'controller' => 'posts', 'action' => 'index'); $this->assertEqual($result, $expected); } - /** * Tests URL generation with flags and prefixes in and out of context * diff --git a/cake/tests/cases/libs/sanitize.test.php b/cake/tests/cases/libs/sanitize.test.php index 31101445e..e564f9a92 100644 --- a/cake/tests/cases/libs/sanitize.test.php +++ b/cake/tests/cases/libs/sanitize.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SanitizeTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5428 * @version $Revision$ @@ -70,9 +70,9 @@ class SanitizeArticle extends CakeTestModel { var $useTable = 'articles'; } /** - * Short description for class. + * SanitizeTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class SanitizeTest extends CakeTestCase { @@ -445,5 +445,4 @@ class SanitizeTest extends CakeTestCase { $this->assertEqual($result, $expected); } } - -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/security.test.php b/cake/tests/cases/libs/security.test.php index a04da4a44..4c2e97019 100644 --- a/cake/tests/cases/libs/security.test.php +++ b/cake/tests/cases/libs/security.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SecurityTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'Security'); /** - * Short description for class. + * SecurityTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class SecurityTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/session.test.php b/cake/tests/cases/libs/session.test.php index 91d773cc7..eacea5651 100644 --- a/cake/tests/cases/libs/session.test.php +++ b/cake/tests/cases/libs/session.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SessionTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -28,9 +28,9 @@ if (!class_exists('CakeSession')) { App::import('Core', 'Session'); } /** - * Short description for class. + * SessionTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class SessionTest extends CakeTestCase { @@ -369,6 +369,11 @@ class SessionTest extends CakeTestCase { $this->Session->destroy(); $this->assertFalse($this->Session->read('SessionTestCase')); session_write_close(); + + unset($_SESSION); + ini_set('session.save_handler', 'files'); + Configure::write('Session.save', 'php'); + $this->setUp(); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/set.test.php b/cake/tests/cases/libs/set.test.php index ed2f4f04c..d0b7c10f9 100644 --- a/cake/tests/cases/libs/set.test.php +++ b/cake/tests/cases/libs/set.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SetTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -25,11 +25,10 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', 'Set'); - /** - * UnitTestCase for the Set class + * SetTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class SetTest extends CakeTestCase { @@ -1052,15 +1051,17 @@ class SetTest extends CakeTestCase { */ function testSetExtractReturnsEmptyArray() { - $this->assertEqual(Set::extract(array(), '/Post/id'), array()); + $this->assertIdentical(Set::extract(array(), '/Post/id'), array()); - $this->assertEqual(Set::extract('/Post/id', array()), array()); + $this->assertIdentical(Set::extract('/Post/id', array()), array()); - $this->assertEqual(Set::extract('/Post/id', array( + $this->assertIdentical(Set::extract('/Post/id', array( array('Post' => array('name' => 'bob')), array('Post' => array('name' => 'jim')) )), array()); + $this->assertIdentical(Set::extract(array(), 'Message.flash'), null); + } /** * testClassicExtract method @@ -2573,7 +2574,6 @@ class SetTest extends CakeTestCase { $set = array('a' => 'hi'); $this->assertFalse(Set::check($set, 'a.b')); } - /** * Tests Set::flatten * @@ -2610,5 +2610,4 @@ class SetTest extends CakeTestCase { $this->assertEqual($result, $expected); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/socket.test.php b/cake/tests/cases/libs/socket.test.php index c409b1664..31ce57873 100644 --- a/cake/tests/cases/libs/socket.test.php +++ b/cake/tests/cases/libs/socket.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SocketTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'Socket'); /** - * Short description for class. + * SocketTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class SocketTest extends CakeTestCase { @@ -41,6 +41,15 @@ class SocketTest extends CakeTestCase { function setUp() { $this->Socket = new CakeSocket(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Socket); + } /** * testConstruct method * @@ -165,14 +174,5 @@ class SocketTest extends CakeTestCase { $anotherSocket->reset(); $this->assertEqual(array(), $anotherSocket->config); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Socket); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/string.test.php b/cake/tests/cases/libs/string.test.php index eacdd181e..0bb0460ab 100644 --- a/cake/tests/cases/libs/string.test.php +++ b/cake/tests/cases/libs/string.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * StringTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -26,9 +26,9 @@ */ App::import('Core', 'String'); /** - * Short description for class. + * StringTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class StringTest extends CakeTestCase { diff --git a/cake/tests/cases/libs/test_manager.test.php b/cake/tests/cases/libs/test_manager.test.php index 898817233..b8eb5de29 100644 --- a/cake/tests/cases/libs/test_manager.test.php +++ b/cake/tests/cases/libs/test_manager.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * TestManagerTest file * * Long description for file * @@ -16,20 +16,26 @@ * Redistributions of files must retain the above copyright notice. * * @filesource - * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. - * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests - * @subpackage cake.tests.cases.libs - * @since CakePHP(tm) v 1.2.0.4206 - * @version $Revision$ - * @modifiedby $LastChangedBy$ - * @lastmodified $Date$ - * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests + * @package cake + * @subpackage cake.tests.cases.libs + * @since CakePHP(tm) v 1.2.0.4206 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', 'TestManager'); +/** + * TestManagerTest class + * + * @package cake + * @subpackage cake.tests.cases.libs + */ class TestManagerTest extends CakeTestCase { /** - * undocumented function + * setUp method * * @return void * @access public @@ -39,7 +45,7 @@ class TestManagerTest extends CakeTestCase { $this->Reporter =& new CakeHtmlReporter(); } /** - * undocumented function + * testRunAllTests method * * @return void * @access public @@ -55,7 +61,7 @@ class TestManagerTest extends CakeTestCase { $this->assertEqual(count($out), count($list)); } /** - * undocumented function + * testRunTestCase method * * @return void * @access public @@ -71,49 +77,44 @@ class TestManagerTest extends CakeTestCase { $this->assertTrue($result); } /** - * undocumented function + * testRunGroupTest method * * @return void * @access public */ function testRunGroupTest() { - } /** - * undocumented function + * testAddTestCasesFromDirectory method * * @return void * @access public */ function testAddTestCasesFromDirectory() { - } /** - * undocumented function + * testAddTestFile method * * @return void * @access public */ function testAddTestFile() { - } /** - * undocumented function + * testGetTestCaseList method * * @return void * @access public */ function testGetTestCaseList() { - } /** - * undocumented function + * testGetGroupTestList method * * @return void * @access public */ function testGetGroupTestList() { - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/validation.test.php b/cake/tests/cases/libs/validation.test.php index c8c4c145c..60b6a187b 100644 --- a/cake/tests/cases/libs/validation.test.php +++ b/cake/tests/cases/libs/validation.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Validation Class Test Case + * ValidationTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -43,14 +43,13 @@ class CustomValidator { return preg_match('/^[0-9]{3}$/', $check); } } - /** * Test Case for Validation Class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ -class ValidationTestCase extends CakeTestCase { +class ValidationTest extends CakeTestCase { /** * Validation property * @@ -64,7 +63,7 @@ class ValidationTestCase extends CakeTestCase { * @access public * @return void */ - function setup() { + function setUp() { $this->Validation =& Validation::getInstance(); } /** @@ -83,7 +82,7 @@ class ValidationTestCase extends CakeTestCase { $this->assertTrue(Validation::notEmpty('π')); $this->assertFalse(Validation::notEmpty("\t ")); $this->assertFalse(Validation::notEmpty("")); - + } /** * testNotEmptyISO88591Encoding method @@ -1514,6 +1513,7 @@ class ValidationTestCase extends CakeTestCase { $this->assertTrue(Validation::email('abc@g.cn')); $this->assertTrue(Validation::email('abc@x.com')); $this->assertTrue(Validation::email('henrik@sbcglobal.net')); + $this->assertTrue(Validation::email('sani@sbcglobal.net')); // all ICANN TLDs $this->assertTrue(Validation::email('abc@example.aero')); diff --git a/cake/tests/cases/libs/view/helper.test.php b/cake/tests/cases/libs/view/helper.test.php index 7c3d7ea23..8cc1b811b 100644 --- a/cake/tests/cases/libs/view/helper.test.php +++ b/cake/tests/cases/libs/view/helper.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * HelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -65,7 +65,6 @@ class HelperTestPost extends Model { */ var $hasAndBelongsToMany = array('HelperTestTag'=> array('with' => 'HelperTestPostsTag')); } - /** * HelperTestComment class * @@ -156,11 +155,10 @@ class HelperTestPostsTag extends Model { return $this->_schema; } } - /** - * Short description for class. + * HelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class HelperTest extends CakeTestCase { @@ -180,6 +178,16 @@ class HelperTest extends CakeTestCase { ClassRegistry::addObject('HelperTestComment', new HelperTestComment()); ClassRegistry::addObject('HelperTestTag', new HelperTestTag()); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Helper, $this->View); + ClassRegistry::flush(); + } /** * testFormFieldNameParsing method * @@ -355,22 +363,22 @@ class HelperTest extends CakeTestCase { function testUrlConversion() { $result = $this->Helper->url('/controller/action/1'); $this->assertEqual($result, '/controller/action/1'); - + $result = $this->Helper->url('/controller/action/1?one=1&two=2'); $this->assertEqual($result, '/controller/action/1?one=1&two=2'); - + $result = $this->Helper->url(array('controller' => 'posts', 'action' => 'index', 'page' => '1" onclick="alert(\'XSS\');"')); $this->assertEqual($result, "/posts/index/page:1" onclick="alert('XSS');""); - + $result = $this->Helper->url('/controller/action/1/param:this+one+more'); $this->assertEqual($result, '/controller/action/1/param:this+one+more'); - + $result = $this->Helper->url('/controller/action/1/param:this%20one%20more'); $this->assertEqual($result, '/controller/action/1/param:this%20one%20more'); - + $result = $this->Helper->url('/controller/action/1/param:%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24'); $this->assertEqual($result, '/controller/action/1/param:%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24'); - + $result = $this->Helper->url(array( 'controller' => 'posts', 'action' => 'index', 'param' => '%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24' )); @@ -518,15 +526,5 @@ class HelperTest extends CakeTestCase { $result = $this->Helper->clean('<script>alert(document.cookie)</script>'); $this->assertEqual($result, '&lt;script&gt;alert(document.cookie)&lt;/script&gt;'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Helper, $this->View); - ClassRegistry::flush(); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/ajax.test.php b/cake/tests/cases/libs/view/helpers/ajax.test.php index 7b9073097..78060a7d8 100644 --- a/cake/tests/cases/libs/view/helpers/ajax.test.php +++ b/cake/tests/cases/libs/view/helpers/ajax.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AjaxHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -27,8 +27,16 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } -uses('view'.DS.'helpers'.DS.'app_helper', 'controller'.DS.'controller', 'model'.DS.'model', 'view'.DS.'helper', 'view'.DS.'helpers'.DS.'ajax', - 'view'.DS.'helpers'.DS.'html', 'view'.DS.'helpers'.DS.'form', 'view'.DS.'helpers'.DS.'javascript'); +uses( + 'view' . DS . 'helpers' . DS . 'app_helper', + 'controller' . DS . 'controller', + 'model' . DS . 'model', + 'view' . DS . 'helper', + 'view' . DS . 'helpers'.DS.'ajax', + 'view' . DS . 'helpers' . DS . 'html', + 'view' . DS . 'helpers' . DS . 'form', + 'view' . DS . 'helpers' . DS . 'javascript' + ); /** * AjaxTestController class * @@ -131,14 +139,13 @@ class TestJavascriptHelper extends JavascriptHelper { $this->codeBlocks[] = $parameter; } } - /** - * Short description for class. + * AjaxTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class AjaxTest extends CakeTestCase { +class AjaxHelperTest extends CakeTestCase { /** * Regexp for CDATA start block * @@ -168,6 +175,16 @@ class AjaxTest extends CakeTestCase { ClassRegistry::addObject('view', $view); ClassRegistry::addObject('PostAjaxTest', new PostAjaxTest()); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Ajax); + ClassRegistry::flush(); + } /** * testEvalScripts method * @@ -624,7 +641,6 @@ class AjaxTest extends CakeTestCase { $this->assertPattern('/^<script[^<>]+>\s*' . str_replace('/', '\\/', preg_quote('//<![CDATA[')) . '\s*new Form.Element.EventObserver\(\'field\', function\(element, value\) {.+}\)\s*' . str_replace('/', '\\/', preg_quote('//]]>')) . '\s*<\/script>$/', $result); $this->assertPattern('/' . str_replace('/', '\\/', preg_quote('new Ajax.Updater(\'divId\',\'http://www.cakephp.org\', {asynchronous:true, evalScripts:true, parameters:Form.Element.serialize(\'otherField\'), requestHeaders:[\'X-Update\', \'divId\']})')) . '/', $result); } - /** * testObserveForm method * @@ -887,15 +903,5 @@ class AjaxTest extends CakeTestCase { ); $this->assertTags($result, $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Ajax); - ClassRegistry::flush(); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/cache.test.php b/cake/tests/cases/libs/view/helpers/cache.test.php index b0fd41a46..f6e9b081e 100644 --- a/cake/tests/cases/libs/view/helpers/cache.test.php +++ b/cake/tests/cases/libs/view/helpers/cache.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * CacheHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -29,26 +29,34 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { } App::import('Core', array('Controller', 'Model', 'View')); App::import('Helper', 'Cache'); - /** - * Test Cache Helper + * TestCacheHelper class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class TestCacheHelper extends CacheHelper { - } - /** - * Test Cache Helper + * CacheTestController class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class CacheTestController extends Controller { +/** + * helpers property + * + * @var array + * @access public + */ var $helpers = array('Html', 'Cache'); - +/** + * cache_parsing method + * + * @access public + * @return void + */ function cache_parsing() { $this->viewPath = 'posts'; $this->layout = 'cache_layout'; @@ -56,11 +64,10 @@ class CacheTestController extends Controller { $this->set('superman', 'clark kent'); } } - /** - * Cache Helper Test Case + * CacheHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class CacheHelperTest extends CakeTestCase { @@ -76,7 +83,6 @@ class CacheHelperTest extends CakeTestCase { Configure::write('Cache.check', true); Configure::write('Cache.disable', false); } - /** * Start Case - switch view paths * @@ -87,10 +93,29 @@ class CacheHelperTest extends CakeTestCase { $this->_viewPaths = Configure::read('viewPaths'); Configure::write('viewPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views'. DS)); } - +/** + * End Case - restore view Paths + * + * @access public + * @return void + */ + function endCase() { + Configure::write('viewPaths', $this->_viewPaths); + } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Cache); + } /** * test cache parsing with no cake:nocache tags in view file. * + * @access public + * @return void */ function testLayoutCacheParsingNoTagsInView() { $this->Controller->cache_parsing(); @@ -113,10 +138,11 @@ class CacheHelperTest extends CakeTestCase { @unlink($filename); } - /** * Test cache parsing with cake:nocache tags in view file. * + * @access public + * @return void */ function testLayoutCacheParsingWithTagsInView() { $this->Controller->cache_parsing(); @@ -238,23 +264,5 @@ class CacheHelperTest extends CakeTestCase { @unlink($filename); } */ -/** - * End Case - restore view Paths - * - * @access public - * @return void - */ - function endCase() { - Configure::write('viewPaths', $this->_viewPaths); - } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Cache); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index 9123fb368..12764a2c0 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * FormHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -127,6 +127,12 @@ class Contact extends CakeTestModel { */ var $hasAndBelongsToMany = array('ContactTag' => array('with' => 'ContactTagsContact')); } +/** + * ContactTagsContact class + * + * @package cake + * @subpackage cake.tests.cases.libs.view.helpers + */ class ContactTagsContact extends CakeTestModel { /** * useTable property @@ -164,8 +170,13 @@ class ContactTagsContact extends CakeTestModel { $this->_schema = $schema; } } - -Class ContactNonStandardPk extends Contact { +/** + * ContactNonStandardPk class + * + * @package cake + * @subpackage cake.tests.cases.libs.view.helpers + */ +class ContactNonStandardPk extends Contact { /** * primaryKey property * @@ -567,9 +578,9 @@ class TestMail extends CakeTestModel { var $name = 'TestMail'; } /** - * Short description for class. + * FormHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class FormHelperTest extends CakeTestCase { @@ -617,6 +628,25 @@ class FormHelperTest extends CakeTestCase { Configure::write('Security.salt', 'foo!'); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + ClassRegistry::removeObject('view'); + ClassRegistry::removeObject('Contact'); + ClassRegistry::removeObject('ContactNonStandardPk'); + ClassRegistry::removeObject('ContactTag'); + ClassRegistry::removeObject('OpenidUrl'); + ClassRegistry::removeObject('UserForm'); + ClassRegistry::removeObject('ValidateItem'); + ClassRegistry::removeObject('ValidateUser'); + ClassRegistry::removeObject('ValidateProfile'); + unset($this->Form->Html, $this->Form, $this->Controller, $this->View); + Configure::write('Security.salt', $this->oldSalt); + } /** * testFormCreateWithSecurity method * @@ -723,7 +753,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * Tests correct generation of text fields for double and float fields * @@ -786,14 +815,13 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testFormSecurityMultipleSubmitButtons * * test form submit generation and ensure that _Token is only created on end() * * @return void - **/ + */ function testFormSecurityMultipleSubmitButtons() { $key = 'testKey'; $this->Form->params['_Token']['key'] = $key; @@ -828,7 +856,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testFormSecurityMultipleInputFields method * @@ -962,7 +989,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testFormSecuredInput method * @@ -2631,7 +2657,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testNestedSelect method * @@ -2694,7 +2719,6 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - /** * testSelectMultiple method * @@ -5071,7 +5095,12 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } - +/** + * testBrokenness method + * + * @access public + * @return void + */ function testBrokenness() { /* * #4 This test has two parents and four children. By default (as of r7117) both @@ -5154,25 +5183,5 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - ClassRegistry::removeObject('view'); - ClassRegistry::removeObject('Contact'); - ClassRegistry::removeObject('ContactNonStandardPk'); - ClassRegistry::removeObject('ContactTag'); - ClassRegistry::removeObject('OpenidUrl'); - ClassRegistry::removeObject('UserForm'); - ClassRegistry::removeObject('ValidateItem'); - ClassRegistry::removeObject('ValidateUser'); - ClassRegistry::removeObject('ValidateProfile'); - unset($this->Form->Html, $this->Form, $this->Controller, $this->View); - Configure::write('Security.salt', $this->oldSalt); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/html.test.php b/cake/tests/cases/libs/view/helpers/html.test.php index 286a96646..57f3a9c9b 100644 --- a/cake/tests/cases/libs/view/helpers/html.test.php +++ b/cake/tests/cases/libs/view/helpers/html.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * HtmlHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -73,6 +73,15 @@ class HtmlHelperTest extends CakeTestCase { $view =& new View(new TheHtmlTestController()); ClassRegistry::addObject('view', $view); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Html); + } /** * testDocType method * @@ -242,7 +251,7 @@ class HtmlHelperTest extends CakeTestCase { $result = $this->Html->image('cake.icon.gif'); $this->assertTags($result, array('img' => array('src' => 'preg:/img\/cake\.icon\.gif\?\d+/', 'alt' => ''))); - + $back = Configure::read('debug'); Configure::write('debug', 0); Configure::write('Asset.timestamp', 'force'); @@ -878,7 +887,6 @@ class HtmlHelperTest extends CakeTestCase { $result = $this->Html->div('class-name', '<text>', array(), true); $this->assertTags($result, array('div' => array('class' => 'class-name'), '<text>', '/div')); } - /** * testPara method * @@ -895,14 +903,5 @@ class HtmlHelperTest extends CakeTestCase { $result = $this->Html->para('class-name', '<text>', array(), true); $this->assertTags($result, array('p' => array('class' => 'class-name'), '<text>', '/p')); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Html); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/javascript.test.php b/cake/tests/cases/libs/view/helpers/javascript.test.php index 9bae09830..581f982c1 100644 --- a/cake/tests/cases/libs/view/helpers/javascript.test.php +++ b/cake/tests/cases/libs/view/helpers/javascript.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * JavascriptHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -88,7 +88,7 @@ class TestJavascriptObject { var $property2 = 2; } /** - * Short description for class. + * JavascriptTest class * * @package test_suite * @subpackage test_suite.cases.libs @@ -653,7 +653,7 @@ class JavascriptTest extends CakeTestCase { $result = $this->Javascript->escapeString('CakePHP: \'Rapid Development Framework\''); $expected = 'CakePHP: \\\'Rapid Development Framework\\\''; $this->assertEqual($result, $expected); - + $result = $this->Javascript->escapeString('my \\"string\\"'); $expected = 'my \\\"string\\\"'; $this->assertEqual($result, $expected); @@ -700,5 +700,4 @@ class JavascriptTest extends CakeTestCase { $this->Javascript->enabled = $old; } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/js.test.php b/cake/tests/cases/libs/view/helpers/js.test.php index 5f32b7596..6a56c1efc 100644 --- a/cake/tests/cases/libs/view/helpers/js.test.php +++ b/cake/tests/cases/libs/view/helpers/js.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * JsHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -27,16 +27,20 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } - -uses('view'.DS.'helpers'.DS.'app_helper', 'controller'.DS.'controller', 'model'.DS.'model', 'view'.DS.'helper', 'view'.DS.'helpers'.DS.'js'); - +uses( + 'view' . DS . 'helpers' . DS . 'app_helper', + 'controller' . DS . 'controller', + 'model' . DS . 'model', + 'view' . DS . 'helper', + 'view' . DS . 'helpers' . DS . 'js' + ); /** - * Short description for class. + * JsHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class JsTest extends UnitTestCase { +class JsHelperTest extends UnitTestCase { /** * skip method * @@ -65,5 +69,4 @@ class JsTest extends UnitTestCase { unset($this->Js); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/number.test.php b/cake/tests/cases/libs/view/helpers/number.test.php index 41346b2d4..ccc54540b 100644 --- a/cake/tests/cases/libs/view/helpers/number.test.php +++ b/cake/tests/cases/libs/view/helpers/number.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * NumberHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -26,12 +26,12 @@ */ App::import('Helper', 'Number'); /** - * Short description for class. + * NumberHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class NumberTest extends CakeTestCase { +class NumberHelperTest extends CakeTestCase { /** * helper property * @@ -39,7 +39,6 @@ class NumberTest extends CakeTestCase { * @access public */ var $helper = null; - /** * setUp method * @@ -49,6 +48,15 @@ class NumberTest extends CakeTestCase { function setUp() { $this->Number =& new NumberHelper(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Number); + } /** * testFormatAndCurrency method * @@ -101,7 +109,7 @@ class NumberTest extends CakeTestCase { $result = $this->Number->currency($value, '', array('thousands' =>' ', 'after' => '€', 'decimals' => ',', 'zero' => 'Gratuit')); $expected = '100 100 100,00€'; $this->assertEqual($expected, $result); - + } /** * testCurrencyPositive method @@ -136,7 +144,6 @@ class NumberTest extends CakeTestCase { $expected = '£100,100,100.00'; $this->assertEqual($expected, $result); } - /** * testCurrencyNegative method * @@ -363,16 +370,6 @@ class NumberTest extends CakeTestCase { - } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Number); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/paginator.test.php b/cake/tests/cases/libs/view/helpers/paginator.test.php index 80d1a5a0b..b544f12d0 100644 --- a/cake/tests/cases/libs/view/helpers/paginator.test.php +++ b/cake/tests/cases/libs/view/helpers/paginator.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * PaginatorHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -26,12 +26,12 @@ */ App::import('Helper', array('Html', 'Paginator', 'Form', 'Ajax', 'Javascript')); /** - * Short description for class. + * PaginatorHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class PaginatorTest extends CakeTestCase { +class PaginatorHelperTest extends CakeTestCase { /** * setUp method * @@ -69,6 +69,15 @@ class PaginatorTest extends CakeTestCase { Configure::write('Routing.admin', ''); Router::reload(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Paginator); + } /** * testHasPrevious method * @@ -842,14 +851,5 @@ class PaginatorTest extends CakeTestCase { $result = $this->Paginator->link('Page 3', array('page' => 3)); $this->assertPattern('/["\']\/issues\/index\/page:3["\']/', $result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Paginator); - } } -?> +?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/rss.test.php b/cake/tests/cases/libs/view/helpers/rss.test.php index a1eb5dc19..0f49570ff 100644 --- a/cake/tests/cases/libs/view/helpers/rss.test.php +++ b/cake/tests/cases/libs/view/helpers/rss.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * RssHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -26,12 +26,12 @@ */ App::import('Helper', array('Rss', 'Time')); /** - * Short description for class. + * RssHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class RssTest extends CakeTestCase { +class RssHelperTest extends CakeTestCase { /** * setUp method * @@ -301,7 +301,6 @@ class RssTest extends CakeTestCase { $expected = ''; $this->assertEqual($result, $expected); } - /** * testItem method * diff --git a/cake/tests/cases/libs/view/helpers/session.test.php b/cake/tests/cases/libs/view/helpers/session.test.php index 06a0643b5..270194bd3 100644 --- a/cake/tests/cases/libs/view/helpers/session.test.php +++ b/cake/tests/cases/libs/view/helpers/session.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SessionHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -30,9 +30,9 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { App::import('Core', array('Helper', 'AppHelper', 'Controller', 'View')); App::import('Helper', array('Session')); /** - * Short description for class. + * SessionHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class SessionHelperTest extends CakeTestCase { @@ -224,5 +224,4 @@ class SessionHelperTest extends CakeTestCase { //$this->assertFalse($this->Session->valid()); } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/text.test.php b/cake/tests/cases/libs/view/helpers/text.test.php index f83e079df..3360b8639 100644 --- a/cake/tests/cases/libs/view/helpers/text.test.php +++ b/cake/tests/cases/libs/view/helpers/text.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * TextHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -25,14 +25,13 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Helper', 'Text'); - /** - * Short description for class. + * TextHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class TextTest extends CakeTestCase { +class TextHelperTest extends CakeTestCase { /** * helper property * @@ -49,6 +48,15 @@ class TextTest extends CakeTestCase { function setUp() { $this->Text = new TextHelper(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Text); + } /** * testTruncate method * @@ -316,15 +324,5 @@ class TextTest extends CakeTestCase { $result = $this->Text->toList(array('Dusty', 'Lucky', 'Ned'), 'y'); $this->assertEqual($result, 'Dusty, Lucky y Ned'); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Text); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/time.test.php b/cake/tests/cases/libs/view/helpers/time.test.php index f9f744c0a..1a92336c8 100644 --- a/cake/tests/cases/libs/view/helpers/time.test.php +++ b/cake/tests/cases/libs/view/helpers/time.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * TimeHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -28,14 +28,13 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } App::import('Helper', 'Time'); - /** - * Time Test Case + * TimeHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ -class TimeTest extends CakeTestCase { +class TimeHelperTest extends CakeTestCase { /** * setUp method * @@ -45,6 +44,15 @@ class TimeTest extends CakeTestCase { function setUp() { $this->Time = new TimeHelper(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Time); + } /** * testToQuarter method * @@ -644,15 +652,5 @@ class TimeTest extends CakeTestCase { $expected = $this->Time->convert(strtotime('+1 hour'), $timezone); $this->assertEqual($result, $expected); } - -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Time); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/helpers/xml.test.php b/cake/tests/cases/libs/view/helpers/xml.test.php index 6ad2d5acf..514de9495 100644 --- a/cake/tests/cases/libs/view/helpers/xml.test.php +++ b/cake/tests/cases/libs/view/helpers/xml.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * XmlHelperTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -63,9 +63,9 @@ class TestXml extends Object { } } /** - * Short description for class. + * XmlHelperTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs.view.helpers */ class XmlHelperTest extends CakeTestCase { @@ -81,6 +81,15 @@ class XmlHelperTest extends CakeTestCase { $manager =& XmlManager::getInstance(); $manager->namespaces = array(); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->Xml); + } /** * testAddNamespace method * @@ -239,15 +248,5 @@ class XmlHelperTest extends CakeTestCase { $expected = '<?xml encoding="UTF-8" someOther="value" ?>'; $this->assertIdentical($result, $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->Xml); - } } - ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/theme.test.php b/cake/tests/cases/libs/view/theme.test.php index 9681a38d4..eeb5dd883 100644 --- a/cake/tests/cases/libs/view/theme.test.php +++ b/cake/tests/cases/libs/view/theme.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ThemeViewTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -25,6 +25,7 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', array('Theme', 'Controller')); + if (!class_exists('ErrorHandler')) { App::import('Core', array('Error')); } @@ -126,11 +127,10 @@ class TestThemeView extends ThemeView { return $error; } } - /** - * Short description for class. + * ThemeViewTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ThemeViewTest extends CakeTestCase { @@ -148,6 +148,17 @@ class ThemeViewTest extends CakeTestCase { $this->PostsController->index(); $this->ThemeView = new ThemeView($this->PostsController); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->ThemeView); + unset($this->PostsController); + unset($this->Controller); + } /** * testPluginGetTemplate method * @@ -260,16 +271,5 @@ class ThemeViewTest extends CakeTestCase { $this->assertPattern("/Missing Layout/", $expected); $this->assertPattern("/views(\/|\\\)themed(\/|\\\)my_theme(\/|\\\)layouts(\/|\\\)whatever.ctp/", $expected); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->ThemeView); - unset($this->PostsController); - unset($this->Controller); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/view/view.test.php b/cake/tests/cases/libs/view/view.test.php index eaf07f564..a3bc87803 100644 --- a/cake/tests/cases/libs/view/view.test.php +++ b/cake/tests/cases/libs/view/view.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ViewTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -25,6 +25,7 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', array('View', 'Controller')); + if (!class_exists('ErrorHandler')) { App::import('Core', array('Error')); } @@ -189,13 +190,11 @@ class TestAfterHelper extends Helper { $View->output .= 'modified in the afterlife'; } } - Mock::generate('Helper', 'CallbackMockHelper'); - /** - * Short description for class. + * ViewTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class ViewTest extends CakeTestCase { @@ -213,6 +212,17 @@ class ViewTest extends CakeTestCase { $this->PostsController->index(); $this->View = new View($this->PostsController); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + unset($this->View); + unset($this->PostsController); + unset($this->Controller); + } /** * testPluginGetTemplate method * @@ -736,16 +746,5 @@ class ViewTest extends CakeTestCase { $this->assertPattern("/<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=utf-8\" \/><title>/", $result); $this->assertPattern("/<div id=\"content\">posts index<\/div>/", $result); } -/** - * tearDown method - * - * @access public - * @return void - */ - function tearDown() { - unset($this->View); - unset($this->PostsController); - unset($this->Controller); - } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/xml.test.php b/cake/tests/cases/libs/xml.test.php index e9d619bfb..4ee508a68 100644 --- a/cake/tests/cases/libs/xml.test.php +++ b/cake/tests/cases/libs/xml.test.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * XmlTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Revision$ @@ -25,14 +25,19 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Core', 'Xml'); - /** - * Short description for class. + * XmlTest class * - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs */ class XmlTest extends CakeTestCase { +/** + * setUp method + * + * @access public + * @return void + */ function setUp() { $manager =& new XmlManager(); $manager->namespaces = array(); @@ -364,146 +369,139 @@ class XmlTest extends CakeTestCase { $result = $node->removeAttribute('missing'); $this->assertFalse($result); } + /* Not implemented yet */ + /* function testChildFilter() { + $input = array( + array( + 'Project' => array('id' => 1, 'title' => null, 'client_id' => 1, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), + 'Industry' => array('id' => 1, 'name' => 'Financial'), + 'BusinessSolution' => array(array('id' => 6, 'name' => 'Convert Sales')), + 'MediaType' => array( + array('id' => 15, 'name' => 'Print'), + array('id' => 7, 'name' => 'Web Demo'), + array('id' => 6, 'name' => 'CD-ROM') + ) + ), + array( + 'Project' => array('id' => 2, 'title' => null, 'client_id' => 2, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), + 'Industry' => array('id' => 2, 'name' => 'Education'), + 'BusinessSolution' => array( + array('id' => 4, 'name' => 'Build Relationship'), + array('id' => 6, 'name' => 'Convert Sales') + ), + 'MediaType' => array( + array('id' => 17, 'name' => 'Web'), + array('id' => 6, 'name' => 'CD-ROM') + ) + ) + ); -/* - * Not implemented yet - */ -// function testChildFilter() { -// $input = array( -// array( -// 'Project' => array('id' => 1, 'title' => null, 'client_id' => 1, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), -// 'Industry' => array('id' => 1, 'name' => 'Financial'), -// 'BusinessSolution' => array(array('id' => 6, 'name' => 'Convert Sales')), -// 'MediaType' => array( -// array('id' => 15, 'name' => 'Print'), -// array('id' => 7, 'name' => 'Web Demo'), -// array('id' => 6, 'name' => 'CD-ROM') -// ) -// ), -// array( -// 'Project' => array('id' => 2, 'title' => null, 'client_id' => 2, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), -// 'Industry' => array('id' => 2, 'name' => 'Education'), -// 'BusinessSolution' => array( -// array('id' => 4, 'name' => 'Build Relationship'), -// array('id' => 6, 'name' => 'Convert Sales') -// ), -// 'MediaType' => array( -// array('id' => 17, 'name' => 'Web'), -// array('id' => 6, 'name' => 'CD-ROM') -// ) -// ) -// ); -// -// $xml = new Xml($input, array('format' => 'tags', 'tags' => array( -// 'MediaType' => array('value' => 'id', 'children' => false), -// 'JobType' => array('children' => array()), -// 'Industry' => array('children' => array('name')), -// 'show' => false -// ))); -// -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $expected = '<project><id>1</id><title /><client_id>1</client_id><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style><id /><name /></style><job_type><id>1</id><name>Touch Screen Kiosk</name></job_type><industry><name>Financial</name></industry><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>15</media_type><media_type>7</media_type><media_type>6</media_type></project><project><id>2</id><title /><client_id>2</client_id><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style><id /><name /></style><job_type><id>2</id><name>Awareness Campaign</name></job_type><industry><name>Education</name></industry><business_solution><id>4</id><name>Build Relationship</name></business_solution><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>17</media_type><media_type>6</media_type></project>'; -// $this->assertEqual($expected, $result); -// } + $xml = new Xml($input, array('format' => 'tags', 'tags' => array( + 'MediaType' => array('value' => 'id', 'children' => false), + 'JobType' => array('children' => array()), + 'Industry' => array('children' => array('name')), + 'show' => false + ))); -/* - * Broken due to a Set class issue - */ -// function testMixedArray() { -// $input = array('OptionGroup' => array( -// array('name' => 'OptA', 'id' => 12, 'OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6'), -// array('name' => 'OptB', 'id' => 12, 'OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') -// )); -// $expected = '<option_group><name>OptA</name><id>12</id><option_group>OptA 1</option_group><option_group>OptA 2</option_group><option_group>OptA 3</option_group><option_group>OptA 4</option_group><option_group>OptA 5</option_group><option_group>OptA 6</option_group></option_group><option_group><name>OptB</name><id>12</id><option_group>OptB 1</option_group><option_group>OptB 2</option_group><option_group>OptB 3</option_group><option_group>OptB 4</option_group><option_group>OptB 5</option_group><option_group>OptB 6</option_group></option_group>'; -// $xml = new Xml($input, array('format' => 'tags')); -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $this->assertEqual($expected, $result); -// } + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $expected = '<project><id>1</id><title /><client_id>1</client_id><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style><id /><name /></style><job_type><id>1</id><name>Touch Screen Kiosk</name></job_type><industry><name>Financial</name></industry><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>15</media_type><media_type>7</media_type><media_type>6</media_type></project><project><id>2</id><title /><client_id>2</client_id><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style><id /><name /></style><job_type><id>2</id><name>Awareness Campaign</name></job_type><industry><name>Education</name></industry><business_solution><id>4</id><name>Build Relationship</name></business_solution><business_solution><id>6</id><name>Convert Sales</name></business_solution><media_type>17</media_type><media_type>6</media_type></project>'; + $this->assertEqual($expected, $result); + } */ -// function testMixedNestedArray() { -// $input = array( -// 'OptionA' => array( -// 'name' => 'OptA', -// 'id' => 12, -// 'opt' => array('OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6') -// ), -// 'OptionB' => array( -// 'name' => 'OptB', -// 'id' => 12, -// 'opt' => array('OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') -// ) -// ); -// $expected = '<option_a><name>OptA</name><id>12</id><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_a><option_b><name>OptB</name><id>12</id><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_b>'; -// $xml = new Xml($input, array('format' => 'tags')); -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $this->assertEqual($expected, $result); -// } + /* Broken due to a Set class issue */ + /* function testMixedArray() { + $input = array('OptionGroup' => array( + array('name' => 'OptA', 'id' => 12, 'OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6'), + array('name' => 'OptB', 'id' => 12, 'OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') + )); + $expected = '<option_group><name>OptA</name><id>12</id><option_group>OptA 1</option_group><option_group>OptA 2</option_group><option_group>OptA 3</option_group><option_group>OptA 4</option_group><option_group>OptA 5</option_group><option_group>OptA 6</option_group></option_group><option_group><name>OptB</name><id>12</id><option_group>OptB 1</option_group><option_group>OptB 2</option_group><option_group>OptB 3</option_group><option_group>OptB 4</option_group><option_group>OptB 5</option_group><option_group>OptB 6</option_group></option_group>'; + $xml = new Xml($input, array('format' => 'tags')); + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $this->assertEqual($expected, $result); + } */ -// function testMixedArrayAttributes() { -// $input = array('OptionGroup' => array( -// array( -// 'name' => 'OptA', -// 'id' => 12, -// array('opt' => 'OptA 1'), -// array('opt' => 'OptA 2'), -// array('opt' => 'OptA 3'), -// array('opt' => 'OptA 4'), -// array('opt' => 'OptA 5'), -// array('opt' => 'OptA 6') -// ), -// array( -// 'name' => 'OptB', -// 'id' => 12, -// array('opt' => 'OptB 1'), -// array('opt' => 'OptB 2'), -// array('opt' => 'OptB 3'), -// array('opt' => 'OptB 4'), -// array('opt' => 'OptB 5'), -// array('opt' => 'OptB 6') -// ) -// )); -// $expected = '<option_group name="OptA" id="12"><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_group><option_group name="OptB" id="12"><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_group>'; -// -// $options = array('tags' => array('option_group' => array('attributes' => array('id', 'name')))); -// $xml = new Xml($input, $options); -// $result = $xml->toString(false); -// -// $this->assertEqual($expected, $result); -// } + /* function testMixedNestedArray() { + $input = array( + 'OptionA' => array( + 'name' => 'OptA', + 'id' => 12, + 'opt' => array('OptA 1', 'OptA 2', 'OptA 3', 'OptA 4', 'OptA 5', 'OptA 6') + ), + 'OptionB' => array( + 'name' => 'OptB', + 'id' => 12, + 'opt' => array('OptB 1', 'OptB 2', 'OptB 3', 'OptB 4', 'OptB 5', 'OptB 6') + ) + ); + $expected = '<option_a><name>OptA</name><id>12</id><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_a><option_b><name>OptB</name><id>12</id><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_b>'; + $xml = new Xml($input, array('format' => 'tags')); + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $this->assertEqual($expected, $result); + } */ -/* - * Not implemented yet - */ -// function testTagMap() { -// $input = array( -// array( -// 'Project' => array('id' => 1, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), -// 'Industry' => array('id' => 1, 'name' => 'Financial') -// ), -// array( -// 'Project' => array('id' => 2, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), -// 'Style' => array('id' => null, 'name' => null), -// 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), -// 'Industry' => array('id' => 2, 'name' => 'Education'), -// ) -// ); -// $expected = '<project id="1"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style id=""><name /></style><jobtype id="1">Touch Screen Kiosk</jobtype><industry id="1"><name>Financial</name></industry></project><project id="2"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style id=""><name /></style><jobtype id="2">Awareness Campaign</jobtype><industry id="2"><name>Education</name></industry></project>'; -// -// $xml = new Xml($input, array('tags' => array( -// 'Project' => array('attributes' => array('id')), -// 'style' => array('attributes' => array('id')), -// 'JobType' => array('name' => 'jobtype', 'attributes' => array('id'), 'value' => 'name'), -// 'Industry' => array('attributes' => array('id')) -// ))); -// $result = $xml->toString(array('header' => false, 'cdata' => false)); -// $this->assertEqual($expected, $result); -// } + /* function testMixedArrayAttributes() { + $input = array('OptionGroup' => array( + array( + 'name' => 'OptA', + 'id' => 12, + array('opt' => 'OptA 1'), + array('opt' => 'OptA 2'), + array('opt' => 'OptA 3'), + array('opt' => 'OptA 4'), + array('opt' => 'OptA 5'), + array('opt' => 'OptA 6') + ), + array( + 'name' => 'OptB', + 'id' => 12, + array('opt' => 'OptB 1'), + array('opt' => 'OptB 2'), + array('opt' => 'OptB 3'), + array('opt' => 'OptB 4'), + array('opt' => 'OptB 5'), + array('opt' => 'OptB 6') + ) + )); + $expected = '<option_group name="OptA" id="12"><opt>OptA 1</opt><opt>OptA 2</opt><opt>OptA 3</opt><opt>OptA 4</opt><opt>OptA 5</opt><opt>OptA 6</opt></option_group><option_group name="OptB" id="12"><opt>OptB 1</opt><opt>OptB 2</opt><opt>OptB 3</opt><opt>OptB 4</opt><opt>OptB 5</opt><opt>OptB 6</opt></option_group>'; + + $options = array('tags' => array('option_group' => array('attributes' => array('id', 'name')))); + $xml = new Xml($input, $options); + $result = $xml->toString(false); + + $this->assertEqual($expected, $result); + } */ + + /* Not implemented yet */ + /* function testTagMap() { + $input = array( + array( + 'Project' => array('id' => 1, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 1, 'industry_id' => 1, 'modified' => null, 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 1, 'name' => 'Touch Screen Kiosk'), + 'Industry' => array('id' => 1, 'name' => 'Financial') + ), + array( + 'Project' => array('id' => 2, 'title' => null, 'show' => 1, 'is_spotlight' => null, 'style_id' => 0, 'job_type_id' => 2, 'industry_id' => 2, 'modified' => '2007-11-26 14:48:36', 'created' => null), + 'Style' => array('id' => null, 'name' => null), + 'JobType' => array('id' => 2, 'name' => 'Awareness Campaign'), + 'Industry' => array('id' => 2, 'name' => 'Education'), + ) + ); + $expected = '<project id="1"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>1</job_type_id><industry_id>1</industry_id><modified /><created /><style id=""><name /></style><jobtype id="1">Touch Screen Kiosk</jobtype><industry id="1"><name>Financial</name></industry></project><project id="2"><title /><show>1</show><is_spotlight /><style_id>0</style_id><job_type_id>2</job_type_id><industry_id>2</industry_id><modified>2007-11-26 14:48:36</modified><created /><style id=""><name /></style><jobtype id="2">Awareness Campaign</jobtype><industry id="2"><name>Education</name></industry></project>'; + + $xml = new Xml($input, array('tags' => array( + 'Project' => array('attributes' => array('id')), + 'style' => array('attributes' => array('id')), + 'JobType' => array('name' => 'jobtype', 'attributes' => array('id'), 'value' => 'name'), + 'Industry' => array('attributes' => array('id')) + ))); + $result = $xml->toString(array('header' => false, 'cdata' => false)); + $this->assertEqual($expected, $result); + } */ /** * testAllCData method * @@ -530,18 +528,15 @@ class XmlTest extends CakeTestCase { $result = $xml->toString(array('header' => false, 'cdata' => true)); $this->assertEqual($expected, $result); } + /* PHP-native Unicode support pending */ + /* function testConvertEntities() { + $input = array('project' => 'écît'); + $xml = new Xml($input); -/* - * PHP-native Unicode support pending - */ -// function testConvertEntities() { -// $input = array('project' => 'écît'); -// $xml = new Xml($input); -// -// $result = $xml->toString(array('header' => false, 'cdata' => false, 'convertEntities' => true)); -// $expected = '<project>écît</project>'; -// $this->assertEqual($result, $expected); -// } + $result = $xml->toString(array('header' => false, 'cdata' => false, 'convertEntities' => true)); + $expected = '<project>écît</project>'; + $this->assertEqual($result, $expected); + } */ /** * testWhitespace method * @@ -973,8 +968,12 @@ class XmlTest extends CakeTestCase { $this->assertEqual($result, $expected); } - - +/** + * testAppend method + * + * @access public + * @return void + */ function testAppend() { $parentNode = new XmlNode('ourParentNode'); $parentNode->append( new XmlNode('ourChildNode')); @@ -990,8 +989,12 @@ class XmlTest extends CakeTestCase { $this->expectError(); $parentNode->append($parentNode); } - - +/** + * testNamespacing method + * + * @access public + * @return void + */ function testNamespacing() { $node = new Xml('<xml></xml>'); $node->addNamespace('cake', 'http://cakephp.org'); @@ -1008,7 +1011,12 @@ class XmlTest extends CakeTestCase { $node->addNamespace('cake', 'http://cakephp.org'); $this->assertEqual($node->toString(), '<xml xmlns:cake="http://cakephp.org" />'); } - +/** + * testCamelize method + * + * @access public + * @return void + */ function testCamelize() { $xmlString = '<methodCall><methodName>examples.getStateName</methodName>' . '<params><param><value><i4>41</i4></value></param></params></methodCall>'; @@ -1029,7 +1037,12 @@ class XmlTest extends CakeTestCase { 'Param' => array('Value' => array('i4' => 41))))); $this->assertEqual($expected, $Xml->toArray()); } - +/** + * testNumericDataHandling method + * + * @access public + * @return void + */ function testNumericDataHandling() { $data = '<xml><data>012345</data></xml>'; @@ -1044,5 +1057,4 @@ class XmlTest extends CakeTestCase { $this->assertEqual($result->value, '012345'); } } - ?> \ No newline at end of file diff --git a/cake/tests/fixtures/account_fixture.php b/cake/tests/fixtures/account_fixture.php index 3825d84b1..5bd0e28c4 100644 --- a/cake/tests/fixtures/account_fixture.php +++ b/cake/tests/fixtures/account_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AccountFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aco_action_fixture.php b/cake/tests/fixtures/aco_action_fixture.php index 80481f4a5..2c35d5fe6 100644 --- a/cake/tests/fixtures/aco_action_fixture.php +++ b/cake/tests/fixtures/aco_action_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AcoActionFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aco_fixture.php b/cake/tests/fixtures/aco_fixture.php index 8af60f808..316925e81 100644 --- a/cake/tests/fixtures/aco_fixture.php +++ b/cake/tests/fixtures/aco_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AcoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aco_two_fixture.php b/cake/tests/fixtures/aco_two_fixture.php index f24d56621..f139c9266 100644 --- a/cake/tests/fixtures/aco_two_fixture.php +++ b/cake/tests/fixtures/aco_two_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AcoTwoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/advertisement_fixture.php b/cake/tests/fixtures/advertisement_fixture.php index 080539bf5..f5062336a 100644 --- a/cake/tests/fixtures/advertisement_fixture.php +++ b/cake/tests/fixtures/advertisement_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AdvertisementFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/another_article_fixture.php b/cake/tests/fixtures/another_article_fixture.php index a2b48796f..ec3d19c0c 100644 --- a/cake/tests/fixtures/another_article_fixture.php +++ b/cake/tests/fixtures/another_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AnotherArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/apple_fixture.php b/cake/tests/fixtures/apple_fixture.php index b5cf7ec7d..d8d3e1250 100644 --- a/cake/tests/fixtures/apple_fixture.php +++ b/cake/tests/fixtures/apple_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AppleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aro_fixture.php b/cake/tests/fixtures/aro_fixture.php index e3846bd8d..96ae59828 100644 --- a/cake/tests/fixtures/aro_fixture.php +++ b/cake/tests/fixtures/aro_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AroFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aro_two_fixture.php b/cake/tests/fixtures/aro_two_fixture.php index 31f76dd46..a61d35c0b 100644 --- a/cake/tests/fixtures/aro_two_fixture.php +++ b/cake/tests/fixtures/aro_two_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AroTwoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aros_aco_fixture.php b/cake/tests/fixtures/aros_aco_fixture.php index abe1250ad..be181c6fb 100644 --- a/cake/tests/fixtures/aros_aco_fixture.php +++ b/cake/tests/fixtures/aros_aco_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArosAcoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/aros_aco_two_fixture.php b/cake/tests/fixtures/aros_aco_two_fixture.php index df6925fb0..74866e5fe 100644 --- a/cake/tests/fixtures/aros_aco_two_fixture.php +++ b/cake/tests/fixtures/aros_aco_two_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArosAcoTwoFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/article_featured_fixture.php b/cake/tests/fixtures/article_featured_fixture.php index de5ff45fa..67b967499 100644 --- a/cake/tests/fixtures/article_featured_fixture.php +++ b/cake/tests/fixtures/article_featured_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticleFeaturedFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/article_featureds_tags_fixture.php b/cake/tests/fixtures/article_featureds_tags_fixture.php index 45bc2aed6..e1ac130f6 100644 --- a/cake/tests/fixtures/article_featureds_tags_fixture.php +++ b/cake/tests/fixtures/article_featureds_tags_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticleFeaturedsTagsFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/article_fixture.php b/cake/tests/fixtures/article_fixture.php index 3e499b255..fe2721d74 100644 --- a/cake/tests/fixtures/article_fixture.php +++ b/cake/tests/fixtures/article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/articles_tag_fixture.php b/cake/tests/fixtures/articles_tag_fixture.php index d78dd521f..a19bcd142 100644 --- a/cake/tests/fixtures/articles_tag_fixture.php +++ b/cake/tests/fixtures/articles_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ArticlesTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/attachment_fixture.php b/cake/tests/fixtures/attachment_fixture.php index b48bc0d19..de0d8b492 100644 --- a/cake/tests/fixtures/attachment_fixture.php +++ b/cake/tests/fixtures/attachment_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AttachmentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/auth_user_custom_field_fixture.php b/cake/tests/fixtures/auth_user_custom_field_fixture.php index 9618d6c1e..ebc2c3f29 100644 --- a/cake/tests/fixtures/auth_user_custom_field_fixture.php +++ b/cake/tests/fixtures/auth_user_custom_field_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.1.8013 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AuthUserCustomFieldFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/auth_user_fixture.php b/cake/tests/fixtures/auth_user_fixture.php index dba79d42e..d16c7759e 100644 --- a/cake/tests/fixtures/auth_user_fixture.php +++ b/cake/tests/fixtures/auth_user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AuthUserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/author_fixture.php b/cake/tests/fixtures/author_fixture.php index 2144d5970..96ee0ea44 100644 --- a/cake/tests/fixtures/author_fixture.php +++ b/cake/tests/fixtures/author_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class AuthorFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/basket_fixture.php b/cake/tests/fixtures/basket_fixture.php index 8fd3326fe..c20014ff3 100644 --- a/cake/tests/fixtures/basket_fixture.php +++ b/cake/tests/fixtures/basket_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BasketFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/bid_fixture.php b/cake/tests/fixtures/bid_fixture.php index 2b3dde78f..9b118cca8 100644 --- a/cake/tests/fixtures/bid_fixture.php +++ b/cake/tests/fixtures/bid_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BidFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/binary_test_fixture.php b/cake/tests/fixtures/binary_test_fixture.php index 819b38de0..b9c09cbe2 100644 --- a/cake/tests/fixtures/binary_test_fixture.php +++ b/cake/tests/fixtures/binary_test_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BinaryTestFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/book_fixture.php b/cake/tests/fixtures/book_fixture.php index fd958420b..823408c8f 100644 --- a/cake/tests/fixtures/book_fixture.php +++ b/cake/tests/fixtures/book_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7198 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class BookFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/cache_test_model_fixture.php b/cake/tests/fixtures/cache_test_model_fixture.php index 09449cf99..ff4f855c0 100644 --- a/cake/tests/fixtures/cache_test_model_fixture.php +++ b/cake/tests/fixtures/cache_test_model_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CacheTestModelFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/callback_fixture.php b/cake/tests/fixtures/callback_fixture.php index c62e27465..6ef3d1eb5 100644 --- a/cake/tests/fixtures/callback_fixture.php +++ b/cake/tests/fixtures/callback_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CallbackFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/category_fixture.php b/cake/tests/fixtures/category_fixture.php index b6abdb50f..5cb04f106 100644 --- a/cake/tests/fixtures/category_fixture.php +++ b/cake/tests/fixtures/category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/category_thread_fixture.php b/cake/tests/fixtures/category_thread_fixture.php index 04e00f1bd..5da10d7d8 100644 --- a/cake/tests/fixtures/category_thread_fixture.php +++ b/cake/tests/fixtures/category_thread_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CategoryThreadFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/cd_fixture.php b/cake/tests/fixtures/cd_fixture.php index a639e13e9..16b74f565 100644 --- a/cake/tests/fixtures/cd_fixture.php +++ b/cake/tests/fixtures/cd_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7198 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CdFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/comment_fixture.php b/cake/tests/fixtures/comment_fixture.php index 3c563102b..b2283c9af 100644 --- a/cake/tests/fixtures/comment_fixture.php +++ b/cake/tests/fixtures/comment_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CommentFixture extends CakeTestFixture { @@ -60,12 +60,12 @@ class CommentFixture extends CakeTestFixture { * @access public */ var $records = array( - array('id' => 1, 'article_id' => 1, 'user_id' => 2, 'comment' => 'First Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:45:23', 'updated' => '2007-03-18 10:47:31'), - array('id' => 2, 'article_id' => 1, 'user_id' => 4, 'comment' => 'Second Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:47:23', 'updated' => '2007-03-18 10:49:31'), - array('id' => 3, 'article_id' => 1, 'user_id' => 1, 'comment' => 'Third Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:49:23', 'updated' => '2007-03-18 10:51:31'), - array('id' => 4, 'article_id' => 1, 'user_id' => 1, 'comment' => 'Fourth Comment for First Article', 'published' => 'N', 'created' => '2007-03-18 10:51:23', 'updated' => '2007-03-18 10:53:31'), - array('id' => 5, 'article_id' => 2, 'user_id' => 1, 'comment' => 'First Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:53:23', 'updated' => '2007-03-18 10:55:31'), - array('id' => 6, 'article_id' => 2, 'user_id' => 2, 'comment' => 'Second Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:55:23', 'updated' => '2007-03-18 10:57:31') + array('article_id' => 1, 'user_id' => 2, 'comment' => 'First Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:45:23', 'updated' => '2007-03-18 10:47:31'), + array('article_id' => 1, 'user_id' => 4, 'comment' => 'Second Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:47:23', 'updated' => '2007-03-18 10:49:31'), + array('article_id' => 1, 'user_id' => 1, 'comment' => 'Third Comment for First Article', 'published' => 'Y', 'created' => '2007-03-18 10:49:23', 'updated' => '2007-03-18 10:51:31'), + array('article_id' => 1, 'user_id' => 1, 'comment' => 'Fourth Comment for First Article', 'published' => 'N', 'created' => '2007-03-18 10:51:23', 'updated' => '2007-03-18 10:53:31'), + array('article_id' => 2, 'user_id' => 1, 'comment' => 'First Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:53:23', 'updated' => '2007-03-18 10:55:31'), + array('article_id' => 2, 'user_id' => 2, 'comment' => 'Second Comment for Second Article', 'published' => 'Y', 'created' => '2007-03-18 10:55:23', 'updated' => '2007-03-18 10:57:31') ); } diff --git a/cake/tests/fixtures/content_account_fixture.php b/cake/tests/fixtures/content_account_fixture.php index 3677861c6..8eb7be738 100644 --- a/cake/tests/fixtures/content_account_fixture.php +++ b/cake/tests/fixtures/content_account_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ContentAccountFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/content_fixture.php b/cake/tests/fixtures/content_fixture.php index 1a9dc6c8f..b7e3131cd 100644 --- a/cake/tests/fixtures/content_fixture.php +++ b/cake/tests/fixtures/content_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ContentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/counter_cache_post_fixture.php b/cake/tests/fixtures/counter_cache_post_fixture.php index fdbb5a39c..eb9413072 100644 --- a/cake/tests/fixtures/counter_cache_post_fixture.php +++ b/cake/tests/fixtures/counter_cache_post_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision: 7848 $ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CounterCachePostFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/counter_cache_user_fixture.php b/cake/tests/fixtures/counter_cache_user_fixture.php index 3ee6ec954..ad592386a 100644 --- a/cake/tests/fixtures/counter_cache_user_fixture.php +++ b/cake/tests/fixtures/counter_cache_user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision: 7848 $ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class CounterCacheUserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/data_test_fixture.php b/cake/tests/fixtures/data_test_fixture.php index c596d2289..afed9aa9b 100644 --- a/cake/tests/fixtures/data_test_fixture.php +++ b/cake/tests/fixtures/data_test_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DataTestFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/datatype_fixture.php b/cake/tests/fixtures/datatype_fixture.php index 3aa2e5872..281da2f48 100644 --- a/cake/tests/fixtures/datatype_fixture.php +++ b/cake/tests/fixtures/datatype_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7026 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DatatypeFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/dependency_fixture.php b/cake/tests/fixtures/dependency_fixture.php index c15412ef5..8b1720798 100644 --- a/cake/tests/fixtures/dependency_fixture.php +++ b/cake/tests/fixtures/dependency_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879//Correct version number as needed** * @version $Revision$ @@ -29,7 +29,7 @@ * * Long description for file * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879//Correct version number as needed** */ diff --git a/cake/tests/fixtures/device_fixture.php b/cake/tests/fixtures/device_fixture.php index 6a48987b8..3b0638d15 100644 --- a/cake/tests/fixtures/device_fixture.php +++ b/cake/tests/fixtures/device_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DeviceFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/device_type_category_fixture.php b/cake/tests/fixtures/device_type_category_fixture.php index 1f02f0127..ee33c18b2 100644 --- a/cake/tests/fixtures/device_type_category_fixture.php +++ b/cake/tests/fixtures/device_type_category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DeviceTypeCategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/device_type_fixture.php b/cake/tests/fixtures/device_type_fixture.php index 884bf3581..cb8970a57 100644 --- a/cake/tests/fixtures/device_type_fixture.php +++ b/cake/tests/fixtures/device_type_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DeviceTypeFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/document_directory_fixture.php b/cake/tests/fixtures/document_directory_fixture.php index 3887c3a55..ff67dfa47 100644 --- a/cake/tests/fixtures/document_directory_fixture.php +++ b/cake/tests/fixtures/document_directory_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DocumentDirectoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/document_fixture.php b/cake/tests/fixtures/document_fixture.php index 1825bfbce..fde15f92d 100644 --- a/cake/tests/fixtures/document_fixture.php +++ b/cake/tests/fixtures/document_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class DocumentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/exterior_type_category_fixture.php b/cake/tests/fixtures/exterior_type_category_fixture.php index 8390c1f57..0905c3eca 100644 --- a/cake/tests/fixtures/exterior_type_category_fixture.php +++ b/cake/tests/fixtures/exterior_type_category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ExteriorTypeCategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/feature_set_fixture.php b/cake/tests/fixtures/feature_set_fixture.php index e27fc300c..533601535 100644 --- a/cake/tests/fixtures/feature_set_fixture.php +++ b/cake/tests/fixtures/feature_set_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FeatureSetFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/featured_fixture.php b/cake/tests/fixtures/featured_fixture.php index 35e449c2b..3f3e83372 100644 --- a/cake/tests/fixtures/featured_fixture.php +++ b/cake/tests/fixtures/featured_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FeaturedFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/film_file_fixture.php b/cake/tests/fixtures/film_file_fixture.php index 7d8b2be1a..1483947a3 100644 --- a/cake/tests/fixtures/film_file_fixture.php +++ b/cake/tests/fixtures/film_file_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FilmFileFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/flag_tree_fixture.php b/cake/tests/fixtures/flag_tree_fixture.php index 625d88732..d81744261 100644 --- a/cake/tests/fixtures/flag_tree_fixture.php +++ b/cake/tests/fixtures/flag_tree_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5331 * @version $Revision$ diff --git a/cake/tests/fixtures/fruit_fixture.php b/cake/tests/fixtures/fruit_fixture.php index 9a0329d36..bf90baea8 100644 --- a/cake/tests/fixtures/fruit_fixture.php +++ b/cake/tests/fixtures/fruit_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7953 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FruitFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/fruits_uuid_tag_fixture.php b/cake/tests/fixtures/fruits_uuid_tag_fixture.php index bc0fce628..7c84c660d 100644 --- a/cake/tests/fixtures/fruits_uuid_tag_fixture.php +++ b/cake/tests/fixtures/fruits_uuid_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7953 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class FruitsUuidTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/home_fixture.php b/cake/tests/fixtures/home_fixture.php index 9abe255f4..f88b8f7b0 100644 --- a/cake/tests/fixtures/home_fixture.php +++ b/cake/tests/fixtures/home_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class HomeFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/image_fixture.php b/cake/tests/fixtures/image_fixture.php index 787193eac..e30862fc9 100644 --- a/cake/tests/fixtures/image_fixture.php +++ b/cake/tests/fixtures/image_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ImageFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/item_fixture.php b/cake/tests/fixtures/item_fixture.php index bf6d40ef7..1602fb698 100644 --- a/cake/tests/fixtures/item_fixture.php +++ b/cake/tests/fixtures/item_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ItemFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/items_portfolio_fixture.php b/cake/tests/fixtures/items_portfolio_fixture.php index df99f8261..fb7dd71bb 100644 --- a/cake/tests/fixtures/items_portfolio_fixture.php +++ b/cake/tests/fixtures/items_portfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ItemsPortfolioFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_a_b_fixture.php b/cake/tests/fixtures/join_a_b_fixture.php index 66276e99c..c1a5db5df 100644 --- a/cake/tests/fixtures/join_a_b_fixture.php +++ b/cake/tests/fixtures/join_a_b_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinABFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_a_c_fixture.php b/cake/tests/fixtures/join_a_c_fixture.php index 0c1094f95..2fc335b3e 100644 --- a/cake/tests/fixtures/join_a_c_fixture.php +++ b/cake/tests/fixtures/join_a_c_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinACFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_a_fixture.php b/cake/tests/fixtures/join_a_fixture.php index b05d3a709..a4401e452 100644 --- a/cake/tests/fixtures/join_a_fixture.php +++ b/cake/tests/fixtures/join_a_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinAFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_b_fixture.php b/cake/tests/fixtures/join_b_fixture.php index 47da00c4b..16294ce97 100644 --- a/cake/tests/fixtures/join_b_fixture.php +++ b/cake/tests/fixtures/join_b_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinBFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_c_fixture.php b/cake/tests/fixtures/join_c_fixture.php index c0d0d7f27..333f3e28b 100644 --- a/cake/tests/fixtures/join_c_fixture.php +++ b/cake/tests/fixtures/join_c_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6317 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinCFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/join_thing_fixture.php b/cake/tests/fixtures/join_thing_fixture.php index e0c9dd10e..59ebe680c 100644 --- a/cake/tests/fixtures/join_thing_fixture.php +++ b/cake/tests/fixtures/join_thing_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class JoinThingFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/message_fixture.php b/cake/tests/fixtures/message_fixture.php index f0153bd96..94b53d5ca 100644 --- a/cake/tests/fixtures/message_fixture.php +++ b/cake/tests/fixtures/message_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MessageFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_categories_my_products_fixture.php b/cake/tests/fixtures/my_categories_my_products_fixture.php index b3ef7a429..b570340fc 100644 --- a/cake/tests/fixtures/my_categories_my_products_fixture.php +++ b/cake/tests/fixtures/my_categories_my_products_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyCategoriesMyProductsFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_categories_my_users_fixture.php b/cake/tests/fixtures/my_categories_my_users_fixture.php index 0c559b1be..d708d8dc5 100644 --- a/cake/tests/fixtures/my_categories_my_users_fixture.php +++ b/cake/tests/fixtures/my_categories_my_users_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyCategoriesMyUsersFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_category_fixture.php b/cake/tests/fixtures/my_category_fixture.php index 3900ad2b3..c333890c3 100644 --- a/cake/tests/fixtures/my_category_fixture.php +++ b/cake/tests/fixtures/my_category_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyCategoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_product_fixture.php b/cake/tests/fixtures/my_product_fixture.php index 3d90bd83b..9e2f7948a 100644 --- a/cake/tests/fixtures/my_product_fixture.php +++ b/cake/tests/fixtures/my_product_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyProductFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/my_user_fixture.php b/cake/tests/fixtures/my_user_fixture.php index a10d73100..1806851a8 100644 --- a/cake/tests/fixtures/my_user_fixture.php +++ b/cake/tests/fixtures/my_user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class MyUserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/node_fixture.php b/cake/tests/fixtures/node_fixture.php index 24b9e1bd6..a75ac25ae 100644 --- a/cake/tests/fixtures/node_fixture.php +++ b/cake/tests/fixtures/node_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879 //Correct version number as needed** * @version $Revision$ @@ -29,7 +29,7 @@ * * Long description for file * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6879 //Correct version number as needed** */ diff --git a/cake/tests/fixtures/number_tree_fixture.php b/cake/tests/fixtures/number_tree_fixture.php index 5b2ac33a5..4e1b973e8 100644 --- a/cake/tests/fixtures/number_tree_fixture.php +++ b/cake/tests/fixtures/number_tree_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5331 * @version $Revision$ diff --git a/cake/tests/fixtures/numeric_article_fixture.php b/cake/tests/fixtures/numeric_article_fixture.php index e6f69bf0a..44fdce11c 100644 --- a/cake/tests/fixtures/numeric_article_fixture.php +++ b/cake/tests/fixtures/numeric_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class NumericArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/overall_favorite_fixture.php b/cake/tests/fixtures/overall_favorite_fixture.php index b27f5b681..b36ba1b44 100644 --- a/cake/tests/fixtures/overall_favorite_fixture.php +++ b/cake/tests/fixtures/overall_favorite_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7198 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class OverallFavoriteFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/person_fixture.php b/cake/tests/fixtures/person_fixture.php index 795dff586..160befaeb 100644 --- a/cake/tests/fixtures/person_fixture.php +++ b/cake/tests/fixtures/person_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PersonFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/portfolio_fixture.php b/cake/tests/fixtures/portfolio_fixture.php index 68ce2f9eb..7b4bcb584 100644 --- a/cake/tests/fixtures/portfolio_fixture.php +++ b/cake/tests/fixtures/portfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PortfolioFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/post_fixture.php b/cake/tests/fixtures/post_fixture.php index d0b352ba0..9277517ed 100644 --- a/cake/tests/fixtures/post_fixture.php +++ b/cake/tests/fixtures/post_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PostFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/posts_tag_fixture.php b/cake/tests/fixtures/posts_tag_fixture.php index f748f4ee5..2c4ae6c7f 100644 --- a/cake/tests/fixtures/posts_tag_fixture.php +++ b/cake/tests/fixtures/posts_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PostsTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/primary_model_fixture.php b/cake/tests/fixtures/primary_model_fixture.php index 0345a6dbf..8c0b3e7bc 100644 --- a/cake/tests/fixtures/primary_model_fixture.php +++ b/cake/tests/fixtures/primary_model_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class PrimaryModelFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/product_fixture.php b/cake/tests/fixtures/product_fixture.php index b3bfdc3bb..9355030eb 100644 --- a/cake/tests/fixtures/product_fixture.php +++ b/cake/tests/fixtures/product_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Rev$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ProductFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/project_fixture.php b/cake/tests/fixtures/project_fixture.php index b2cd02879..6f48b05b8 100644 --- a/cake/tests/fixtures/project_fixture.php +++ b/cake/tests/fixtures/project_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ProjectFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/sample_fixture.php b/cake/tests/fixtures/sample_fixture.php index 8561a9b88..87448938a 100644 --- a/cake/tests/fixtures/sample_fixture.php +++ b/cake/tests/fixtures/sample_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SampleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/secondary_model_fixture.php b/cake/tests/fixtures/secondary_model_fixture.php index e73049eb6..8c7ccfc3a 100644 --- a/cake/tests/fixtures/secondary_model_fixture.php +++ b/cake/tests/fixtures/secondary_model_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SecondaryModelFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/session_fixture.php b/cake/tests/fixtures/session_fixture.php index ec843ed1a..1dc3c751a 100644 --- a/cake/tests/fixtures/session_fixture.php +++ b/cake/tests/fixtures/session_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Rev$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SessionFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/something_else_fixture.php b/cake/tests/fixtures/something_else_fixture.php index d83d618b4..7b6dbd2cd 100644 --- a/cake/tests/fixtures/something_else_fixture.php +++ b/cake/tests/fixtures/something_else_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SomethingElseFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/something_fixture.php b/cake/tests/fixtures/something_fixture.php index a4625bff9..cecfb3f9d 100644 --- a/cake/tests/fixtures/something_fixture.php +++ b/cake/tests/fixtures/something_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SomethingFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/stories_tag_fixture.php b/cake/tests/fixtures/stories_tag_fixture.php index 9b5ecd3b6..b39566abb 100644 --- a/cake/tests/fixtures/stories_tag_fixture.php +++ b/cake/tests/fixtures/stories_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class StoriesTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/story_fixture.php b/cake/tests/fixtures/story_fixture.php index 9a0940127..c8e90de6d 100644 --- a/cake/tests/fixtures/story_fixture.php +++ b/cake/tests/fixtures/story_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class StoryFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/syfile_fixture.php b/cake/tests/fixtures/syfile_fixture.php index a9ff72bc6..8e5a075ad 100644 --- a/cake/tests/fixtures/syfile_fixture.php +++ b/cake/tests/fixtures/syfile_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class SyfileFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/tag_fixture.php b/cake/tests/fixtures/tag_fixture.php index e37ee676d..afc205e57 100644 --- a/cake/tests/fixtures/tag_fixture.php +++ b/cake/tests/fixtures/tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/test_plugin_article_fixture.php b/cake/tests/fixtures/test_plugin_article_fixture.php index 1d9d71ab8..148fea15d 100644 --- a/cake/tests/fixtures/test_plugin_article_fixture.php +++ b/cake/tests/fixtures/test_plugin_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 7660 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TestPluginArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/test_plugin_comment_fixture.php b/cake/tests/fixtures/test_plugin_comment_fixture.php index 1df50f191..847d2ce4b 100644 --- a/cake/tests/fixtures/test_plugin_comment_fixture.php +++ b/cake/tests/fixtures/test_plugin_comment_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 7660 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TestPluginCommentFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/the_paper_monkies_fixture.php b/cake/tests/fixtures/the_paper_monkies_fixture.php index 95a4d2b55..f8efce2db 100644 --- a/cake/tests/fixtures/the_paper_monkies_fixture.php +++ b/cake/tests/fixtures/the_paper_monkies_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ThePaperMonkiesFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/thread_fixture.php b/cake/tests/fixtures/thread_fixture.php index 7dff2320a..118aa0ff2 100644 --- a/cake/tests/fixtures/thread_fixture.php +++ b/cake/tests/fixtures/thread_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class ThreadFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translate_article_fixture.php b/cake/tests/fixtures/translate_article_fixture.php index d5c4d8c8e..549872c34 100644 --- a/cake/tests/fixtures/translate_article_fixture.php +++ b/cake/tests/fixtures/translate_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslateArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translate_fixture.php b/cake/tests/fixtures/translate_fixture.php index b70dde9b2..17b97a956 100644 --- a/cake/tests/fixtures/translate_fixture.php +++ b/cake/tests/fixtures/translate_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslateFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translate_table_fixture.php b/cake/tests/fixtures/translate_table_fixture.php index 09638db8d..1a645e375 100644 --- a/cake/tests/fixtures/translate_table_fixture.php +++ b/cake/tests/fixtures/translate_table_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslateTableFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translated_article_fixture.php b/cake/tests/fixtures/translated_article_fixture.php index 10662ca2f..bce536975 100644 --- a/cake/tests/fixtures/translated_article_fixture.php +++ b/cake/tests/fixtures/translated_article_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslatedArticleFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/translated_item_fixture.php b/cake/tests/fixtures/translated_item_fixture.php index 7ca94c392..f8b93ce8a 100644 --- a/cake/tests/fixtures/translated_item_fixture.php +++ b/cake/tests/fixtures/translated_item_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.5669 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class TranslatedItemFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/unconventional_tree_fixture.php b/cake/tests/fixtures/unconventional_tree_fixture.php index 0fd236737..87b517842 100644 --- a/cake/tests/fixtures/unconventional_tree_fixture.php +++ b/cake/tests/fixtures/unconventional_tree_fixture.php @@ -14,7 +14,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7879 * @version $Revision$ diff --git a/cake/tests/fixtures/underscore_field_fixture.php b/cake/tests/fixtures/underscore_field_fixture.php index a5f09e6e1..c87ace540 100644 --- a/cake/tests/fixtures/underscore_field_fixture.php +++ b/cake/tests/fixtures/underscore_field_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ diff --git a/cake/tests/fixtures/user_fixture.php b/cake/tests/fixtures/user_fixture.php index 1299bd7b3..bb8478034 100644 --- a/cake/tests/fixtures/user_fixture.php +++ b/cake/tests/fixtures/user_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UserFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuid_fixture.php b/cake/tests/fixtures/uuid_fixture.php index a2d2946c7..12a0dd99f 100644 --- a/cake/tests/fixtures/uuid_fixture.php +++ b/cake/tests/fixtures/uuid_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.6700 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuidFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuid_tag_fixture.php b/cake/tests/fixtures/uuid_tag_fixture.php index 0eb3b2b88..0665b4649 100644 --- a/cake/tests/fixtures/uuid_tag_fixture.php +++ b/cake/tests/fixtures/uuid_tag_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7953 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuidTagFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuid_tree_fixture.php b/cake/tests/fixtures/uuid_tree_fixture.php index 129767284..6cc36c43b 100644 --- a/cake/tests/fixtures/uuid_tree_fixture.php +++ b/cake/tests/fixtures/uuid_tree_fixture.php @@ -14,7 +14,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.7984 * @version $Revision$ diff --git a/cake/tests/fixtures/uuiditem_fixture.php b/cake/tests/fixtures/uuiditem_fixture.php index 26cbe667e..bbc9b0592 100644 --- a/cake/tests/fixtures/uuiditem_fixture.php +++ b/cake/tests/fixtures/uuiditem_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuiditemFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php b/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php index db83d322b..c3c961282 100644 --- a/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php +++ b/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuiditemsUuidportfolioFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php b/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php index 08d20d4b5..9938db735 100644 --- a/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php +++ b/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php @@ -1,5 +1,5 @@ <?php -/* SVN FILE: $Id:$ */ +/* SVN FILE: $Id$ */ /** * Short description for file. * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuiditemsUuidportfolioNumericidFixture extends CakeTestFixture { diff --git a/cake/tests/fixtures/uuidportfolio_fixture.php b/cake/tests/fixtures/uuidportfolio_fixture.php index abdb25184..96c65d978 100644 --- a/cake/tests/fixtures/uuidportfolio_fixture.php +++ b/cake/tests/fixtures/uuidportfolio_fixture.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures * @since CakePHP(tm) v 1.2.0.4667 * @version $Revision$ @@ -27,7 +27,7 @@ /** * Short description for class. * - * @package cake.tests + * @package cake * @subpackage cake.tests.fixtures */ class UuidportfolioFixture extends CakeTestFixture { diff --git a/cake/tests/groups/acl.group.php b/cake/tests/groups/acl.group.php index 25598425e..7dad05ff2 100644 --- a/cake/tests/groups/acl.group.php +++ b/cake/tests/groups/acl.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AclAndAuthGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AclAndAuthGroupTest - * - * This test group will run the Acl and Auth tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AclAndAuthGroupTest class * + * This test group will run the Acl and Auth tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AclAndAuthGroupTest extends GroupTest { * @var string 'Acl and Auth Tests' * @access public */ - var $label = 'Acl and Auth Tests'; + var $label = 'Acl and Auth'; /** * AclAndAuthGroupTest method * @@ -57,4 +52,4 @@ class AclAndAuthGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'controller' . DS . 'components' . DS . 'auth'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/cache.group.php b/cake/tests/groups/cache.group.php index 74d8bfb1a..fd7060909 100644 --- a/cake/tests/groups/cache.group.php +++ b/cake/tests/groups/cache.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCacheEnginesGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCacheEngines - * - * This test group will run all the Cache class test and all core cache engine tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCacheEnginesGroupTest class * + * This test group will run all the Cache class test and all core cache engine tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCacheEnginesGroupTest extends GroupTest { * @var string 'All core cache engines' * @access public */ - var $label = 'All core cache engines'; + var $label = 'Cache and all CacheEngines'; /** * AllCacheEnginesGroupTest method * @@ -56,4 +51,4 @@ class AllCacheEnginesGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'cache'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/components.group.php b/cake/tests/groups/components.group.php index a2e4a60da..ececd9021 100644 --- a/cake/tests/groups/components.group.php +++ b/cake/tests/groups/components.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreComponentsGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreHelpersGroupTest - * - * This test group will run all tests in the cases/libs/controller/components directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreComponentsGroupTest class * + * This test group will run all tests in the cases/libs/controller/components directory. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreComponentsGroupTest extends GroupTest { * @var string 'All core components' * @access public */ - var $label = 'All core components'; + var $label = 'All Components'; /** * AllCoreComponentsGroupTest method * @@ -55,4 +50,4 @@ class AllCoreComponentsGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'controller' . DS . 'components'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/configure.group.php b/cake/tests/groups/configure.group.php index f07652a15..e1e8f35fd 100644 --- a/cake/tests/groups/configure.group.php +++ b/cake/tests/groups/configure.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ConfigureGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** ConfigureGroupTest - * - * This test group will run all test for the configure and loader. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * ConfigureGroupTest class * + * This test group will run all test for the configure and loader. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class ConfigureGroupTest extends GroupTest { * @var string 'Configure, Loader, ClassRegistry Tests' * @access public */ - var $label = 'Configure, Loader, ClassRegistry Tests'; + var $label = 'Configure, App and ClassRegistry'; /** * ConfigureGroupTest method * @@ -56,4 +51,4 @@ class ConfigureGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'class_registry'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/console.group.php b/cake/tests/groups/console.group.php index 4e2e8188b..42391d114 100644 --- a/cake/tests/groups/console.group.php +++ b/cake/tests/groups/console.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ConsoleGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllConsoleGroupTest - * - * This test group will run all console tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllConsoleGroupTest class * + * This test group will run all console tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllConsoleGroupTest extends GroupTest { * @var string 'All core cache engines' * @access public */ - var $label = 'All console tests'; + var $label = 'ShellDispatcher, Shell and all Tasks'; /** * AllConsoleGroupTest method * diff --git a/cake/tests/groups/helpers.group.php b/cake/tests/groups/helpers.group.php index fe8ebab04..6dac7623b 100644 --- a/cake/tests/groups/helpers.group.php +++ b/cake/tests/groups/helpers.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreHelpersGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreHelpersGroupTest - * - * This test group will run all test in the cases/libs/view/helpers directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreHelpersGroupTest class * + * This test group will run all test in the cases/libs/view/helpers directory. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreHelpersGroupTest extends GroupTest { * @var string 'All core helpers' * @access public */ - var $label = 'All core helpers'; + var $label = 'All Helpers'; /** * AllCoreHelpersGroupTest method * @@ -56,4 +51,4 @@ class AllCoreHelpersGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/lib.group.php b/cake/tests/groups/lib.group.php index e3fa8fa46..4e68dd3dc 100644 --- a/cake/tests/groups/lib.group.php +++ b/cake/tests/groups/lib.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreLibGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreLibGroupTest - * - * This test group will run all test in the cases/libs directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreLibGroupTest class * + * This test group will run all test in the cases/libs directory. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreLibGroupTest extends GroupTest { * @var string 'All cake/libs/* (Not yet implemented)' * @access public */ - var $label = 'All cake/libs/* (Not yet implemented)'; + var $label = 'All Libs'; /** * AllCoreLibGroupTest method * @@ -55,4 +50,4 @@ class AllCoreLibGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/lib_controller.group.php b/cake/tests/groups/lib_controller.group.php index 022c5d003..8a5afc07a 100644 --- a/cake/tests/groups/lib_controller.group.php +++ b/cake/tests/groups/lib_controller.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * LibControllerGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -25,9 +25,9 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * Short description for class. + * LibControllerGroupTest * - * @package cake.tests + * @package cake * @subpackage cake.tests.groups */ class LibControllerGroupTest extends GroupTest { @@ -37,7 +37,7 @@ class LibControllerGroupTest extends GroupTest { * @var string 'All cake/libs/controller/* (Not yet implemented)' * @access public */ - var $label = 'All cake/libs/controller/* (Not yet implemented)'; + var $label = 'All Controllers and Components'; /** * LibControllerGroupTest method * diff --git a/cake/tests/groups/model.group.php b/cake/tests/groups/model.group.php index bba4b7d7c..867b1ba50 100644 --- a/cake/tests/groups/model.group.php +++ b/cake/tests/groups/model.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * ModelGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.5517 * @version $Revision$ @@ -24,17 +24,12 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** ModelGroupTest +/** + * ModelGroupTest class * * This test group will run all model-layer and related tests, (behaviors, etc.) excluding * database driver-specific tests * - * @package cake.tests - * @subpackage cake.tests.groups - */ -/** - * ModelGroupTest class - * * @package cake * @subpackage cake.tests.groups */ @@ -45,7 +40,7 @@ class ModelGroupTest extends GroupTest { * @var string 'All model tests' * @access public */ - var $label = 'All model tests'; + var $label = 'Model, all Behaviors and Datasources'; /** * ModelGroupTest method * @@ -60,4 +55,4 @@ class ModelGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'model' . DS . 'behaviors'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/no_database.group.php b/cake/tests/groups/no_database.group.php index bc367eec2..f8071959f 100644 --- a/cake/tests/groups/no_database.group.php +++ b/cake/tests/groups/no_database.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreWithoutDatabaseGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,34 +24,29 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreLibGroupTest - * - * This test group will run all test in the cases/libs directory. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreWithOutDatabaseGroupTest class * + * This test group will run all test in the cases/libs directory. + * * @package cake * @subpackage cake.tests.groups */ -class AllCoreWithOutDatabaseGroupTest extends GroupTest { +class AllCoreWithoutDatabaseGroupTest extends GroupTest { /** * label property * * @var string 'All tests without a database connection' * @access public */ - var $label = 'All tests without a database connection'; + var $label = 'All Libs not requiring a database connection'; /** * AllCoreWithOutDatabaseGroupTest method * * @access public * @return void */ - function AllCoreWithOutDatabaseGroupTest() { + function AllCoreWithoutDatabaseGroupTest() { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'dispatcher'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'router'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'inflector'); @@ -61,4 +56,4 @@ class AllCoreWithOutDatabaseGroupTest extends GroupTest { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/routing_system.group.php b/cake/tests/groups/routing_system.group.php index 9104a9961..1afb59f12 100644 --- a/cake/tests/groups/routing_system.group.php +++ b/cake/tests/groups/routing_system.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * RoutingSystemGroupTest * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.5517 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** RoutingSystemGroupTest - * - * This test group will run all the Router/Dispatcher (and related) tests - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * RoutingSystemGroupTest class * + * This test group will run all the Router/Dispatcher (and related) tests + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class RoutingSystemGroupTest extends GroupTest { * @var string 'Routing system' * @access public */ - var $label = 'Routing system'; + var $label = 'Router and Dispatcher'; /** * RoutingSystemGroupTest method * @@ -56,4 +51,4 @@ class RoutingSystemGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'router'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/socket.group.php b/cake/tests/groups/socket.group.php index a1b1f6bc0..6645dcb24 100644 --- a/cake/tests/groups/socket.group.php +++ b/cake/tests/groups/socket.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * SocketGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2007, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** Socket and HttpSocket tests - * - * This test group will run socket class tests (socket, http_socket). - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * SocketGroupTest class * + * This test group will run socket class tests (socket, http_socket). + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class SocketGroupTest extends GroupTest { * @var string 'Socket and HttpSocket tests' * @access public */ - var $label = 'Socket and HttpSocket tests'; + var $label = 'Socket and HttpSocket'; /** * SocketGroupTest method * @@ -56,4 +51,4 @@ class SocketGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'http_socket'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/test_suite.group.php b/cake/tests/groups/test_suite.group.php index 3b7262f14..bccb39955 100644 --- a/cake/tests/groups/test_suite.group.php +++ b/cake/tests/groups/test_suite.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Test Suite Test Group + * TestSuiteGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2007, Cake Software Foundation, Inc. * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** Test Suite Test Group - * - * This test group will run the test cases for the test suite classes. - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * TestSuiteGroupTest class * + * This test group will run the test cases for the test suite classes. + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class TestSuiteGroupTest extends GroupTest { * @var string 'Socket and HttpSocket tests' * @access public */ - var $label = 'Test Suite Tests'; + var $label = 'TestSuite'; /** * TestSuiteGroupTest method * @@ -59,4 +54,4 @@ class TestSuiteGroupTest extends GroupTest { } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/view.group.php b/cake/tests/groups/view.group.php index c04276b40..5569e771f 100644 --- a/cake/tests/groups/view.group.php +++ b/cake/tests/groups/view.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * AllCoreViewsGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** AllCoreViewsGroupTest - * - * This test group will run view class tests (view, theme). - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * AllCoreViewsGroupTest class * + * This test group will run view class tests (view, theme) + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class AllCoreViewsGroupTest extends GroupTest { * @var string 'All core views' * @access public */ - var $label = 'All core views'; + var $label = 'View and ThemeView'; /** * AllCoreViewsGroupTest method * @@ -56,4 +51,4 @@ class AllCoreViewsGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'theme'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/groups/xml.group.php b/cake/tests/groups/xml.group.php index f746a85f3..95d945a48 100644 --- a/cake/tests/groups/xml.group.php +++ b/cake/tests/groups/xml.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Xml Group test. + * XmlGroupTest file * * Long description for file * @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.groups * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ @@ -24,16 +24,11 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -/** XmlGroupTest - * - * This test group will run view class tests (view, theme). - * - * @package cake.tests - * @subpackage cake.tests.groups - */ /** * XmlGroupTest class * + * This test group will run view class tests (view, theme). + * * @package cake * @subpackage cake.tests.groups */ @@ -44,7 +39,7 @@ class XmlGroupTest extends GroupTest { * @var string 'All core views' * @access public */ - var $label = 'All Xml based classes'; + var $label = 'Xml based classes (Xml, XmlHelper and RssHelper)'; /** * AllCoreViewsGroupTest method * @@ -57,4 +52,4 @@ class XmlGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers' . DS .'xml'); } } -?> +?> \ No newline at end of file diff --git a/cake/tests/test_app/controllers/tests_apps_controller.php b/cake/tests/test_app/controllers/tests_apps_controller.php index b9a8c3f18..4800490f5 100644 --- a/cake/tests/test_app/controllers/tests_apps_controller.php +++ b/cake/tests/test_app/controllers/tests_apps_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/controllers/tests_apps_posts_controller.php b/cake/tests/test_app/controllers/tests_apps_posts_controller.php index 27d0c4c19..e9b0d0464 100644 --- a/cake/tests/test_app/controllers/tests_apps_posts_controller.php +++ b/cake/tests/test_app/controllers/tests_apps_posts_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/models/behaviors/persister_one_behavior.php b/cake/tests/test_app/models/behaviors/persister_one_behavior.php new file mode 100644 index 000000000..63f5998a6 --- /dev/null +++ b/cake/tests/test_app/models/behaviors/persister_one_behavior.php @@ -0,0 +1,38 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Behavior for binding management. + * + * Behavior to simplify manipulating a model's bindings when doing a find operation + * + * PHP versions 4 and 5 + * + * CakePHP(tm) : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP(tm) v 1.2.0.5669 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +/** + * Behavior to allow for dynamic and atomic manipulation of a Model's associations used for a find call. Most useful for limiting + * the amount of associations and data returned. + * + * @package cake + * @subpackage cake.cake.console.libs + */ +class PersisterOneBehaviorBehavior extends ModelBehavior { + + +} +?> \ No newline at end of file diff --git a/cake/tests/test_app/models/behaviors/persister_two_behavior.php b/cake/tests/test_app/models/behaviors/persister_two_behavior.php new file mode 100644 index 000000000..c032fc3e2 --- /dev/null +++ b/cake/tests/test_app/models/behaviors/persister_two_behavior.php @@ -0,0 +1,38 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Behavior for binding management. + * + * Behavior to simplify manipulating a model's bindings when doing a find operation + * + * PHP versions 4 and 5 + * + * CakePHP(tm) : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP(tm) v 1.2.0.5669 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +/** + * Behavior to allow for dynamic and atomic manipulation of a Model's associations used for a find call. Most useful for limiting + * the amount of associations and data returned. + * + * @package cake + * @subpackage cake.cake.console.libs + */ +class PersisterTwoBehaviorBehavior extends ModelBehavior { + + +} +?> \ No newline at end of file diff --git a/cake/tests/test_app/models/persister_one.php b/cake/tests/test_app/models/persister_one.php new file mode 100644 index 000000000..76222829f --- /dev/null +++ b/cake/tests/test_app/models/persister_one.php @@ -0,0 +1,35 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Test App Comment Model + * + * + * + * PHP versions 4 and 5 + * + * CakePHP : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2006-2008, Cake Software Foundation, Inc. + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP v 1.2.0.7726 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +class PersisterOne extends AppModel { + var $useTable = 'posts'; + var $name = 'PersisterOne'; + + var $actsAs = array('PersisterOneBehavior'); + + var $hasMany = array('Comment'); +} +?> \ No newline at end of file diff --git a/cake/tests/test_app/models/persister_two.php b/cake/tests/test_app/models/persister_two.php new file mode 100644 index 000000000..4596f9479 --- /dev/null +++ b/cake/tests/test_app/models/persister_two.php @@ -0,0 +1,35 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * Test App Comment Model + * + * + * + * PHP versions 4 and 5 + * + * CakePHP : Rapid Development Framework (http://www.cakephp.org) + * Copyright 2006-2008, Cake Software Foundation, Inc. + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2006-2008, Cake Software Foundation, Inc. + * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project + * @package cake + * @subpackage cake.tests.test_app.models + * @since CakePHP v 1.2.0.7726 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +class PersisterTwo extends AppModel { + var $useTable = 'posts'; + var $name = 'PersisterTwo'; + + var $actsAs = array('PersisterOneBehavior'); + + var $hasMany = array('Comment'); +} +?> \ No newline at end of file diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php index aafb23b95..ab3cb7b22 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php index 4aea19621..6a80527d9 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php index 40d46886e..23a462bf9 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php index 7d6811db5..560e0702f 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php b/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php index 52eff57bf..565a4cd9a 100644 --- a/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php +++ b/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php index e556feef2..56ad96b9c 100644 --- a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php +++ b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php index e7fb2d61b..b6510715b 100644 --- a/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php +++ b/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.cases.libs * @since CakePHP(tm) v 1.2.0.5432 * @version $Rev$ diff --git a/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php b/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php index f5a7b532e..d4152137e 100644 --- a/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php +++ b/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.vendors.sample * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php b/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php index de1bb8f66..d363e9217 100644 --- a/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php +++ b/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php b/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php index b6fa6a85e..b5122b327 100644 --- a/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php +++ b/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.vendors * @since CakePHP(tm) v 1.2.0.7629 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php b/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php index 01d504683..9ec662708 100644 --- a/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php +++ b/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php b/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php index 3f91f3b33..084eee80e 100644 --- a/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php +++ b/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin.views.helpers * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php index 9f590db93..9e4b23fd3 100644 --- a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php +++ b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin_two.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php index 8bcb0e63a..57f09f3ee 100644 --- a/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php +++ b/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.plugins.test_plugin_two.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/Test/MyTest.php b/cake/tests/test_app/vendors/Test/MyTest.php index 6773aef9a..2705dffc2 100644 --- a/cake/tests/test_app/vendors/Test/MyTest.php +++ b/cake/tests/test_app/vendors/Test/MyTest.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.somename * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/Test/hello.php b/cake/tests/test_app/vendors/Test/hello.php index 72f983b00..d96fa7047 100644 --- a/cake/tests/test_app/vendors/Test/hello.php +++ b/cake/tests/test_app/vendors/Test/hello.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.Test * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php b/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php index 2fed84ac6..252c860d7 100644 --- a/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php +++ b/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.sample * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/shells/sample.php b/cake/tests/test_app/vendors/shells/sample.php index 7c115fa92..738c57911 100644 --- a/cake/tests/test_app/vendors/shells/sample.php +++ b/cake/tests/test_app/vendors/shells/sample.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.shells * @since CakePHP(tm) v 1.2.0.7871 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/somename/some.name.php b/cake/tests/test_app/vendors/somename/some.name.php index 65357c56d..442fabcd0 100644 --- a/cake/tests/test_app/vendors/somename/some.name.php +++ b/cake/tests/test_app/vendors/somename/some.name.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors.somename * @since CakePHP(tm) v 1.2.0.4206 * @version $Revision$ diff --git a/cake/tests/test_app/vendors/welcome.php b/cake/tests/test_app/vendors/welcome.php index 8f235ac5a..edb18261b 100644 --- a/cake/tests/test_app/vendors/welcome.php +++ b/cake/tests/test_app/vendors/welcome.php @@ -16,7 +16,7 @@ * @filesource * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests - * @package cake.tests + * @package cake * @subpackage cake.tests.test_app.vendors * @since CakePHP(tm) v 1.2.0.7629 * @version $Revision$ From fd7d6718a18a9480b8f82593fd719a580231c22c Mon Sep 17 00:00:00 2001 From: davidpersson <davidpersson@gmx.de> Date: Sat, 21 Mar 2009 23:55:39 +0000 Subject: [PATCH 25/67] Updating tests to not affect other ones when run from a group Adding NoCrossContamination group Shortening group class names Renaming lib_controller group Updating test imports to include the core AppController by default Some cosmetics git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8123 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/basics.test.php | 14 +- cake/tests/cases/console/cake.test.php | 11 +- cake/tests/cases/console/libs/shell.test.php | 5 +- cake/tests/cases/dispatcher.test.php | 35 +++- cake/tests/cases/libs/cache/apc.test.php | 7 +- cake/tests/cases/libs/cache/file.test.php | 17 +- cake/tests/cases/libs/cache/memcache.test.php | 12 +- cake/tests/cases/libs/cache/xcache.test.php | 7 +- cake/tests/cases/libs/cake_test_case.test.php | 7 +- .../cases/libs/code_coverage_manager.test.php | 2 +- cake/tests/cases/libs/configure.test.php | 8 +- .../cases/libs/controller/component.test.php | 25 ++- .../libs/controller/components/acl.test.php | 2 +- .../libs/controller/components/auth.test.php | 27 ++- .../libs/controller/components/email.test.php | 25 ++- .../controller/components/security.test.php | 4 +- .../controller/components/session.test.php | 20 +++ .../cases/libs/controller/controller.test.php | 6 +- .../libs/controller/pages_controller.test.php | 29 ++- cake/tests/cases/libs/debugger.test.php | 5 +- cake/tests/cases/libs/error.test.php | 88 ++++----- cake/tests/cases/libs/file.test.php | 2 +- cake/tests/cases/libs/flay.test.php | 4 +- cake/tests/cases/libs/folder.test.php | 2 +- cake/tests/cases/libs/i18n.test.php | 10 ++ cake/tests/cases/libs/inflector.test.php | 14 +- .../model/datasources/dbo/dbo_adodb.test.php | 3 +- .../model/datasources/dbo/dbo_mssql.test.php | 3 +- .../model/datasources/dbo/dbo_mysql.test.php | 2 +- .../model/datasources/dbo/dbo_mysqli.test.php | 2 +- .../model/datasources/dbo/dbo_oracle.test.php | 4 +- .../datasources/dbo/dbo_postgres.test.php | 2 +- .../model/datasources/dbo/dbo_sqlite.test.php | 2 +- cake/tests/cases/libs/model/model.test.php | 23 +-- cake/tests/cases/libs/model/models.php | 6 +- cake/tests/cases/libs/overloadable.test.php | 2 +- cake/tests/cases/libs/security.test.php | 5 + cake/tests/cases/libs/validation.test.php | 10 ++ .../cases/libs/view/helpers/html.test.php | 4 +- .../tests/cases/libs/view/helpers/js.test.php | 2 +- cake/tests/groups/cache.group.php | 10 +- cake/tests/groups/components.group.php | 10 +- cake/tests/groups/console.group.php | 8 +- ...troller.group.php => controller.group.php} | 8 +- cake/tests/groups/helpers.group.php | 10 +- cake/tests/groups/lib.group.php | 10 +- .../groups/no_cross_contamination.group.php | 71 ++++++++ cake/tests/groups/no_database.group.php | 10 +- cake/tests/groups/view.group.php | 10 +- cake/tests/groups/xml.group.php | 2 +- cake/tests/lib/cake_test_case.php | 168 ++++++++++++------ 51 files changed, 536 insertions(+), 239 deletions(-) rename cake/tests/groups/{lib_controller.group.php => controller.group.php} (90%) create mode 100644 cake/tests/groups/no_cross_contamination.group.php diff --git a/cake/tests/cases/basics.test.php b/cake/tests/cases/basics.test.php index 141473cde..3526a7ca2 100644 --- a/cake/tests/cases/basics.test.php +++ b/cake/tests/cases/basics.test.php @@ -40,7 +40,19 @@ class BasicsTest extends CakeTestCase { * @return void */ function setUp() { + $this->_localePaths = Configure::read('localePaths'); Configure::write('localePaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'locale')); + $this->_language = Configure::read('Config.language'); + } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('localePaths', $this->_localePaths); + Configure::write('Config.language', $this->_language); } /** * testHttpBase method @@ -119,7 +131,7 @@ class BasicsTest extends CakeTestCase { * @return void */ function testUses() { - $this->skipIf(class_exists('Security') || class_exists('Sanitize'), 'Security and/or Sanitize class already loaded'); + $this->skipIf(class_exists('Security') || class_exists('Sanitize'), '%s Security and/or Sanitize class already loaded'); $this->assertFalse(class_exists('Security')); $this->assertFalse(class_exists('Sanitize')); diff --git a/cake/tests/cases/console/cake.test.php b/cake/tests/cases/console/cake.test.php index e5e0af1e6..9ec2e57dd 100644 --- a/cake/tests/cases/console/cake.test.php +++ b/cake/tests/cases/console/cake.test.php @@ -123,10 +123,9 @@ class ShellDispatcherTest extends UnitTestCase { * @return void */ function setUp() { - if (!isset($this->pluginPaths)) { - $this->pluginPaths = Configure::read('pluginPaths'); - $this->shellPaths = Configure::read('shellPaths'); - } + $this->_pluginPaths = Configure::read('pluginPaths'); + $this->_shellPaths = Configure::read('shellPaths'); + Configure::write('pluginPaths', array( TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS )); @@ -142,8 +141,8 @@ class ShellDispatcherTest extends UnitTestCase { * @return void */ function tearDown() { - Configure::write('pluginPaths', $this->pluginPaths); - Configure::write('shellPaths', $this->shellPaths); + Configure::write('pluginPaths', $this->_pluginPaths); + Configure::write('shellPaths', $this->_shellPaths); } /** * testParseParams method diff --git a/cake/tests/cases/console/libs/shell.test.php b/cake/tests/cases/console/libs/shell.test.php index e19dbd7cb..bfd15a95b 100644 --- a/cake/tests/cases/console/libs/shell.test.php +++ b/cake/tests/cases/console/libs/shell.test.php @@ -78,7 +78,10 @@ class ShellTest extends CakeTestCase { * @var array * @access public */ - var $fixtures = array('core.post', 'core.comment'); + var $fixtures = array( + 'core.post', 'core.comment', 'core.article', 'core.user', + 'core.tag', 'core.articles_tag', 'core.attachment' + ); /** * setUp method * diff --git a/cake/tests/cases/dispatcher.test.php b/cake/tests/cases/dispatcher.test.php index 09a17b84e..0fcbfb3fb 100644 --- a/cake/tests/cases/dispatcher.test.php +++ b/cake/tests/cases/dispatcher.test.php @@ -24,8 +24,13 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -require_once CAKE.'dispatcher.php'; -App::import('Core', 'AppController'); +require_once CAKE . 'dispatcher.php'; + +if (!class_exists('AppController')) { + require_once LIBS . 'controller' . DS . 'app_controller.php'; +} elseif (!defined('APP_CONTROLLER_EXISTS')){ + define('APP_CONTROLLER_EXISTS', true); +} /** * TestDispatcher class * @@ -491,11 +496,23 @@ class DispatcherTest extends CakeTestCase { function setUp() { $this->_get = $_GET; $_GET = array(); + $this->_post = $_POST; + $this->_files = $_FILES; + $this->_server = $_SERVER; + + $this->_app = Configure::read('App'); Configure::write('App.base', false); Configure::write('App.baseUrl', false); Configure::write('App.dir', 'app'); Configure::write('App.webroot', 'webroot'); + + $this->_cache = Configure::read('Cache'); Configure::write('Cache.disable', true); + + $this->_vendorPaths = Configure::read('vendorPaths'); + $this->_pluginPaths = Configure::read('pluginPaths'); + $this->_viewPaths = Configure::read('viewPaths'); + $this->_debug = Configure::read('debug'); } /** * tearDown method @@ -505,6 +522,15 @@ class DispatcherTest extends CakeTestCase { */ function tearDown() { $_GET = $this->_get; + $_POST = $this->_post; + $_FILES = $this->_files; + $_SERVER = $this->_server; + Configure::write('App', $this->_app); + Configure::write('Cache', $this->_cache); + Configure::write('vendorPaths', $this->_vendorPaths); + Configure::write('pluginPaths', $this->_pluginPaths); + Configure::write('viewPaths', $this->_viewPaths); + Configure::write('debug', $this->_debug); } /** * testParseParamsWithoutZerosAndEmptyPost method @@ -626,8 +652,6 @@ class DispatcherTest extends CakeTestCase { $this->assertTrue(isset($result['url']['sleep'])); $this->assertTrue(isset($result['url']['coffee'])); $this->assertEqual($result['url']['coffee'], 'life'); - - $_GET = $this->_get; } /** * testFileUploadArrayStructure method @@ -854,8 +878,6 @@ class DispatcherTest extends CakeTestCase { ) ); $this->assertEqual($result['data'], $expected); - - $_FILES = array(); } /** * testGetUrl method @@ -1614,6 +1636,7 @@ class DispatcherTest extends CakeTestCase { * @return void */ function testChangingParamsFromBeforeFilter() { + $_SERVER['PHP_SELF'] = '/cake/repo/branches/1.2.x.x/index.php'; $Dispatcher =& new TestDispatcher(); $url = 'some_posts/index/param:value/param2:value2'; $controller = $Dispatcher->dispatch($url, array('return' => 1)); diff --git a/cake/tests/cases/libs/cache/apc.test.php b/cake/tests/cases/libs/cache/apc.test.php index dcee499f6..5dd30c502 100644 --- a/cake/tests/cases/libs/cache/apc.test.php +++ b/cake/tests/cases/libs/cache/apc.test.php @@ -45,7 +45,7 @@ class ApcEngineTest extends UnitTestCase { if (Cache::engine('Apc')) { $skip = false; } - $this->skipif($skip, 'Apc is not installed or configured properly'); + $this->skipIf($skip, '%s Apc is not installed or configured properly'); } /** * setUp method @@ -54,7 +54,9 @@ class ApcEngineTest extends UnitTestCase { * @return void */ function setUp() { - Cache::config('apc', array('engine'=>'Apc', 'prefix' => 'cake_')); + $this->_cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); + Cache::config('apc', array('engine' => 'Apc', 'prefix' => 'cake_')); } /** * tearDown method @@ -63,6 +65,7 @@ class ApcEngineTest extends UnitTestCase { * @return void */ function tearDown() { + Configure::write('Cache.disable', $this->_cacheDisable); Cache::config('default'); } /** diff --git a/cake/tests/cases/libs/cache/file.test.php b/cake/tests/cases/libs/cache/file.test.php index cc8e0fbc6..89ee671bc 100644 --- a/cake/tests/cases/libs/cache/file.test.php +++ b/cake/tests/cases/libs/cache/file.test.php @@ -45,23 +45,26 @@ class FileEngineTest extends CakeTestCase { */ var $config = array(); /** - * start method + * startCase method * * @access public * @return void */ - function start() { - $this->config = Cache::config('default'); - $settings = Cache::config('default', array('engine'=> 'File', 'path' => CACHE)); + function startCase() { + $this->_cacheDisable = Configure::read('Cache.disable'); + $this->_cacheConfig = Cache::config('default'); + Configure::write('Cache.disable', false); + Cache::config('default', array('engine' => 'File', 'path' => CACHE)); } /** - * end method + * endCase method * * @access public * @return void */ - function end() { - Cache::config('default', $this->config['settings']); + function endCase() { + Configure::write('Cache.disable', $this->_cacheDisable); + Cache::config('default', $this->_cacheConfig['settings']); } /** * testCacheDirChange method diff --git a/cake/tests/cases/libs/cache/memcache.test.php b/cake/tests/cases/libs/cache/memcache.test.php index 09d454739..8a48df86c 100644 --- a/cake/tests/cases/libs/cache/memcache.test.php +++ b/cake/tests/cases/libs/cache/memcache.test.php @@ -26,7 +26,8 @@ */ if (!class_exists('Cache')) { require LIBS . 'cache.php'; -}/** +} +/** * MemcacheEngineTest class * * @package cake @@ -50,7 +51,7 @@ class MemcacheEngineTest extends CakeTestCase { if (Cache::engine('Memcache')) { $skip = false; } - $this->skipIf($skip, 'Memcache is not installed or configured properly'); + $this->skipIf($skip, '%s Memcache is not installed or configured properly'); } /** * setUp method @@ -59,7 +60,9 @@ class MemcacheEngineTest extends CakeTestCase { * @return void */ function setUp() { - Cache::config('memcache', array('engine'=>'Memcache', 'prefix' => 'cake_')); + $this->_cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); + Cache::config('memcache', array('engine' => 'Memcache', 'prefix' => 'cake_')); } /** * tearDown method @@ -68,6 +71,7 @@ class MemcacheEngineTest extends CakeTestCase { * @return void */ function tearDown() { + Configure::write('Cache.disable', $this->_cacheDisable); Cache::config('default'); } /** @@ -107,7 +111,7 @@ class MemcacheEngineTest extends CakeTestCase { } } - if ($this->skipIf(!$available, 'Need memcache servers at ' . implode(', ', $servers) . ' to run this test')) { + if ($this->skipIf(!$available, '%s Need memcache servers at ' . implode(', ', $servers) . ' to run this test')) { return; } diff --git a/cake/tests/cases/libs/cache/xcache.test.php b/cake/tests/cases/libs/cache/xcache.test.php index 9a50a8757..842cbfa7b 100644 --- a/cake/tests/cases/libs/cache/xcache.test.php +++ b/cake/tests/cases/libs/cache/xcache.test.php @@ -45,7 +45,7 @@ class XcacheEngineTest extends UnitTestCase { if ($result = Cache::engine('Xcache')) { $skip = false; } - $this->skipif($skip, 'Xcache is not installed or configured properly'); + $this->skipIf($skip, '%s Xcache is not installed or configured properly'); } /** * setUp method @@ -54,7 +54,9 @@ class XcacheEngineTest extends UnitTestCase { * @return void */ function setUp() { - Cache::config('xcache', array('engine'=>'Xcache', 'prefix' => 'cake_')); + $this->_cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); + Cache::config('xcache', array('engine' => 'Xcache', 'prefix' => 'cake_')); } /** * tearDown method @@ -63,6 +65,7 @@ class XcacheEngineTest extends UnitTestCase { * @return void */ function tearDown() { + Configure::write('Cache.disable', $this->_cacheDisable); Cache::config('default'); } /** diff --git a/cake/tests/cases/libs/cake_test_case.test.php b/cake/tests/cases/libs/cake_test_case.test.php index bd1550bf6..399106bc6 100644 --- a/cake/tests/cases/libs/cake_test_case.test.php +++ b/cake/tests/cases/libs/cake_test_case.test.php @@ -25,7 +25,12 @@ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ App::import('Core', 'CakeTestCase'); -App::import('Core', 'AppController'); + +if (!class_exists('AppController')) { + require_once LIBS . 'controller' . DS . 'app_controller.php'; +} elseif (!defined('APP_CONTROLLER_EXISTS')) { + define('APP_CONTROLLER_EXISTS', true); +} Mock::generate('CakeHtmlReporter'); Mock::generate('CakeTestCase', 'CakeDispatcherMockTestCase'); diff --git a/cake/tests/cases/libs/code_coverage_manager.test.php b/cake/tests/cases/libs/code_coverage_manager.test.php index 842f83d0e..b7d67d05b 100644 --- a/cake/tests/cases/libs/code_coverage_manager.test.php +++ b/cake/tests/cases/libs/code_coverage_manager.test.php @@ -40,7 +40,7 @@ class CodeCoverageManagerTest extends CakeTestCase { * @access public */ function skip() { - $this->skipif (!extension_loaded('xdebug'), 'XDebug not installed'); + $this->skipIf(!extension_loaded('xdebug'), '%s XDebug not installed'); } /** * startTest Method diff --git a/cake/tests/cases/libs/configure.test.php b/cake/tests/cases/libs/configure.test.php index f5da1d324..21fe13c30 100644 --- a/cake/tests/cases/libs/configure.test.php +++ b/cake/tests/cases/libs/configure.test.php @@ -39,8 +39,10 @@ class ConfigureTest extends CakeTestCase { * @return void */ function setUp() { - parent::setUp(); + $this->_cacheDisable = Configure::read('Cache.disable'); Configure::write('Cache.disable', true); + + $this->_debug = Configure::read('debug'); } /** * tearDown method @@ -67,8 +69,8 @@ class ConfigureTest extends CakeTestCase { if (file_exists(TMP . 'cache' . DS . 'persistent' . DS . 'test.php')) { unlink(TMP . 'cache' . DS . 'persistent' . DS . 'test.php'); } - Configure::write('debug', 2); - parent::tearDown(); + Configure::write('debug', $this->_debug); + Configure::write('Cache.disable', $this->_cacheDisable); } /** * testListObjects method diff --git a/cake/tests/cases/libs/controller/component.test.php b/cake/tests/cases/libs/controller/component.test.php index 25b0d6fb6..cd99ec02c 100644 --- a/cake/tests/cases/libs/controller/component.test.php +++ b/cake/tests/cases/libs/controller/component.test.php @@ -62,9 +62,8 @@ if (!class_exists('AppController')) { * @access public */ var $components = array('Orange' => array('colour' => 'blood orange')); - } -} else if (!defined('APP_CONTROLLER_EXISTS')){ +} elseif (!defined('APP_CONTROLLER_EXISTS')){ define('APP_CONTROLLER_EXISTS', true); } /** @@ -281,10 +280,21 @@ class ComponentTest extends CakeTestCase { * @return void */ function setUp() { + $this->_pluginPaths = Configure::read('pluginPaths'); Configure::write('pluginPaths', array( TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'plugins' . DS )); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('pluginPaths', $this->_pluginPaths); + ClassRegistry::flush(); + } /** * testLoadComponents method * @@ -395,7 +405,9 @@ class ComponentTest extends CakeTestCase { * @return void */ function testComponentsWithParams() { - $this->skipIf(defined('APP_CONTROLLER_EXISTS'), 'Components with Params test will be skipped as it needs a non-existent AppController. As the an AppController class exists, this cannot be run.'); + if ($this->skipIf(defined('APP_CONTROLLER_EXISTS'), '%s Need a non-existent AppController')) { + return; + } $Controller =& new ComponentTestController(); $Controller->components = array('ParamTest' => array('test' => 'value', 'flag'), 'Apple'); @@ -475,11 +487,14 @@ class ComponentTest extends CakeTestCase { )); } /** - * test that SessionComponent doesn't get added if its already in the components array. + * Test that SessionComponent doesn't get added if its already in the components array. * * @return void - **/ + * @access public + */ function testDoubleLoadingOfSessionComponent() { + $this->skipIf(defined('APP_CONTROLLER_EXISTS'), '%s Need a non-existent AppController'); + $Controller =& new ComponentTestController(); $Controller->uses = array(); $Controller->components = array('Session'); diff --git a/cake/tests/cases/libs/controller/components/acl.test.php b/cake/tests/cases/libs/controller/components/acl.test.php index e651ebe0d..755d7ae19 100644 --- a/cake/tests/cases/libs/controller/components/acl.test.php +++ b/cake/tests/cases/libs/controller/components/acl.test.php @@ -27,7 +27,7 @@ if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) { define('CAKEPHP_UNIT_TEST_EXECUTION', 1); } -App::import(array('controller'.DS.'components'.DS.'acl', 'model'.DS.'db_acl')); +App::import(array('controller' .DS . 'components' . DS . 'acl', 'model' . DS . 'db_acl')); /** * AclNodeTwoTestBase class * diff --git a/cake/tests/cases/libs/controller/components/auth.test.php b/cake/tests/cases/libs/controller/components/auth.test.php index 76d4c97b0..f10eae7a7 100644 --- a/cake/tests/cases/libs/controller/components/auth.test.php +++ b/cake/tests/cases/libs/controller/components/auth.test.php @@ -25,10 +25,8 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import(array('controller' . DS . 'components' . DS .'auth', 'controller' . DS . 'components' . DS .'acl')); -App::import(array('controller'.DS.'components'.DS.'acl', 'model'.DS.'db_acl')); +App::import(array('controller' . DS . 'components' . DS . 'acl', 'model' . DS . 'db_acl')); App::import('Core', 'Xml'); - -Configure::write('Security.salt', 'JfIxfs2guVoUubWDYhG93b0qyJfIxfs2guwvniR2G0FgaC9mi'); /** * TestAuthComponent class * @@ -437,6 +435,13 @@ class AuthTest extends CakeTestCase { * @return void */ function startTest() { + $this->_server = $_SERVER; + $this->_env = $_ENV; + + $this->_securitySalt = Configure::read('Security.salt'); + Configure::write('Security.salt', 'JfIxfs2guVoUubWDYhG93b0qyJfIxfs2guwvniR2G0FgaC9mi'); + + $this->_acl = Configure::read('Acl'); Configure::write('Acl.database', 'test_suite'); Configure::write('Acl.classname', 'DbAcl'); @@ -444,17 +449,28 @@ class AuthTest extends CakeTestCase { $this->Controller->Component->init($this->Controller); ClassRegistry::addObject('view', new View($this->Controller)); + $this->Controller->Session->del('Auth'); $this->Controller->Session->del('Message.auth'); + + Router::reload(); + $this->initialized = true; } /** - * tearDown method + * endTest method * * @access public * @return void */ - function tearDown() { + function endTest() { + $_SERVER = $this->_server; + $_ENV = $this->_env; + Configure::write('Acl', $this->_acl); + Configure::write('Security.salt', $this->_securitySalt); + $this->Controller->Session->del('Auth'); + $this->Controller->Session->del('Message.auth'); + ClassRegistry::flush(); unset($this->Controller, $this->AuthUser); } /** @@ -578,7 +594,6 @@ class AuthTest extends CakeTestCase { $this->assertFalse($result); $this->assertTrue($this->Controller->Session->check('Message.auth')); - $this->Controller->params = Router::parse('auth_test/camelCase'); $result = $this->Controller->Auth->startup($this->Controller); $this->assertFalse($result); diff --git a/cake/tests/cases/libs/controller/components/email.test.php b/cake/tests/cases/libs/controller/components/email.test.php index bf42ad877..cfe806c06 100644 --- a/cake/tests/cases/libs/controller/components/email.test.php +++ b/cake/tests/cases/libs/controller/components/email.test.php @@ -24,7 +24,6 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -Configure::write('App.encoding', 'UTF-8'); App::import('Component', 'Email'); /** * EmailTestController class @@ -90,6 +89,9 @@ class EmailComponentTest extends CakeTestCase { * @return void */ function setUp() { + $this->_appEncoding = Configure::read('App.encoding'); + Configure::write('App.encoding', 'UTF-8'); + $this->Controller =& new EmailTestController(); restore_error_handler(); @@ -98,9 +100,24 @@ class EmailComponentTest extends CakeTestCase { $this->Controller->Email->initialize($this->Controller, array()); ClassRegistry::addObject('view', new View($this->Controller)); + + $this->_viewPaths = Configure::read('viewPaths'); Configure::write('viewPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views'. DS)); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('App.encoding', $this->_appEncoding); + Configure::write('viewPaths', $this->_viewPaths); + $this->Controller->Session->del('Message'); + restore_error_handler(); + ClassRegistry::flush(); + } /** * testBadSmtpSend method * @@ -119,7 +136,7 @@ class EmailComponentTest extends CakeTestCase { * @return void */ function testSmtpSend() { - if (!$this->skipIf(!@fsockopen('localhost', 25), 'No SMTP server running on localhost')) { + if (!$this->skipIf(!@fsockopen('localhost', 25), '%s No SMTP server running on localhost')) { return; } $this->Controller->Email->reset(); @@ -167,7 +184,7 @@ TEMPDOC; * @return void */ function testAuthenticatedSmtpSend() { - $this->skipIf(!@fsockopen('localhost', 25), 'No SMTP server running on localhost'); + $this->skipIf(!@fsockopen('localhost', 25), '%s No SMTP server running on localhost'); $this->Controller->Email->reset(); $this->Controller->Email->to = 'postmaster@localhost'; @@ -181,7 +198,7 @@ TEMPDOC; $this->Controller->Email->delivery = 'smtp'; $result = $this->Controller->Email->send('This is the body of the message'); $code = substr($this->Controller->Email->smtpError, 0, 3); - $this->skipIf(!$code, 'Authentication not enabled on server'); + $this->skipIf(!$code, '%s Authentication not enabled on server'); $this->assertTrue(!$result && $code == '535'); } /** diff --git a/cake/tests/cases/libs/controller/components/security.test.php b/cake/tests/cases/libs/controller/components/security.test.php index 8314a18a2..0ef3dc24c 100644 --- a/cake/tests/cases/libs/controller/components/security.test.php +++ b/cake/tests/cases/libs/controller/components/security.test.php @@ -141,7 +141,6 @@ class SecurityComponentTest extends CakeTestCase { $this->Controller->Component->init($this->Controller); $this->Controller->Security =& $this->Controller->TestSecurity; $this->Controller->Security->blackHoleCallback = 'fail'; - $this->oldSalt = Configure::read('Security.salt'); Configure::write('Security.salt', 'foo!'); } @@ -152,10 +151,11 @@ class SecurityComponentTest extends CakeTestCase { * @return void */ function tearDown() { + Configure::write('Security.salt', $this->oldSalt); + $this->Controller->Session->del('_Token'); unset($this->Controller->Security); unset($this->Controller->Component); unset($this->Controller); - Configure::write('Security.salt', $this->oldSalt); } /** * testStartup method diff --git a/cake/tests/cases/libs/controller/components/session.test.php b/cake/tests/cases/libs/controller/components/session.test.php index 1fe1f61e6..b79f043c9 100644 --- a/cake/tests/cases/libs/controller/components/session.test.php +++ b/cake/tests/cases/libs/controller/components/session.test.php @@ -81,6 +81,24 @@ class OrangeSessionTestController extends Controller { * @subpackage cake.tests.cases.libs.controller.components */ class SessionComponentTest extends CakeTestCase { +/** + * setUp method + * + * @access public + * @return void + */ + function setUp() { + $this->_session = Configure::read('Session'); + } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('Session', $this->_session); + } /** * testSessionAutoStart method * @@ -322,6 +340,8 @@ class SessionComponentTest extends CakeTestCase { $Session->setFlash('This is a test message', 'non_existing_layout'); $this->assertEqual($Session->read('Message.myFlash'), array('message' => 'This is a test message', 'layout' => 'default', 'params' => array())); + + $Session->del('Message'); } /** * testSessionId method diff --git a/cake/tests/cases/libs/controller/controller.test.php b/cake/tests/cases/libs/controller/controller.test.php index 5e16708a8..753717ec8 100644 --- a/cake/tests/cases/libs/controller/controller.test.php +++ b/cake/tests/cases/libs/controller/controller.test.php @@ -63,7 +63,7 @@ if (!class_exists('AppController')) { */ var $components = array('Cookie'); } -} else if (!defined('APP_CONTROLLER_EXISTS')) { +} elseif (!defined('APP_CONTROLLER_EXISTS')) { define('APP_CONTROLLER_EXISTS', true); } /** @@ -867,7 +867,9 @@ class ControllerTest extends CakeTestCase { * @return void */ function testMergeVars() { - $this->skipIf(defined('APP_CONTROLLER_EXISTS'), 'MergeVars will be skipped as it needs a non-existent AppController. As the an AppController class exists, this cannot be run.'); + if ($this->skipIf(defined('APP_CONTROLLER_EXISTS'), '%s Need a non-existent AppController')) { + return; + } $TestController =& new TestController(); $TestController->constructClasses(); diff --git a/cake/tests/cases/libs/controller/pages_controller.test.php b/cake/tests/cases/libs/controller/pages_controller.test.php index 6bb17a18e..66980e744 100644 --- a/cake/tests/cases/libs/controller/pages_controller.test.php +++ b/cake/tests/cases/libs/controller/pages_controller.test.php @@ -24,7 +24,12 @@ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ -App::import('Core', array('Controller', 'AppController', 'PagesController')); +if (!class_exists('AppController')) { + require_once LIBS . 'controller' . DS . 'app_controller.php'; +} elseif (!defined('APP_CONTROLLER_EXISTS')) { + define('APP_CONTROLLER_EXISTS', true); +} +App::import('Core', array('Controller', 'PagesController')); /** * PagesControllerTest class * @@ -32,6 +37,24 @@ App::import('Core', array('Controller', 'AppController', 'PagesController')); * @subpackage cake.tests.cases.libs.controller */ class PagesControllerTest extends CakeTestCase { +/** + * setUp method + * + * @access public + * @return void + */ + function setUp() { + $this->_viewPaths = Configure::read('viewPaths'); + } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('viewPaths', $this->_viewPaths); + } /** * testDisplay method * @@ -39,6 +62,10 @@ class PagesControllerTest extends CakeTestCase { * @return void */ function testDisplay() { + if ($this->skipIf(defined('APP_CONTROLLER_EXISTS'), '%s Need a non-existent AppController')) { + return; + } + Configure::write('viewPaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'views'. DS, TEST_CAKE_CORE_INCLUDE_PATH . 'libs' . DS . 'view' . DS)); $Pages =& new PagesController(); diff --git a/cake/tests/cases/libs/debugger.test.php b/cake/tests/cases/libs/debugger.test.php index 57f8b03dc..3efbb9465 100644 --- a/cake/tests/cases/libs/debugger.test.php +++ b/cake/tests/cases/libs/debugger.test.php @@ -218,15 +218,14 @@ class DebuggerTest extends CakeTestCase { Debugger::log('cool'); $result = file_get_contents(LOGS . 'debug.log'); - $this->assertPattern('/DebuggerTest::testLog/', $result); + $this->assertPattern('/DebuggerTest\:\:testLog/', $result); $this->assertPattern('/"cool"/', $result); unlink(TMP . 'logs' . DS . 'debug.log'); Debugger::log(array('whatever', 'here')); $result = file_get_contents(TMP . 'logs' . DS . 'debug.log'); - - $this->assertPattern('/DebuggerTest::testLog/', $result); + $this->assertPattern('/DebuggerTest\:\:testLog/', $result); $this->assertPattern('/array/', $result); $this->assertPattern('/"whatever",/', $result); $this->assertPattern('/"here"/', $result); diff --git a/cake/tests/cases/libs/error.test.php b/cake/tests/cases/libs/error.test.php index ef09072c0..e3d233e1e 100644 --- a/cake/tests/cases/libs/error.test.php +++ b/cake/tests/cases/libs/error.test.php @@ -95,48 +95,50 @@ class AuthBlueberryUser extends CakeTestModel { var $useTable = false; } if (!class_exists('AppController')) { -/** - * AppController class - * - * @package cake - * @subpackage cake.tests.cases.libs - */ -class AppController extends Controller { -/** - * components property - * - * @access public - * @return void - */ - var $components = array('Blueberry'); -/** - * beforeRender method - * - * @access public - * @return void - */ - function beforeRender() { - echo $this->Blueberry->testName; + /** + * AppController class + * + * @package cake + * @subpackage cake.tests.cases.libs + */ + class AppController extends Controller { + /** + * components property + * + * @access public + * @return void + */ + var $components = array('Blueberry'); + /** + * beforeRender method + * + * @access public + * @return void + */ + function beforeRender() { + echo $this->Blueberry->testName; + } + /** + * header method + * + * @access public + * @return void + */ + function header($header) { + echo $header; + } + /** + * _stop method + * + * @access public + * @return void + */ + function _stop($status = 0) { + echo 'Stopped with status: ' . $status; + } } -/** - * header method - * - * @access public - * @return void - */ - function header($header) { - echo $header; - } -/** - * _stop method - * - * @access public - * @return void - */ - function _stop($status = 0) { - echo 'Stopped with status: ' . $status; - } -} +} elseif (!defined('APP_CONTROLLER_EXISTS')){ + define('APP_CONTROLLER_EXISTS', true); } App::import('Core', array('Error', 'Controller')); /** @@ -224,7 +226,7 @@ class ErrorHandlerTest extends CakeTestCase { * @return void */ function skip() { - $this->skipif ((PHP_SAPI == 'cli'), 'TestErrorHandlerTest cannot be run from console'); + $this->skipIf(PHP_SAPI === 'cli', '%s Cannot be run from console'); } /** * testError method @@ -277,6 +279,8 @@ class ErrorHandlerTest extends CakeTestCase { * @return void */ function testMissingController() { + $this->skipIf(defined('APP_CONTROLLER_EXISTS'), '%s Need a non-existent AppController'); + ob_start(); $TestErrorHandler = new TestErrorHandler('missingController', array('className' => 'PostsController')); $result = ob_get_clean(); diff --git a/cake/tests/cases/libs/file.test.php b/cake/tests/cases/libs/file.test.php index 2daff0f20..f0d64a7bf 100644 --- a/cake/tests/cases/libs/file.test.php +++ b/cake/tests/cases/libs/file.test.php @@ -95,7 +95,7 @@ class FileTest extends CakeTestCase { $result = $this->File->Folder(); $this->assertIsA($result, 'Folder'); - $this->skipIf(DIRECTORY_SEPARATOR === '\\', 'File permissions tests not supported on Windows'); + $this->skipIf(DIRECTORY_SEPARATOR === '\\', '%s File permissions tests not supported on Windows'); $result = $this->File->perms(); $expecting = '0644'; $this->assertEqual($result, $expecting); diff --git a/cake/tests/cases/libs/flay.test.php b/cake/tests/cases/libs/flay.test.php index 2e8f8c639..79e55c95e 100644 --- a/cake/tests/cases/libs/flay.test.php +++ b/cake/tests/cases/libs/flay.test.php @@ -31,7 +31,7 @@ uses('flay'); * @package cake * @subpackage cake.tests.cases.libs */ -class FlayTest extends UnitTestCase { +class FlayTest extends CakeTestCase { /** * skip method * @@ -39,7 +39,7 @@ class FlayTest extends UnitTestCase { * @return void */ function skip() { - $this->skipif(true, 'FlayTest not implemented'); + $this->skipIf(true, '%s FlayTest not implemented'); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/folder.test.php b/cake/tests/cases/libs/folder.test.php index d9edfc83f..2e9bc4567 100644 --- a/cake/tests/cases/libs/folder.test.php +++ b/cake/tests/cases/libs/folder.test.php @@ -161,7 +161,7 @@ class FolderTest extends CakeTestCase { * @access public */ function testChmod() { - $this->skipIf(DIRECTORY_SEPARATOR === '\\', 'Folder permissions tests not supported on Windows'); + $this->skipIf(DIRECTORY_SEPARATOR === '\\', '%s Folder permissions tests not supported on Windows'); $path = TEST_CAKE_CORE_INCLUDE_PATH . 'console' . DS . 'libs' . DS . 'templates' . DS . 'skel'; $Folder =& new Folder($path); diff --git a/cake/tests/cases/libs/i18n.test.php b/cake/tests/cases/libs/i18n.test.php index 89d87cc23..4a1183036 100644 --- a/cake/tests/cases/libs/i18n.test.php +++ b/cake/tests/cases/libs/i18n.test.php @@ -39,8 +39,18 @@ class I18nTest extends CakeTestCase { * @return void */ function setUp() { + $this->_localePaths = Configure::read('localePaths'); Configure::write('localePaths', array(TEST_CAKE_CORE_INCLUDE_PATH . 'tests' . DS . 'test_app' . DS . 'locale')); } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('localePaths', $this->_localePaths); + } /** * testDefaultStrings method * diff --git a/cake/tests/cases/libs/inflector.test.php b/cake/tests/cases/libs/inflector.test.php index 089fe5e9c..9aa007187 100644 --- a/cake/tests/cases/libs/inflector.test.php +++ b/cake/tests/cases/libs/inflector.test.php @@ -32,13 +32,6 @@ App::import('Core', 'Inflector'); * @subpackage cake.tests.cases.libs */ class InflectorTest extends CakeTestCase { -/** - * Inflector property - * - * @var mixed null - * @access public - */ - var $Inflector = null; /** * setUp method * @@ -46,7 +39,6 @@ class InflectorTest extends CakeTestCase { * @return void */ function setUp() { - $this->Inflector = Inflector::getInstance(); } /** * tearDown method @@ -55,7 +47,6 @@ class InflectorTest extends CakeTestCase { * @return void */ function tearDown() { - unset($this->Inflector); } /** * testInstantiation method @@ -64,7 +55,10 @@ class InflectorTest extends CakeTestCase { * @return void */ function testInstantiation() { - $this->assertEqual(new Inflector(), $this->Inflector); + $this->skipUnless(strpos(Debugger::trace(), 'GroupTest') === false, '%s Cannot be run from within a group test'); + + $Instance = Inflector::getInstance(); + $this->assertEqual(new Inflector(), $Instance); } /** * testInflectingSingulars method diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php index 72c65fb80..45f71fe16 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_adodb.test.php @@ -164,7 +164,6 @@ if (!class_exists('Article')) { * @access public */ var $name = 'Article'; - } } /** @@ -196,7 +195,7 @@ class DboAdodbTest extends CakeTestCase { function skip() { $this->_initDb(); $db =& ConnectionManager::getDataSource('test_suite'); - $this->skipif($db->config['driver'] != 'adodb', 'Adodb connection not available'); + $this->skipIf($db->config['driver'] != 'adodb', '%s Adodb connection not available'); } /** * Sets up a Dbo class instance for testing diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php index ab5592200..d2c3411f7 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php @@ -219,7 +219,7 @@ class DboMssqlTest extends CakeTestCase { */ function skip() { $this->_initDb(); - $this->skipif ($this->db->config['driver'] != 'mssql', 'SQL Server connection not available'); + $this->skipUnless($this->db->config['driver'] == 'mssql', '%s SQL Server connection not available'); } /** * Sets up a Dbo class instance for testing @@ -240,7 +240,6 @@ class DboMssqlTest extends CakeTestCase { function tearDown() { unset($this->model); } - /** * testQuoting method * diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php index 3d94dc6af..691a86c1f 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php @@ -167,7 +167,7 @@ class DboMysqlTest extends CakeTestCase { */ function skip() { $this->_initDb(); - $this->skipif($this->db->config['driver'] != 'mysql', 'MySQL connection not available'); + $this->skipUnless($this->db->config['driver'] == 'mysql', '%s MySQL connection not available'); } /** * Sets up a Dbo class instance for testing diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php index 9031164dd..a2d86a574 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php @@ -168,7 +168,7 @@ class DboMysqliTest extends CakeTestCase { */ function skip() { $this->_initDb(); - $this->skipif($this->db->config['driver'] != 'mysqli', 'MySQLi connection not available'); + $this->skipUnless($this->db->config['driver'] == 'mysqli', '%s MySQLi connection not available'); } /** * Sets up a Dbo class instance for testing diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php index 314fcfce8..6b835890a 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php @@ -55,9 +55,7 @@ class DboOracleTest extends CakeTestCase { */ function skip() { $this->_initDb(); - $this->skipif( - $this->db->config['driver'] != 'oracle', 'Oracle connection not available' - ); + $this->skipUnless($this->db->config['driver'] == 'oracle', '%s Oracle connection not available'); } /** * testLastErrorStatement method diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php index bae7ad584..6c387da43 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php @@ -180,7 +180,7 @@ class DboPostgresTest extends CakeTestCase { */ function skip() { $this->_initDb(); - $this->skipif($this->db->config['driver'] != 'postgres', 'PostgreSQL connection not available'); + $this->skipUnless($this->db->config['driver'] == 'postgres', '%s PostgreSQL connection not available'); } /** * Set up test suite database connection diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php index adfad9dbc..882a91e9e 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php @@ -100,7 +100,7 @@ class DboSqliteTest extends CakeTestCase { */ function skip() { $this->_initDb(); - $this->skipif($this->db->config['driver'] != 'sqlite', 'SQLite connection not available'); + $this->skipUnless($this->db->config['driver'] == 'sqlite', '%s SQLite connection not available'); } /** * Set up test suite database connection diff --git a/cake/tests/cases/libs/model/model.test.php b/cake/tests/cases/libs/model/model.test.php index a4845b77f..270565701 100644 --- a/cake/tests/cases/libs/model/model.test.php +++ b/cake/tests/cases/libs/model/model.test.php @@ -1815,10 +1815,11 @@ class ModelTest extends CakeTestCase { /** * Test find(count) with Db::expression * + * @access public * @return void - **/ + */ function testFindCountWithDbExpressions() { - if ($this->skipif($this->db->config['driver'] == 'postgres', 'testFindCountWithExpressions is not compatible with Postgres')) { + if ($this->skipIf($this->db->config['driver'] == 'postgres', '%s testFindCountWithExpressions is not compatible with Postgres')) { return; } $this->loadFixtures('Project'); @@ -4795,7 +4796,7 @@ class ModelTest extends CakeTestCase { $this->assertFalse($expected); } // function testBasicValidation() { - // $TestModel =& new ValidationTest(); + // $TestModel =& new ValidationTest1(); // $TestModel->testing = true; // $TestModel->set(array('title' => '', 'published' => 1)); // $this->assertEqual($TestModel->invalidFields(), array('title' => 'This field cannot be left blank')); @@ -4936,7 +4937,7 @@ class ModelTest extends CakeTestCase { * @return void */ function testMultipleValidation() { - $TestModel =& new ValidationTest(); + $TestModel =& new ValidationTest1(); } /** * Tests validation parameter order in custom validation methods @@ -4945,7 +4946,7 @@ class ModelTest extends CakeTestCase { * @return void */ function testValidationParams() { - $TestModel =& new ValidationTest(); + $TestModel =& new ValidationTest1(); $TestModel->validate['title'] = array('rule' => 'customValidatorWithParams', 'required' => true); $TestModel->create(array('title' => 'foo')); $TestModel->invalidFields(); @@ -4972,7 +4973,7 @@ class ModelTest extends CakeTestCase { * @return void */ function testInvalidFieldsWithFieldListParams() { - $TestModel =& new ValidationTest(); + $TestModel =& new ValidationTest1(); $TestModel->validate = $validate = array( 'title' => array('rule' => 'customValidator', 'required' => true), 'name' => array('rule' => 'allowEmpty', 'required' => true), @@ -5007,10 +5008,10 @@ class ModelTest extends CakeTestCase { * @return void */ function testAllowSimulatedFields() { - $TestModel =& new ValidationTest(); + $TestModel =& new ValidationTest1(); $TestModel->create(array('title' => 'foo', 'bar' => 'baz')); - $expected = array('ValidationTest' => array('title' => 'foo', 'bar' => 'baz')); + $expected = array('ValidationTest1' => array('title' => 'foo', 'bar' => 'baz')); $this->assertEqual($TestModel->data, $expected); } /** @@ -5020,7 +5021,7 @@ class ModelTest extends CakeTestCase { * @return void */ function testInvalidAssociation() { - $TestModel =& new ValidationTest(); + $TestModel =& new ValidationTest1(); $this->assertNull($TestModel->getAssociated('Foo')); } /** @@ -5533,7 +5534,7 @@ class ModelTest extends CakeTestCase { function testZeroDefaultFieldValue() { $this->skipIf( $this->db->config['driver'] == 'sqlite', - 'SQLite uses loose typing, this operation is unsupported' + '%s SQLite uses loose typing, this operation is unsupported' ); $this->loadFixtures('DataTest'); $TestModel =& new DataTest(); @@ -6162,7 +6163,7 @@ class ModelTest extends CakeTestCase { function testGroupBy() { $db = ConnectionManager::getDataSource('test_suite'); $isStrictGroupBy = in_array($db->config['driver'], array('postgres', 'oracle')); - if ($this->skipif($isStrictGroupBy, 'Postgresql and Oracle have strict GROUP BY and are incompatible with this test.')) { + if ($this->skipIf($isStrictGroupBy, '%s Postgresql and Oracle have strict GROUP BY and are incompatible with this test.')) { return; } diff --git a/cake/tests/cases/libs/model/models.php b/cake/tests/cases/libs/model/models.php index 8f1423e9c..839e9f6ab 100644 --- a/cake/tests/cases/libs/model/models.php +++ b/cake/tests/cases/libs/model/models.php @@ -1804,19 +1804,19 @@ class TheVoid extends CakeTestModel { var $useTable = false; } /** - * ValidationTest class + * ValidationTest1 class * * @package cake * @subpackage cake.tests.cases.libs.model */ -class ValidationTest extends CakeTestModel { +class ValidationTest1 extends CakeTestModel { /** * name property * * @var string 'ValidationTest' * @access public */ - var $name = 'ValidationTest'; + var $name = 'ValidationTest1'; /** * useTable property * diff --git a/cake/tests/cases/libs/overloadable.test.php b/cake/tests/cases/libs/overloadable.test.php index 5c0363ad5..ed06e8cc7 100644 --- a/cake/tests/cases/libs/overloadable.test.php +++ b/cake/tests/cases/libs/overloadable.test.php @@ -39,7 +39,7 @@ class OverloadableTest extends CakeTestCase { * @return void */ function skip() { - $this->skipif(true, 'OverloadableTest not implemented'); + $this->skipIf(true, ' %s OverloadableTest not implemented'); } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/security.test.php b/cake/tests/cases/libs/security.test.php index 4c2e97019..f00af06b7 100644 --- a/cake/tests/cases/libs/security.test.php +++ b/cake/tests/cases/libs/security.test.php @@ -90,6 +90,9 @@ class SecurityTest extends CakeTestCase { * @return void */ function testHash() { + $Security = Security::getInstance(); + $_hashType = $Security->hashType; + $key = 'someKey'; $hash = 'someHash'; @@ -126,6 +129,8 @@ class SecurityTest extends CakeTestCase { $this->assertIdentical(strlen(Security::hash($key, 'sha256', false)), 64); $this->assertIdentical(strlen(Security::hash($key, 'sha256', true)), 64); } + + Security::setHash($_hashType); } /** * testCipher method diff --git a/cake/tests/cases/libs/validation.test.php b/cake/tests/cases/libs/validation.test.php index 60b6a187b..98c3e6866 100644 --- a/cake/tests/cases/libs/validation.test.php +++ b/cake/tests/cases/libs/validation.test.php @@ -65,6 +65,16 @@ class ValidationTest extends CakeTestCase { */ function setUp() { $this->Validation =& Validation::getInstance(); + $this->_appEncoding = Configure::read('App.encoding'); + } +/** + * tearDown method + * + * @access public + * @return void + */ + function tearDown() { + Configure::write('App.encoding', $this->_appEncoding); } /** * testNotEmpty method diff --git a/cake/tests/cases/libs/view/helpers/html.test.php b/cake/tests/cases/libs/view/helpers/html.test.php index 57f3a9c9b..efdbdafcc 100644 --- a/cake/tests/cases/libs/view/helpers/html.test.php +++ b/cake/tests/cases/libs/view/helpers/html.test.php @@ -72,6 +72,7 @@ class HtmlHelperTest extends CakeTestCase { $this->Html =& new HtmlHelper(); $view =& new View(new TheHtmlTestController()); ClassRegistry::addObject('view', $view); + $this->_appEncoding = Configure::read('App.encoding'); } /** * tearDown method @@ -80,7 +81,8 @@ class HtmlHelperTest extends CakeTestCase { * @return void */ function tearDown() { - unset($this->Html); + Configure::write('App.encoding', $this->_appEncoding); + ClassRegistry::flush(); } /** * testDocType method diff --git a/cake/tests/cases/libs/view/helpers/js.test.php b/cake/tests/cases/libs/view/helpers/js.test.php index 6a56c1efc..d0307089b 100644 --- a/cake/tests/cases/libs/view/helpers/js.test.php +++ b/cake/tests/cases/libs/view/helpers/js.test.php @@ -48,7 +48,7 @@ class JsHelperTest extends UnitTestCase { * @return void */ function skip() { - $this->skipif (true, 'JsHelper test not implemented'); + $this->skipIf(true, '%s JsHelper test not implemented'); } /** * setUp method diff --git a/cake/tests/groups/cache.group.php b/cake/tests/groups/cache.group.php index fd7060909..85b40cc02 100644 --- a/cake/tests/groups/cache.group.php +++ b/cake/tests/groups/cache.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * AllCacheEnginesGroupTest file + * CacheGroupTest file * * Long description for file * @@ -25,14 +25,14 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * AllCacheEnginesGroupTest class + * CacheGroupTest class * * This test group will run all the Cache class test and all core cache engine tests * * @package cake * @subpackage cake.tests.groups */ -class AllCacheEnginesGroupTest extends GroupTest { +class CacheGroupTest extends GroupTest { /** * label property * @@ -41,12 +41,12 @@ class AllCacheEnginesGroupTest extends GroupTest { */ var $label = 'Cache and all CacheEngines'; /** - * AllCacheEnginesGroupTest method + * CacheGroupTest method * * @access public * @return void */ - function AllCacheEnginesGroupTest() { + function CacheGroupTest() { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'cache'); TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'cache'); } diff --git a/cake/tests/groups/components.group.php b/cake/tests/groups/components.group.php index ececd9021..ad4c2e538 100644 --- a/cake/tests/groups/components.group.php +++ b/cake/tests/groups/components.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * AllCoreComponentsGroupTest file + * ComponentsGroupTest file * * Long description for file * @@ -25,14 +25,14 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * AllCoreComponentsGroupTest class + * ComponentsGroupTest class * * This test group will run all tests in the cases/libs/controller/components directory. * * @package cake * @subpackage cake.tests.groups */ -class AllCoreComponentsGroupTest extends GroupTest { +class ComponentsGroupTest extends GroupTest { /** * label property * @@ -41,12 +41,12 @@ class AllCoreComponentsGroupTest extends GroupTest { */ var $label = 'All Components'; /** - * AllCoreComponentsGroupTest method + * CoreComponentsGroupTest method * * @access public * @return void */ - function AllCoreComponentsGroupTest() { + function ComponentsGroupTest() { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'controller' . DS . 'components'); } } diff --git a/cake/tests/groups/console.group.php b/cake/tests/groups/console.group.php index 42391d114..9cc199124 100644 --- a/cake/tests/groups/console.group.php +++ b/cake/tests/groups/console.group.php @@ -25,14 +25,14 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * AllConsoleGroupTest class + * ConsoleGroupTest class * * This test group will run all console tests * * @package cake * @subpackage cake.tests.groups */ -class AllConsoleGroupTest extends GroupTest { +class ConsoleGroupTest extends GroupTest { /** * label property * @@ -41,12 +41,12 @@ class AllConsoleGroupTest extends GroupTest { */ var $label = 'ShellDispatcher, Shell and all Tasks'; /** - * AllConsoleGroupTest method + * ConsoleGroupTest method * * @access public * @return void */ - function AllConsoleGroupTest() { + function ConsoleGroupTest() { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'console'); } } diff --git a/cake/tests/groups/lib_controller.group.php b/cake/tests/groups/controller.group.php similarity index 90% rename from cake/tests/groups/lib_controller.group.php rename to cake/tests/groups/controller.group.php index 8a5afc07a..a76073c2a 100644 --- a/cake/tests/groups/lib_controller.group.php +++ b/cake/tests/groups/controller.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * LibControllerGroupTest file + * ControllerGroupTest file * * Long description for file * @@ -25,12 +25,12 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * LibControllerGroupTest + * ControllerGroupTest * * @package cake * @subpackage cake.tests.groups */ -class LibControllerGroupTest extends GroupTest { +class ControllerGroupTest extends GroupTest { /** * label property * @@ -44,7 +44,7 @@ class LibControllerGroupTest extends GroupTest { * @access public * @return void */ - function LibControllerGroupTest() { + function ControllerGroupTest() { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'controller'); } } diff --git a/cake/tests/groups/helpers.group.php b/cake/tests/groups/helpers.group.php index 6dac7623b..a7dfbba70 100644 --- a/cake/tests/groups/helpers.group.php +++ b/cake/tests/groups/helpers.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * AllCoreHelpersGroupTest file + * HelpersGroupTest file * * Long description for file * @@ -25,14 +25,14 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * AllCoreHelpersGroupTest class + * HelpersGroupTest class * * This test group will run all test in the cases/libs/view/helpers directory. * * @package cake * @subpackage cake.tests.groups */ -class AllCoreHelpersGroupTest extends GroupTest { +class HelpersGroupTest extends GroupTest { /** * label property * @@ -41,12 +41,12 @@ class AllCoreHelpersGroupTest extends GroupTest { */ var $label = 'All Helpers'; /** - * AllCoreHelpersGroupTest method + * HelpersGroupTest method * * @access public * @return void */ - function AllCoreHelpersGroupTest() { + function HelpersGroupTest() { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helper'); TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers'); } diff --git a/cake/tests/groups/lib.group.php b/cake/tests/groups/lib.group.php index 4e68dd3dc..07e6ab41b 100644 --- a/cake/tests/groups/lib.group.php +++ b/cake/tests/groups/lib.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * AllCoreLibGroupTest file + * LibGroupTest file * * Long description for file * @@ -25,14 +25,14 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * AllCoreLibGroupTest class + * LibGroupTest class * * This test group will run all test in the cases/libs directory. * * @package cake * @subpackage cake.tests.groups */ -class AllCoreLibGroupTest extends GroupTest { +class LibGroupTest extends GroupTest { /** * label property * @@ -41,12 +41,12 @@ class AllCoreLibGroupTest extends GroupTest { */ var $label = 'All Libs'; /** - * AllCoreLibGroupTest method + * LibGroupTest method * * @access public * @return void */ - function AllCoreLibGroupTest() { + function LibGroupTest() { TestManager::addTestCasesFromDirectory($this, CORE_TEST_CASES . DS . 'libs'); } } diff --git a/cake/tests/groups/no_cross_contamination.group.php b/cake/tests/groups/no_cross_contamination.group.php new file mode 100644 index 000000000..7a72c88a3 --- /dev/null +++ b/cake/tests/groups/no_cross_contamination.group.php @@ -0,0 +1,71 @@ +<?php +/* SVN FILE: $Id$ */ +/** + * NoCrossContaminationGroupTest file + * + * Long description for file + * + * PHP versions 4 and 5 + * + * CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite> + * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * + * Licensed under The Open Group Test Suite License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests + * @package cake + * @subpackage cake.tests.groups + * @since CakePHP(tm) v 1.2.0.4206 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + */ +/** + * NoCrossContaminationGroupTest class + * + * This test group will run all tests + * that are proper isolated to be run in sequence + * without affected each other + * + * @package cake + * @subpackage cake.tests.groups + */ +class NoCrossContaminationGroupTest extends GroupTest { +/** + * label property + * + * @var string + * @access public + */ + var $label = 'No Cross Contamination'; +/** + * blacklist property + * + * @var string + * @access public + */ + var $blacklist = array('cake_test_case.test.php', 'object.test.php'); +/** + * NoCrossContaminationGroupTest method + * + * @access public + * @return void + */ + function NoCrossContaminationGroupTest() { + App::import('Core', 'Folder'); + + $Folder = new Folder(CORE_TEST_CASES); + + foreach ($Folder->findRecursive('.*\.test\.php', true) as $file) { + if (in_array(basename($file), $this->blacklist)) { + continue; + } + TestManager::addTestFile($this, $file); + } + } +} +?> \ No newline at end of file diff --git a/cake/tests/groups/no_database.group.php b/cake/tests/groups/no_database.group.php index f8071959f..f23f6be7f 100644 --- a/cake/tests/groups/no_database.group.php +++ b/cake/tests/groups/no_database.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * AllCoreWithoutDatabaseGroupTest file + * NoDatabaseGroupTest file * * Long description for file * @@ -25,14 +25,14 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * AllCoreWithOutDatabaseGroupTest class + * NoDatabaseGroupTest class * * This test group will run all test in the cases/libs directory. * * @package cake * @subpackage cake.tests.groups */ -class AllCoreWithoutDatabaseGroupTest extends GroupTest { +class NoDatabaseGroupTest extends GroupTest { /** * label property * @@ -41,12 +41,12 @@ class AllCoreWithoutDatabaseGroupTest extends GroupTest { */ var $label = 'All Libs not requiring a database connection'; /** - * AllCoreWithOutDatabaseGroupTest method + * NoDatabaseGroupTest method * * @access public * @return void */ - function AllCoreWithoutDatabaseGroupTest() { + function NoDatabaseGroupTest() { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'dispatcher'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'router'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'inflector'); diff --git a/cake/tests/groups/view.group.php b/cake/tests/groups/view.group.php index 5569e771f..f79efc0d2 100644 --- a/cake/tests/groups/view.group.php +++ b/cake/tests/groups/view.group.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * AllCoreViewsGroupTest file + * ViewsGroupTest file * * Long description for file * @@ -25,14 +25,14 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ /** - * AllCoreViewsGroupTest class + * ViewsGroupTest class * * This test group will run view class tests (view, theme) * * @package cake * @subpackage cake.tests.groups */ -class AllCoreViewsGroupTest extends GroupTest { +class ViewsGroupTest extends GroupTest { /** * label property * @@ -41,12 +41,12 @@ class AllCoreViewsGroupTest extends GroupTest { */ var $label = 'View and ThemeView'; /** - * AllCoreViewsGroupTest method + * ViewsGroupTest method * * @access public * @return void */ - function AllCoreViewsGroupTest() { + function ViewsGroupTest() { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'view'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'theme'); } diff --git a/cake/tests/groups/xml.group.php b/cake/tests/groups/xml.group.php index 95d945a48..757153346 100644 --- a/cake/tests/groups/xml.group.php +++ b/cake/tests/groups/xml.group.php @@ -41,7 +41,7 @@ class XmlGroupTest extends GroupTest { */ var $label = 'Xml based classes (Xml, XmlHelper and RssHelper)'; /** - * AllCoreViewsGroupTest method + * XmlGroupTest method * * @access public * @return void diff --git a/cake/tests/lib/cake_test_case.php b/cake/tests/lib/cake_test_case.php index b6c021181..f2a5fb442 100644 --- a/cake/tests/lib/cake_test_case.php +++ b/cake/tests/lib/cake_test_case.php @@ -1,7 +1,7 @@ <?php /* SVN FILE: $Id$ */ /** - * Short description for file. + * CakeTestCase file * * Long description for file * @@ -31,20 +31,40 @@ require_once CAKE_TESTS_LIB . 'cake_test_model.php'; require_once CAKE_TESTS_LIB . 'cake_test_fixture.php'; App::import('Vendor', 'simpletest' . DS . 'unit_tester'); /** - * Short description for class. + * CakeTestDispatcher * * @package cake * @subpackage cake.cake.tests.lib */ class CakeTestDispatcher extends Dispatcher { +/** + * controller property + * + * @var Controller + * @access public + */ var $controller; var $testCase; - +/** + * testCase method + * + * @param CakeTestCase $testCase + * @return void + * @access public + */ function testCase(&$testCase) { $this->testCase =& $testCase; } - - function _invoke (&$controller, $params, $missingAction = false) { +/** + * invoke method + * + * @param Controller $controller + * @param array $params + * @param boolean $missingAction + * @return Controller + * @access proptected + */ + function _invoke(&$controller, $params, $missingAction = false) { $this->controller =& $controller; if (isset($this->testCase) && method_exists($this->testCase, 'startController')) { @@ -61,7 +81,7 @@ class CakeTestDispatcher extends Dispatcher { } } /** - * Short description for class. + * CakeTestCase class * * @package cake * @subpackage cake.cake.tests.lib @@ -71,11 +91,9 @@ class CakeTestCase extends UnitTestCase { * Methods used internally. * * @var array - * @access private + * @access public */ var $methods = array('start', 'end', 'startcase', 'endcase', 'starttest', 'endtest'); - var $__truncated = true; - var $__savedGetData = array(); /** * By default, all fixtures attached to this class will be truncated and reloaded after each test. * Set this to false to handle manually @@ -98,44 +116,64 @@ class CakeTestCase extends UnitTestCase { * @access protected */ var $_fixtureClassMap = array(); +/** + * truncated property + * + * @var boolean + * @access private + */ + var $__truncated = true; +/** + * savedGetData property + * + * @var array + * @access private + */ + var $__savedGetData = array(); /** * Called when a test case (group of methods) is about to start (to be overriden when needed.) * - * @param string $method Test method about to get executed. - * - * @access protected + * @param string $method Test method about to get executed. + * @return void + * @access public */ function startCase() { } /** * Called when a test case (group of methods) has been executed (to be overriden when needed.) * - * @param string $method Test method about that was executed. - * - * @access protected + * @param string $method Test method about that was executed. + * @return void + * @access public */ function endCase() { } /** * Called when a test case method is about to start (to be overriden when needed.) * - * @param string $method Test method about to get executed. - * - * @access protected + * @param string $method Test method about to get executed. + * @return void + * @access public */ function startTest($method) { } /** * Called when a test case method has been executed (to be overriden when needed.) * - * @param string $method Test method about that was executed. - * - * @access protected + * @param string $method Test method about that was executed. + * @return void + * @access public */ function endTest($method) { } /** * Overrides SimpleTestCase::assert to enable calling of skipIf() from within tests + * + * @param Expectation $expectation + * @param mixed $compare + * @param string $message + * @return boolean|null + * @access public */ function assert(&$expectation, $compare, $message = '%s') { if ($this->_should_skip) { @@ -145,6 +183,11 @@ class CakeTestCase extends UnitTestCase { } /** * Overrides SimpleTestCase::skipIf to provide a boolean return value + * + * @param boolean $shouldSkip + * @param string $message + * @return boolean + * @access public */ function skipIf($shouldSkip, $message = '%s') { parent::skipIf($shouldSkip, $message); @@ -155,6 +198,8 @@ class CakeTestCase extends UnitTestCase { * * @param Controller $controller Controller that's about to be invoked. * @param array $params Additional parameters as sent by testAction(). + * @return void + * @access public */ function startController(&$controller, $params = array()) { if (isset($params['fixturize']) && ((is_array($params['fixturize']) && !empty($params['fixturize'])) || $params['fixturize'] === true)) { @@ -219,8 +264,10 @@ class CakeTestCase extends UnitTestCase { /** * Callback issued when a controller's action has been invoked through testAction(). * - * @param Controller $controller Controller that has been invoked. - * * @param array $params Additional parameters as sent by testAction(). + * @param Controller $controller Controller that has been invoked. + * @param array $params Additional parameters as sent by testAction(). + * @return void + * @access public */ function endController(&$controller, $params = array()) { if (isset($this->db) && isset($this->_actionFixtures) && !empty($this->_actionFixtures) && $this->dropTables) { @@ -238,12 +285,12 @@ class CakeTestCase extends UnitTestCase { * 2. 'view': The rendered view, without the layout * 3. 'contents': The rendered view, within the layout. * 4. 'vars': the view vars - * + * * - 'fixturize' - Set to true if you want to copy model data from 'connection' to the test_suite connection * - 'data' - The data you want to insert into $this->data in the controller. * - 'connection' - Which connection to use in conjunction with fixturize (defaults to 'default') * - 'method' - What type of HTTP method to simulate (defaults to post) - * + * * @param string $url Cake URL to execute (e.g: /articles/view/455) * @param mixed $params Parameters (see above), or simply a string of what to return * @return mixed Whatever is returned depending of requested result @@ -333,7 +380,7 @@ class CakeTestCase extends UnitTestCase { * Announces the start of a test. * * @param string $method Test method just started. - * + * @return void * @access public */ function before($method) { @@ -363,6 +410,7 @@ class CakeTestCase extends UnitTestCase { /** * Runs as first test to create tables. * + * @return void * @access public */ function start() { @@ -389,6 +437,7 @@ class CakeTestCase extends UnitTestCase { /** * Runs as last test to drop tables. * + * @return void * @access public */ function end() { @@ -410,7 +459,7 @@ class CakeTestCase extends UnitTestCase { * Announces the end of a test. * * @param string $method Test method just finished. - * + * @return void * @access public */ function after($method) { @@ -436,8 +485,7 @@ class CakeTestCase extends UnitTestCase { * Gets a list of test names. Normally that will be all internal methods that start with the * name "test". This method should be overridden if you want a different rule. * - * @return array List of test names. - * + * @return array List of test names. * @access public */ function getTests() { @@ -452,6 +500,7 @@ class CakeTestCase extends UnitTestCase { * * @param string $fixture Each parameter is a model name that corresponds to a * fixture, i.e. 'Post', 'Author', etc. + * @return void * @access public * @see CakeTestCase::$autoFixtures */ @@ -499,6 +548,7 @@ class CakeTestCase extends UnitTestCase { * @param string $string An HTML/XHTML/XML string * @param array $expected An array, see above * @param string $message SimpleTest failure output string + * @return boolean * @access public */ function assertTags($string, $expected, $fullDebug = false) { @@ -619,36 +669,10 @@ class CakeTestCase extends UnitTestCase { } return $this->assert(new TrueExpectation(), true, '%s'); } -/** - * Generates all permutation of an array $items and returns them in a new array. - * - * @param array $items An array of items - * @return array - * @access public - */ - function __array_permute($items, $perms = array()) { - static $permuted; - if (empty($perms)) { - $permuted = array(); - } - - if (empty($items)) { - $permuted[] = $perms; - } else { - $numItems = count($items) - 1; - for ($i = $numItems; $i >= 0; --$i) { - $newItems = $items; - $newPerms = $perms; - list($tmp) = array_splice($newItems, $i, 1); - array_unshift($newPerms, $tmp); - $this->__array_permute($newItems, $newPerms); - } - return $permuted; - } - } /** * Initialize DB connection. * + * @return void * @access protected */ function _initDb() { @@ -683,7 +707,8 @@ class CakeTestCase extends UnitTestCase { /** * Load fixtures specified in var $fixtures. * - * @access private + * @return void + * @access protected */ function _loadFixtures() { if (!isset($this->fixtures) || empty($this->fixtures)) { @@ -753,5 +778,32 @@ class CakeTestCase extends UnitTestCase { unset($this->_fixtures); } } +/** + * Generates all permutation of an array $items and returns them in a new array. + * + * @param array $items An array of items + * @return array + * @access private + */ + function __array_permute($items, $perms = array()) { + static $permuted; + if (empty($perms)) { + $permuted = array(); + } + + if (empty($items)) { + $permuted[] = $perms; + } else { + $numItems = count($items) - 1; + for ($i = $numItems; $i >= 0; --$i) { + $newItems = $items; + $newPerms = $perms; + list($tmp) = array_splice($newItems, $i, 1); + array_unshift($newPerms, $tmp); + $this->__array_permute($newItems, $newPerms); + } + return $permuted; + } + } } -?> +?> \ No newline at end of file From 364fe18208c00e9974353cf3d98b57b627582372 Mon Sep 17 00:00:00 2001 From: "mariano.iglesias" <mariano.iglesias@3807eeeb-6ff5-0310-8944-8be069107fe0> Date: Sun, 22 Mar 2009 13:09:50 +0000 Subject: [PATCH 26/67] Adding test to disprove issue. Closes #4693 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8124 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../libs/model/behaviors/containable.test.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cake/tests/cases/libs/model/behaviors/containable.test.php b/cake/tests/cases/libs/model/behaviors/containable.test.php index b5f801df8..d7cf0d0c5 100644 --- a/cake/tests/cases/libs/model/behaviors/containable.test.php +++ b/cake/tests/cases/libs/model/behaviors/containable.test.php @@ -51,6 +51,7 @@ class ContainableBehaviorTest extends CakeTestCase { function startTest() { $this->User =& ClassRegistry::init('User'); $this->Article =& ClassRegistry::init('Article'); + $this->Tag =& ClassRegistry::init('Tag'); $this->User->bind(array( 'Article' => array('type' => 'hasMany'), @@ -60,8 +61,13 @@ class ContainableBehaviorTest extends CakeTestCase { $this->User->ArticleFeatured->unbindModel(array('belongsTo' => array('Category')), false); $this->User->ArticleFeatured->hasMany['Comment']['foreignKey'] = 'article_id'; + $this->Tag->bind(array( + 'Article' => array('type' => 'hasAndBelongsToMany') + )); + $this->User->Behaviors->attach('Containable'); $this->Article->Behaviors->attach('Containable'); + $this->Tag->Behaviors->attach('Containable'); } /** * Method executed after each test @@ -71,6 +77,7 @@ class ContainableBehaviorTest extends CakeTestCase { function endTest() { unset($this->Article); unset($this->User); + unset($this->Tag); ClassRegistry::flush(); } @@ -124,6 +131,16 @@ class ContainableBehaviorTest extends CakeTestCase { $this->assertEqual(array_shift(Set::extract('/User/keep', $r)), array('keep' => array())); $this->assertEqual(array_shift(Set::extract('/Comment/keep', $r)), array('keep' => array('User' => array()))); $this->assertEqual(array_shift(Set::extract('/Article/keep', $r)), array('keep' => array('Comment' => array()))); + + $r = $this->__containments($this->Tag, array('Article' => array('User' => array('Comment' => array( + 'Attachment' => array('conditions' => array('Attachment.id >' => 1)) + ))))); + $this->assertTrue(Set::matches('/Attachment', $r)); + $this->assertTrue(Set::matches('/Comment/keep/Attachment/conditions', $r)); + $this->assertEqual($r['Comment']['keep']['Attachment']['conditions'], array('Attachment.id >' => 1)); + $this->assertTrue(Set::matches('/User/keep/Comment', $r)); + $this->assertTrue(Set::matches('/Article/keep/User', $r)); + $this->assertTrue(Set::matches('/Tag/keep/Article', $r)); } /** * testInvalidContainments method @@ -3540,4 +3557,4 @@ class ContainableBehaviorTest extends CakeTestCase { return $debug; } } -?> \ No newline at end of file +?> From 4439bc4f70d3fbdcfa679a12e2a0cffd2223f1e2 Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Sun, 22 Mar 2009 18:59:53 +0000 Subject: [PATCH 27/67] Fixing regression in PaginatorHelper. Adding tests for PaginatorHelper::sortDir, as well as fixing incorrect test for sorting with Model.field dot notation. Fixes #6218. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8125 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/paginator.php | 10 ++- .../libs/view/helpers/paginator.test.php | 75 ++++++++++++++++++- 2 files changed, 80 insertions(+), 5 deletions(-) diff --git a/cake/libs/view/helpers/paginator.php b/cake/libs/view/helpers/paginator.php index 8f40ff8f5..f5e197a05 100644 --- a/cake/libs/view/helpers/paginator.php +++ b/cake/libs/view/helpers/paginator.php @@ -222,8 +222,16 @@ class PaginatorHelper extends AppHelper { $title = __(Inflector::humanize(preg_replace('/_id$/', '', $title)), true); } $dir = 'asc'; + $sortKey = $this->sortKey($options['model']); + $defaultModel = $this->defaultModel(); - if ($this->sortKey($options['model']) == $key && $this->sortDir($options['model']) == 'asc') { + if (strpos($sortKey, $defaultModel) !== false && strpos($key, $defaultModel) === false) { + $isSorted = ($sortKey === $defaultModel . '.' . $key); + } else { + $isSorted = ($sortKey === $key); + } + + if ($isSorted && $this->sortDir($options['model']) === 'asc') { $dir = 'desc'; } if (is_array($title) && array_key_exists($dir, $title)) { diff --git a/cake/tests/cases/libs/view/helpers/paginator.test.php b/cake/tests/cases/libs/view/helpers/paginator.test.php index b0000eaa0..6939f00b5 100644 --- a/cake/tests/cases/libs/view/helpers/paginator.test.php +++ b/cake/tests/cases/libs/view/helpers/paginator.test.php @@ -176,7 +176,7 @@ class PaginatorHelperTest extends CakeTestCase { $result = $this->Paginator->sort('Title','Article.title'); $this->assertPattern('/\/accounts\/index\/page:1\/sort:Article.title\/direction:desc">Title<\/a>$/', $result); - $this->Paginator->params['paging']['Article']['options']['order'] = array('Article.title' => 'asc'); + $this->Paginator->params['paging']['Article']['options']['order'] = array('Account.title' => 'asc'); $result = $this->Paginator->sort('title'); $this->assertPattern('/\/accounts\/index\/page:1\/sort:title\/direction:asc">Title<\/a>$/', $result); @@ -193,9 +193,76 @@ class PaginatorHelperTest extends CakeTestCase { 'order' => array('Article.title' => 'desc' ))); $this->assertEqual('Article.title', $result); - - } +/** + * testSortDir method + * + * @access public + * @return void + */ + function testSortDir() { + $result = $this->Paginator->sortDir(); + $expected = 'asc'; + + $this->assertEqual($result, $expected); + + $this->Paginator->params['paging']['Article']['options']['order'] = array('Article.title' => 'desc'); + $result = $this->Paginator->sortDir(); + $expected = 'desc'; + + $this->assertEqual($result, $expected); + + unset($this->Paginator->params['paging']['Article']['options']); + $this->Paginator->params['paging']['Article']['options']['order'] = array('Article.title' => 'asc'); + $result = $this->Paginator->sortDir(); + $expected = 'asc'; + + $this->assertEqual($result, $expected); + + unset($this->Paginator->params['paging']['Article']['options']); + $this->Paginator->params['paging']['Article']['options']['order'] = array('title' => 'desc'); + $result = $this->Paginator->sortDir(); + $expected = 'desc'; + + $this->assertEqual($result, $expected); + + unset($this->Paginator->params['paging']['Article']['options']); + $this->Paginator->params['paging']['Article']['options']['order'] = array('title' => 'asc'); + $result = $this->Paginator->sortDir(); + $expected = 'asc'; + + $this->assertEqual($result, $expected); + + unset($this->Paginator->params['paging']['Article']['options']); + $this->Paginator->params['paging']['Article']['options']['direction'] = 'asc'; + $result = $this->Paginator->sortDir(); + $expected = 'asc'; + + $this->assertEqual($result, $expected); + + unset($this->paginator->params['paging']['article']['options']); + $this->Paginator->params['paging']['Article']['options']['direction'] = 'desc'; + $result = $this->Paginator->sortDir(); + $expected = 'desc'; + + $this->assertEqual($result, $expected); + + unset($this->Paginator->params['paging']['Article']['options']); + $result = $this->Paginator->sortDir('Article', array('direction' => 'asc')); + $expected = 'asc'; + + $this->assertEqual($result, $expected); + + $result = $this->Paginator->sortDir('Article', array('direction' => 'desc')); + $expected = 'desc'; + + $this->assertEqual($result, $expected); + + $result = $this->Paginator->sortDir('Article', array('direction' => 'asc')); + $expected = 'asc'; + + $this->assertEqual($result, $expected); + } /** * testSortAdminLinks method * @@ -845,4 +912,4 @@ class PaginatorHelperTest extends CakeTestCase { $this->assertPattern('/["\']\/issues\/index\/page:3["\']/', $result); } } -?> \ No newline at end of file +?> From 14aaa1682f694a0d41ab980b7d83b4df25eb0bba Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Mon, 23 Mar 2009 13:48:37 +0000 Subject: [PATCH 28/67] Updating doc block for Valdation::url optional parameter. Fixes #6220. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8126 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/validation.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cake/libs/validation.php b/cake/libs/validation.php index 339d8668d..be0d20c2a 100644 --- a/cake/libs/validation.php +++ b/cake/libs/validation.php @@ -798,6 +798,7 @@ class Validation extends Object { * an optional fragment (anchor tag) * * @param string $check Value to check + * @param boolean $strict Require URL to be prefixed by a valid scheme (one of http(s)/ftp(s)/file/news/gopher) * @return boolean Success * @access public */ @@ -925,4 +926,4 @@ class Validation extends Object { $this->errors = array(); } } -?> \ No newline at end of file +?> From 0a610d2c305689fd98529ca6937091fe17373fda Mon Sep 17 00:00:00 2001 From: davidpersson <davidpersson@gmx.de> Date: Mon, 23 Mar 2009 18:59:37 +0000 Subject: [PATCH 29/67] Updating Debugger::log to get the source from the end of the stack git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8127 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/debugger.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cake/libs/debugger.php b/cake/libs/debugger.php index dfd2150ad..c070d9098 100644 --- a/cake/libs/debugger.php +++ b/cake/libs/debugger.php @@ -144,7 +144,8 @@ class Debugger extends Object { if (is_object($trace[0]['object']) && isset($trace[0]['object']->_reporter->_test_stack)) { $stack = $trace[0]['object']->_reporter->_test_stack; - $source = "[". $stack[0].", ". $stack[2] ."::" . $stack[3] ."()]\n"; + $source = sprintf('[%1$s, %3$s::%2$s()]' . "\n", + array_shift($stack), array_pop($stack), array_pop($stack)); } CakeLog::write($level, $source . $_this->exportVar($var)); From 0516fb20907abdd31984a9f582dc9fbb01231ec1 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Wed, 25 Mar 2009 16:58:29 +0000 Subject: [PATCH 30/67] Enabling disabled attribute to be passed to hidden input when making checkboxes. Test case added. Fixes #6226 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8128 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/form.php | 9 ++++++--- cake/tests/cases/libs/view/helpers/form.test.php | 13 +++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/cake/libs/view/helpers/form.php b/cake/libs/view/helpers/form.php index 4c82e73dc..4ddf2e94c 100644 --- a/cake/libs/view/helpers/form.php +++ b/cake/libs/view/helpers/form.php @@ -848,11 +848,14 @@ class FormHelper extends AppHelper { } elseif (!empty($value) && $value === $options['value']) { $options['checked'] = 'checked'; } - - $output = $this->hidden($fieldName, array( + $hiddenOptions = array( 'id' => $options['id'] . '_', 'name' => $options['name'], 'value' => '0', 'secure' => false - )); + ); + if (isset($options['disabled'])) { + $hiddenOptions['disabled'] = 'disabled'; + } + $output = $this->hidden($fieldName, $hiddenOptions); return $this->output($output . sprintf( $this->Html->tags['checkbox'], diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index 12764a2c0..f8ea43830 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -3132,6 +3132,19 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } +/** + * Test that disabling a checkbox also disables the hidden input so no value is submitted + * + * @return void + **/ + function testCheckboxDisabling() { + $result = $this->Form->checkbox('Account.show_name', array('disabled' => 'disabled')); + $expected = array( + array('input' => array('type' => 'hidden', 'name' => 'data[Account][show_name]', 'value' => '0', 'id' => 'AccountShowName_', 'disabled' => 'disabled')), + array('input' => array('type' => 'checkbox', 'name' => 'data[Account][show_name]', 'value' => '1', 'id' => 'AccountShowName', 'disabled' => 'disabled')) + ); + $this->assertTags($result, $expected); + } /** * testDateTime method * From 20822399694467277eadf9fa1468c763ab4d9dc7 Mon Sep 17 00:00:00 2001 From: "renan.saddam" <renan.saddam@gmail.com> Date: Thu, 26 Mar 2009 13:50:25 +0000 Subject: [PATCH 31/67] Calling the right Garbage Colector callback when using Cache as Session Save Handler. Fixes #6229. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8129 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/session.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cake/libs/session.php b/cake/libs/session.php index 88b90da52..7beff3ace 100644 --- a/cake/libs/session.php +++ b/cake/libs/session.php @@ -510,7 +510,7 @@ class CakeSession extends Object { array('Cache', 'read'), array('Cache', 'write'), array('Cache', 'delete'), - array('CakeSession', '__gc')); + array('Cache', 'gc')); break; default: if (empty($_SESSION)) { From 9f0cbb00ce313d424bb5c4740e7662e33ea03a01 Mon Sep 17 00:00:00 2001 From: "renan.saddam" <renan.saddam@gmail.com> Date: Thu, 26 Mar 2009 14:25:47 +0000 Subject: [PATCH 32/67] Adding tests to Session Save Handler callbacks. Refs #6229. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8130 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/session.test.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/cake/tests/cases/libs/session.test.php b/cake/tests/cases/libs/session.test.php index eacea5651..df2c73cd7 100644 --- a/cake/tests/cases/libs/session.test.php +++ b/cake/tests/cases/libs/session.test.php @@ -35,6 +35,27 @@ if (!class_exists('CakeSession')) { */ class SessionTest extends CakeTestCase { var $fixtures = array('core.session'); +/** + * startCase method + * + * @access public + * @return void + */ + function startCase() { + // Make sure garbage colector will be called + $this->__gc_divisor = ini_get('session.gc_divisor'); + ini_set('session.gc_divisor', '1'); + } +/** + * endCase method + * + * @access public + * @return void + */ + function endCase() { + // Revert to the default setting + ini_set('session.gc_divisor', $this->__gc_divisor); + } /** * setUp method * From 5d23f461182d7022939f82c24a0980abb3d0b0c8 Mon Sep 17 00:00:00 2001 From: davidpersson <davidpersson@gmx.de> Date: Thu, 26 Mar 2009 20:40:45 +0000 Subject: [PATCH 33/67] Adding tests to disprove #6236. Closes #6236. Removing return from testWriteEmptyValues method to enable the test. Updating CacheTest to revert settings changed in the tests. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8131 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/cache.test.php | 83 +++++++++++++++++++++++----- 1 file changed, 70 insertions(+), 13 deletions(-) diff --git a/cake/tests/cases/libs/cache.test.php b/cake/tests/cases/libs/cache.test.php index 84102a13e..37d5ec633 100644 --- a/cake/tests/cases/libs/cache.test.php +++ b/cake/tests/cases/libs/cache.test.php @@ -41,20 +41,24 @@ class CacheTest extends CakeTestCase { * @return void */ function setUp() { - if (!isset($this->config)) { - $this->config = Cache::config('default'); - } + $this->_cacheDisable = Configure::read('Cache.disable'); + Configure::write('Cache.disable', false); - Cache::config('default', array('engine'=> 'File', 'path' => CACHE)); + $this->_defaultCacheConfig = Cache::config('default'); + Cache::config('default', array('engine' => 'File', 'path' => TMP . 'tests')); + + Cache::engine('File', array('path' => TMP . 'tests')); } /** - * end method + * tearDown method * * @access public * @return void */ - function end() { - Cache::config('default', $this->config['settings']); + function tearDown() { + Configure::write('Cache.disable', $this->_cacheDisable); + Cache::config('default', $this->_defaultCacheConfig['settings']); + Cache::engine('File'); } /** * testConfig method @@ -74,11 +78,17 @@ class CacheTest extends CakeTestCase { * @return void */ function testConfigChange() { + $_cacheConfigSessions = Cache::config('sessions'); + $_cacheConfigTests = Cache::config('tests'); + $result = Cache::config('sessions', array('engine'=> 'File', 'path' => TMP . 'sessions')); $this->assertEqual($result['settings'], Cache::settings('File')); $result = Cache::config('tests', array('engine'=> 'File', 'path' => TMP . 'tests')); $this->assertEqual($result['settings'], Cache::settings('File')); + + Cache::config('sessions', $_cacheConfigSessions['settings']); + Cache::config('tests', $_cacheConfigTests['settings']); } /** * testWritingWithConfig method @@ -87,7 +97,8 @@ class CacheTest extends CakeTestCase { * @return void */ function testWritingWithConfig() { - Cache::config('sessions'); + $_cacheConfigSessions = Cache::config('sessions'); + Cache::write('test_somthing', 'this is the test data', 'tests'); $expected = array( @@ -101,6 +112,8 @@ class CacheTest extends CakeTestCase { 'isWindows' => DIRECTORY_SEPARATOR == '\\' ); $this->assertEqual($expected, Cache::settings('File')); + + Cache::config('sessions', $_cacheConfigSessions['settings']); } /** * testInitSettings method @@ -110,6 +123,7 @@ class CacheTest extends CakeTestCase { */ function testInitSettings() { Cache::engine('File', array('path' => TMP . 'tests')); + $settings = Cache::settings(); $expecting = array( 'engine' => 'File', @@ -122,6 +136,8 @@ class CacheTest extends CakeTestCase { 'isWindows' => DIRECTORY_SEPARATOR == '\\' ); $this->assertEqual($settings, $expecting); + + Cache::engine('File'); } /** * testWriteEmptyValues method @@ -130,8 +146,6 @@ class CacheTest extends CakeTestCase { * @return void */ function testWriteEmptyValues() { - return; - Cache::engine('File', array('path' => TMP . 'tests')); Cache::write('App.falseTest', false); $this->assertIdentical(Cache::read('App.falseTest'), false); @@ -147,6 +161,49 @@ class CacheTest extends CakeTestCase { Cache::write('App.zeroTest2', '0'); $this->assertIdentical(Cache::read('App.zeroTest2'), '0'); } +/** + * testCacheDisable method + * + * Check that the "Cache.disable" configuration and a change to it + * (even after a cache config has been setup) is taken into account. + * + * @link https://trac.cakephp.org/ticket/6236 + * @access public + * @return void + */ + function testCacheDisable() { + Configure::write('Cache.disable', false); + Cache::config('test_cache_disable_1', array('engine'=> 'File', 'path' => TMP . 'tests')); + + $this->assertTrue(Cache::write('key_1', 'hello')); + $this->assertIdentical(Cache::read('key_1'), 'hello'); + + Configure::write('Cache.disable', true); + + $this->assertFalse(Cache::write('key_2', 'hello')); + $this->assertFalse(Cache::read('key_2')); + + Configure::write('Cache.disable', false); + + $this->assertTrue(Cache::write('key_3', 'hello')); + $this->assertIdentical(Cache::read('key_3'), 'hello'); + + Configure::write('Cache.disable', true); + Cache::config('test_cache_disable_2', array('engine'=> 'File', 'path' => TMP . 'tests')); + + $this->assertFalse(Cache::write('key_4', 'hello')); + $this->assertFalse(Cache::read('key_4')); + + Configure::write('Cache.disable', false); + + $this->assertTrue(Cache::write('key_5', 'hello')); + $this->assertIdentical(Cache::read('key_5'), 'hello'); + + Configure::write('Cache.disable', true); + + $this->assertFalse(Cache::write('key_6', 'hello')); + $this->assertFalse(Cache::read('key_6')); + } /** * testSet method * @@ -154,7 +211,7 @@ class CacheTest extends CakeTestCase { * @return void */ function testSet() { - $write = false; + $_cacheSet = Cache::set(); Cache::set(array('duration' => '+1 year')); $data = Cache::read('test_cache'); @@ -162,17 +219,17 @@ class CacheTest extends CakeTestCase { $data = 'this is just a simple test of the cache system'; $write = Cache::write('test_cache', $data); - $this->assertTrue($write); Cache::set(array('duration' => '+1 year')); $data = Cache::read('test_cache'); - $this->assertEqual($data, 'this is just a simple test of the cache system'); Cache::delete('test_cache'); $global = Cache::settings(); + + Cache::set($_cacheSet); } } ?> \ No newline at end of file From 6551e2a45d767e3194bb22a7979fa33569b7a03a Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Sat, 28 Mar 2009 02:46:23 +0000 Subject: [PATCH 34/67] Adding test for file input creation on hasOne relationship. Refs #6223 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8132 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../cases/libs/view/helpers/form.test.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index f8ea43830..a310b1c57 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -4286,6 +4286,26 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } +/** + * test File upload input on a model not used in create(); + * + * @return void + **/ + function testFileUploadOnOtherModel() { + ClassRegistry::removeObject('view'); + $controller =& new Controller(); + $controller->name = 'ValidateUsers'; + $controller->uses = array('ValidateUser'); + $controller->constructClasses(); + $view =& new View($controller, true); + + $this->Form->create('ValidateUser', array('type' => 'file')); + $result = $this->Form->file('ValidateProfile.city'); + $expected = array( + 'input' => array('type' => 'file', 'name' => 'data[ValidateProfile][city]', 'value' => '', 'id' => 'ValidateProfileCity') + ); + $this->assertTags($result, $expected); + } /** * testButton method * From 392a6b195d8aefb5b8582f1a0a95b5a851c448d9 Mon Sep 17 00:00:00 2001 From: davidpersson <davidpersson@gmx.de> Date: Wed, 1 Apr 2009 17:54:25 +0000 Subject: [PATCH 35/67] Adding tests for Folder::copy and ::move showing that skipping existing subdirectories is the intended behavior. Disproves #6529. Refs #6529. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8133 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/folder.test.php | 138 +++++++++++++++++++++++++- 1 file changed, 137 insertions(+), 1 deletion(-) diff --git a/cake/tests/cases/libs/folder.test.php b/cake/tests/cases/libs/folder.test.php index 2e9bc4567..6fad570de 100644 --- a/cake/tests/cases/libs/folder.test.php +++ b/cake/tests/cases/libs/folder.test.php @@ -566,5 +566,141 @@ class FolderTest extends CakeTestCase { ); $this->assertEqual($expected, $messages); } +/** + * testCopy method + * + * Verify that directories and files are copied recursively + * even if the destination directory already exists. + * Subdirectories existing in both destination and source directory + * are skipped and not merged or overwritten. + * + * @return void + * @access public + * @link https://trac.cakephp.org/ticket/6259 + */ + function testCopy() { + $path = TMP . 'folder_test'; + $folder1 = $path . DS . 'folder1'; + $folder2 = $folder1 . DS . 'folder2'; + $folder3 = $path . DS . 'folder3'; + $file1 = $folder1 . DS . 'file1.php'; + $file2 = $folder2 . DS . 'file2.php'; + + new Folder($path, true); + new Folder($folder1, true); + new Folder($folder2, true); + new Folder($folder3, true); + touch($file1); + touch($file2); + + $Folder =& new Folder($folder1); + $result = $Folder->copy($folder3); + $this->assertTrue($result); + $this->assertTrue(file_exists($folder3 . DS . 'file1.php')); + $this->assertTrue(file_exists($folder3 . DS . 'folder2' . DS . 'file2.php')); + + $Folder =& new Folder($folder3); + $Folder->delete(); + + $Folder =& new Folder($folder1); + $result = $Folder->copy($folder3); + $this->assertTrue($result); + $this->assertTrue(file_exists($folder3 . DS . 'file1.php')); + $this->assertTrue(file_exists($folder3 . DS . 'folder2' . DS . 'file2.php')); + + $Folder =& new Folder($folder3); + $Folder->delete(); + + new Folder($folder3, true); + new Folder($folder3 . DS . 'folder2', true); + file_put_contents($folder3 . DS . 'folder2' . DS . 'file2.php', 'untouched'); + + $Folder =& new Folder($folder1); + $result = $Folder->copy($folder3); + $this->assertTrue($result); + $this->assertTrue(file_exists($folder3 . DS . 'file1.php')); + $this->assertEqual(file_get_contents($folder3 . DS . 'folder2' . DS . 'file2.php'), 'untouched'); + + $Folder =& new Folder($path); + $Folder->delete(); + } +/** + * testMove method + * + * Verify that directories and files are moved recursively + * even if the destination directory already exists. + * Subdirectories existing in both destination and source directory + * are skipped and not merged or overwritten. + * + * @return void + * @access public + * @link https://trac.cakephp.org/ticket/6259 + */ + function testMove() { + $path = TMP . 'folder_test'; + $folder1 = $path . DS . 'folder1'; + $folder2 = $folder1 . DS . 'folder2'; + $folder3 = $path . DS . 'folder3'; + $file1 = $folder1 . DS . 'file1.php'; + $file2 = $folder2 . DS . 'file2.php'; + + new Folder($path, true); + new Folder($folder1, true); + new Folder($folder2, true); + new Folder($folder3, true); + touch($file1); + touch($file2); + + $Folder =& new Folder($folder1); + $result = $Folder->move($folder3); + $this->assertTrue($result); + $this->assertTrue(file_exists($folder3 . DS . 'file1.php')); + $this->assertTrue(is_dir($folder3 . DS . 'folder2')); + $this->assertTrue(file_exists($folder3 . DS . 'folder2' . DS . 'file2.php')); + $this->assertFalse(file_exists($file1)); + $this->assertFalse(file_exists($folder2)); + $this->assertFalse(file_exists($file2)); + + $Folder =& new Folder($folder3); + $Folder->delete(); + + new Folder($folder1, true); + new Folder($folder2, true); + touch($file1); + touch($file2); + + $Folder =& new Folder($folder1); + $result = $Folder->move($folder3); + $this->assertTrue($result); + $this->assertTrue(file_exists($folder3 . DS . 'file1.php')); + $this->assertTrue(is_dir($folder3 . DS . 'folder2')); + $this->assertTrue(file_exists($folder3 . DS . 'folder2' . DS . 'file2.php')); + $this->assertFalse(file_exists($file1)); + $this->assertFalse(file_exists($folder2)); + $this->assertFalse(file_exists($file2)); + + $Folder =& new Folder($folder3); + $Folder->delete(); + + new Folder($folder1, true); + new Folder($folder2, true); + new Folder($folder3, true); + new Folder($folder3 . DS . 'folder2', true); + touch($file1); + touch($file2); + file_put_contents($folder3 . DS . 'folder2' . DS . 'file2.php', 'untouched'); + + $Folder =& new Folder($folder1); + $result = $Folder->move($folder3); + $this->assertTrue($result); + $this->assertTrue(file_exists($folder3 . DS . 'file1.php')); + $this->assertEqual(file_get_contents($folder3 . DS . 'folder2' . DS . 'file2.php'), 'untouched'); + $this->assertFalse(file_exists($file1)); + $this->assertFalse(file_exists($folder2)); + $this->assertFalse(file_exists($file2)); + + $Folder =& new Folder($path); + $Folder->delete(); + } } -?> \ No newline at end of file +?> From d74e2d1a73f36ca777ca0df45d9411242d65f31f Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Sat, 4 Apr 2009 02:42:46 +0000 Subject: [PATCH 36/67] Fixing newline escaping for single quote strings, output now matches json_encode(). Test added, and old test fixed. Fixing buffering issues, causing test suite menu to disappear when running JavascriptHelper Test case. Fixes #6167 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8134 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/javascript.php | 2 +- .../cases/libs/view/helpers/javascript.test.php | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/cake/libs/view/helpers/javascript.php b/cake/libs/view/helpers/javascript.php index 3fe878711..9a921deb9 100644 --- a/cake/libs/view/helpers/javascript.php +++ b/cake/libs/view/helpers/javascript.php @@ -319,7 +319,7 @@ class JavascriptHelper extends AppHelper { * @return string Escaped string. */ function escapeString($string) { - $escape = array("\r\n" => '\n', "\r" => '\n', "\n" => '\n', '"' => '\"', "'" => "\\'"); + $escape = array('\n' => '\\\n', "\r\n" => '\n', "\r" => '\n', "\n" => '\n', '"' => '\"', "'" => "\\'"); return str_replace(array_keys($escape), array_values($escape), $string); } /** diff --git a/cake/tests/cases/libs/view/helpers/javascript.test.php b/cake/tests/cases/libs/view/helpers/javascript.test.php index 581f982c1..1c4bdc297 100644 --- a/cake/tests/cases/libs/view/helpers/javascript.test.php +++ b/cake/tests/cases/libs/view/helpers/javascript.test.php @@ -408,6 +408,7 @@ class JavascriptTest extends CakeTestCase { * @return void */ function testScriptBlock() { + ob_flush(); $result = $this->Javascript->codeBlock('something', array('allowCache' => true, 'safe' => false)); $this->assertPattern('/^<script[^<>]+>something<\/script>$/', $result); $this->assertPattern('/^<script[^<>]+type="text\/javascript">something<\/script>$/', $result); @@ -657,6 +658,18 @@ class JavascriptTest extends CakeTestCase { $result = $this->Javascript->escapeString('my \\"string\\"'); $expected = 'my \\\"string\\\"'; $this->assertEqual($result, $expected); + + $result = $this->Javascript->escapeString('my string\nanother line'); + $expected = 'my string\\\nanother line'; + $this->assertEqual($result, $expected); + + $result = $this->Javascript->escapeString('String with \n string that looks like newline'); + $expected = 'String with \\\n string that looks like newline'; + $this->assertEqual($result, $expected); + + $result = $this->Javascript->escapeString('String with \n string that looks like newline'); + $expected = 'String with \\\n string that looks like newline'; + $this->assertEqual($result, $expected); } /** * testAfterRender method From 5c4f838f5a5ed71d56daf6bb5779ce00161ba379 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Mon, 6 Apr 2009 00:45:53 +0000 Subject: [PATCH 37/67] Adding buffer flush to ajax helper test. Test suite menus now properly display. Fixing Drag options. Adding test coverage. Fixes #6266 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8135 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/ajax.php | 3 ++- cake/tests/cases/libs/view/helpers/ajax.test.php | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cake/libs/view/helpers/ajax.php b/cake/libs/view/helpers/ajax.php index bc4aad584..f1621d229 100644 --- a/cake/libs/view/helpers/ajax.php +++ b/cake/libs/view/helpers/ajax.php @@ -81,7 +81,8 @@ class AjaxHelper extends AppHelper { */ var $dragOptions = array( 'handle', 'revert', 'snap', 'zindex', 'constraint', 'change', 'ghosting', - 'starteffect', 'reverteffect', 'endeffect' + 'starteffect', 'reverteffect', 'endeffect', 'scroll', 'scrollSensitivity', + 'onStart', 'onDrag', 'onDropped' , 'onEnd' ); /** * Options for droppable. diff --git a/cake/tests/cases/libs/view/helpers/ajax.test.php b/cake/tests/cases/libs/view/helpers/ajax.test.php index 78060a7d8..ae024f455 100644 --- a/cake/tests/cases/libs/view/helpers/ajax.test.php +++ b/cake/tests/cases/libs/view/helpers/ajax.test.php @@ -300,6 +300,10 @@ class AjaxHelperTest extends CakeTestCase { '/script' ); $this->assertTags($result, $expected); + + $result = $this->Ajax->drag('id', array('onDrag' => 'doDrag', 'onDropped' => 'doDrop')); + $this->assertPattern('/onDrag:doDrag/', $result); + $this->assertPattern('/onDropped:doDrop/', $result); } /** * testDroppable method @@ -795,6 +799,7 @@ class AjaxHelperTest extends CakeTestCase { * @return void */ function testDiv() { + ob_flush(); $oldXUpdate = env('HTTP_X_UPDATE'); $result = $this->Ajax->div('myDiv'); From 5f4cdf91ac62dab3419b1d14d029ebd5f076c1cd Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Mon, 6 Apr 2009 00:57:46 +0000 Subject: [PATCH 38/67] Fixing AjaxHelper::dragOptions to match scriptaculous docs. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8136 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/ajax.php | 2 +- cake/tests/cases/libs/view/helpers/ajax.test.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cake/libs/view/helpers/ajax.php b/cake/libs/view/helpers/ajax.php index f1621d229..97d5c9580 100644 --- a/cake/libs/view/helpers/ajax.php +++ b/cake/libs/view/helpers/ajax.php @@ -82,7 +82,7 @@ class AjaxHelper extends AppHelper { var $dragOptions = array( 'handle', 'revert', 'snap', 'zindex', 'constraint', 'change', 'ghosting', 'starteffect', 'reverteffect', 'endeffect', 'scroll', 'scrollSensitivity', - 'onStart', 'onDrag', 'onDropped' , 'onEnd' + 'onStart', 'onDrag', 'onEnd' ); /** * Options for droppable. diff --git a/cake/tests/cases/libs/view/helpers/ajax.test.php b/cake/tests/cases/libs/view/helpers/ajax.test.php index ae024f455..28405e628 100644 --- a/cake/tests/cases/libs/view/helpers/ajax.test.php +++ b/cake/tests/cases/libs/view/helpers/ajax.test.php @@ -303,7 +303,7 @@ class AjaxHelperTest extends CakeTestCase { $result = $this->Ajax->drag('id', array('onDrag' => 'doDrag', 'onDropped' => 'doDrop')); $this->assertPattern('/onDrag:doDrag/', $result); - $this->assertPattern('/onDropped:doDrop/', $result); + $this->assertPattern('/onEnd:doEnd/', $result); } /** * testDroppable method From 9491e4632d3360072d6bd7fa6e3d2c29a4b102c9 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Tue, 7 Apr 2009 14:56:30 +0000 Subject: [PATCH 39/67] Applying patch from 'SkieDr' to fix custom find type pagination. Removes parameters from exiting paginate(). Test case added. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8137 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/controller.php | 13 +++++++----- .../cases/libs/controller/controller.test.php | 20 +++++++++++++++++++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/cake/libs/controller/controller.php b/cake/libs/controller/controller.php index 116e993d8..19a9aef76 100644 --- a/cake/libs/controller/controller.php +++ b/cake/libs/controller/controller.php @@ -1030,6 +1030,14 @@ class Controller extends Object { if (!isset($defaults['conditions'])) { $defaults['conditions'] = array(); } + + $type = 'all'; + + if (isset($defaults[0])) { + $type = $defaults[0]; + unset($defaults[0]); + } + extract($options = array_merge(array('page' => 1, 'limit' => 20), $defaults, $options)); if (is_array($scope) && !empty($scope)) { @@ -1040,12 +1048,7 @@ class Controller extends Object { if ($recursive === null) { $recursive = $object->recursive; } - $type = 'all'; - if (isset($defaults[0])) { - $type = $defaults[0]; - unset($defaults[0]); - } $extra = array_diff_key($defaults, compact( 'conditions', 'fields', 'order', 'limit', 'page', 'recursive' )); diff --git a/cake/tests/cases/libs/controller/controller.test.php b/cake/tests/cases/libs/controller/controller.test.php index 753717ec8..53b1663ed 100644 --- a/cake/tests/cases/libs/controller/controller.test.php +++ b/cake/tests/cases/libs/controller/controller.test.php @@ -604,6 +604,26 @@ class ControllerTest extends CakeTestCase { ); $this->assertEqual($Controller->params['paging']['ControllerPost']['options'],$expected); } +/** + * Test that special paginate types are called and that the type param doesn't leak out into defaults or options. + * + * @return void + **/ + function testPaginateSpecialType() { + $Controller =& new Controller(); + $Controller->uses = array('ControllerPost', 'ControllerComment'); + $Controller->passedArgs[] = '1'; + $Controller->params['url'] = array(); + $Controller->constructClasses(); + + $Controller->paginate = array('ControllerPost' => array('popular', 'fields' => array('id', 'title'))); + $result = $Controller->paginate('ControllerPost'); + + $this->assertEqual(Set::extract($result, '{n}.ControllerPost.id'), array(2, 3)); + $this->assertEqual($Controller->ControllerPost->lastQuery['conditions'], array('ControllerPost.id > ' => '1')); + $this->assertFalse(isset($Controller->params['paging']['ControllerPost']['defaults'][0])); + $this->assertFalse(isset($Controller->params['paging']['ControllerPost']['options'][0])); + } /** * testDefaultPaginateParams method * From bf2829a896edf7c663d6c130d1d789862a9756cc Mon Sep 17 00:00:00 2001 From: the_undefined <felix@debuggable.com> Date: Thu, 9 Apr 2009 13:15:43 +0000 Subject: [PATCH 40/67] Fixed bug related to the order in which some replacement take place git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8138 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/string.php | 2 ++ cake/tests/cases/libs/string.test.php | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/cake/libs/string.php b/cake/libs/string.php index 8c73551a6..286017bdb 100644 --- a/cake/libs/string.php +++ b/cake/libs/string.php @@ -237,6 +237,8 @@ class String extends Object { $str = substr_replace($str, $val, $pos, 1); } } else { + asort($data); + $hashKeys = array_map('md5', array_keys($data)); $tempData = array_combine(array_keys($data), array_values($hashKeys)); foreach ($tempData as $key => $hashVal) { diff --git a/cake/tests/cases/libs/string.test.php b/cake/tests/cases/libs/string.test.php index 0bb0460ab..1e15a89be 100644 --- a/cake/tests/cases/libs/string.test.php +++ b/cake/tests/cases/libs/string.test.php @@ -88,6 +88,11 @@ class StringTest extends CakeTestCase { $result = String::insert($string, array('sum' => '4', 'adjective' => 'yummy'), array('format' => '/([\d])([\d])%s\\2\\1/')); $this->assertEqual($result, $expected); + $string = ':web :web_site'; + $expected = 'www http'; + $result = String::insert($string, array('web' => 'www', 'web_site' => 'http')); + $this->assertEqual($result, $expected); + $string = '2 + 2 = <sum. Cake is <adjective>.'; $expected = '2 + 2 = <sum. Cake is yummy.'; $result = String::insert($string, array('sum' => '4', 'adjective' => 'yummy'), array('before' => '<', 'after' => '>')); From 066629d5665e90c617359d8e789a77885bce9b9d Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Mon, 13 Apr 2009 14:15:58 +0000 Subject: [PATCH 41/67] Removing hard-coded 'id' field from Model::_prepareUpdateFields. Fixes #6274. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8139 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/model.php | 2 +- cake/tests/cases/libs/model/model.test.php | 35 +++++++++++++++++++--- cake/tests/cases/libs/model/models.php | 25 ++++++++++++++-- 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index d1da65496..05b655975 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -1420,7 +1420,7 @@ class Model extends Overloadable { return array(); } $old = $this->find('first', array( - 'conditions' => array('id' => $this->id), + 'conditions' => array($this->primaryKey => $this->id), 'fields' => array_values($included), 'recursive' => -1 )); diff --git a/cake/tests/cases/libs/model/model.test.php b/cake/tests/cases/libs/model/model.test.php index 270565701..42170ae0c 100644 --- a/cake/tests/cases/libs/model/model.test.php +++ b/cake/tests/cases/libs/model/model.test.php @@ -63,9 +63,11 @@ class ModelTest extends CakeTestCase { 'core.dependency', 'core.story', 'core.stories_tag', 'core.cd', 'core.book', 'core.basket', 'core.overall_favorite', 'core.account', 'core.content', 'core.content_account', 'core.film_file', 'core.test_plugin_article', 'core.test_plugin_comment', 'core.uuiditem', - 'core.counter_cache_user', 'core.counter_cache_post', 'core.uuidportfolio', - 'core.uuiditems_uuidportfolio', 'core.uuiditems_uuidportfolio_numericid', - 'core.fruit', 'core.fruits_uuid_tag', 'core.uuid_tag' + 'core.counter_cache_user', 'core.counter_cache_post', + 'core.counter_cache_user_nonstandard_primary_key', + 'core.counter_cache_post_nonstandard_primary_key', 'core.uuidportfolio', + 'core.uuiditems_uuidportfolio', 'core.uuiditems_uuidportfolio_numericid', 'core.fruit', + 'core.fruits_uuid_tag', 'core.uuid_tag' ); /** * start method @@ -3876,7 +3878,6 @@ class ModelTest extends CakeTestCase { $result = $user[$User->alias]['post_count']; $expected = 3; $this->assertEqual($result, $expected); - } /** * Tests that counter caches are updated when records are deleted @@ -3919,6 +3920,32 @@ class ModelTest extends CakeTestCase { $this->assertEqual($users[0]['User']['post_count'], 1); $this->assertEqual($users[1]['User']['post_count'], 2); } +/** + * Test counter cache with models that use a non-standard (i.e. not using 'id') + * as their primary key. + * + * @access public + * @return void + */ + function testCounterCacheWithNonstandardPrimaryKey() { + $this->loadFixtures( + 'CounterCacheUserNonstandardPrimaryKey', + 'CounterCachePostNonstandardPrimaryKey' + ); + + $User = new CounterCacheUserNonstandardPrimaryKey(); + $Post = new CounterCachePostNonstandardPrimaryKey(); + + $data = $Post->find('first', array( + 'conditions' => array('pid' => 1),'recursive' => -1 + )); + $data[$Post->alias]['uid'] = 301; + $Post->save($data); + + $users = $User->find('all',array('order' => 'User.uid')); + $this->assertEqual($users[0]['User']['post_count'], 1); + $this->assertEqual($users[1]['User']['post_count'], 2); + } /** * test Counter Cache With Self Joining table * diff --git a/cake/tests/cases/libs/model/models.php b/cake/tests/cases/libs/model/models.php index 839e9f6ab..617491c90 100644 --- a/cake/tests/cases/libs/model/models.php +++ b/cake/tests/cases/libs/model/models.php @@ -2858,7 +2858,6 @@ class TranslatedArticle extends CakeTestModel { class CounterCacheUser extends CakeTestModel { var $name = 'CounterCacheUser'; var $alias = 'User'; - var $fixture = 'counter_cache_user'; var $hasMany = array('Post' => array( 'className' => 'CounterCachePost', @@ -2869,7 +2868,6 @@ class CounterCacheUser extends CakeTestModel { class CounterCachePost extends CakeTestModel { var $name = 'CounterCachePost'; var $alias = 'Post'; - var $fixture = 'counter_cache_user'; var $belongsTo = array('User' => array( 'className' => 'CounterCacheUser', @@ -2878,6 +2876,29 @@ class CounterCachePost extends CakeTestModel { )); } +class CounterCacheUserNonstandardPrimaryKey extends CakeTestModel { + var $name = 'CounterCacheUserNonstandardPrimaryKey'; + var $alias = 'User'; + var $primaryKey = 'uid'; + + var $hasMany = array('Post' => array( + 'className' => 'CounterCachePostNonstandardPrimaryKey', + 'foreignKey' => 'uid' + )); +} + +class CounterCachePostNonstandardPrimaryKey extends CakeTestModel { + var $name = 'CounterCachePostNonstandardPrimaryKey'; + var $alias = 'Post'; + var $primaryKey = 'pid'; + + var $belongsTo = array('User' => array( + 'className' => 'CounterCacheUserNonstandardPrimaryKey', + 'foreignKey' => 'uid', + 'counterCache' => true + )); +} + class ArticleB extends CakeTestModel { var $name = 'ArticleB'; var $useTable = 'articles'; From 225e5e6aa8715d85e4a91972666fce8baf19b5d4 Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Mon, 13 Apr 2009 14:25:01 +0000 Subject: [PATCH 42/67] Adding missing fixtures from last commit. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8140 3807eeeb-6ff5-0310-8944-8be069107fe0 --- ...e_post_nonstandard_primary_key_fixture.php | 50 +++++++++++++++++++ ...e_user_nonstandard_primary_key_fixture.php | 49 ++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 cake/tests/fixtures/counter_cache_post_nonstandard_primary_key_fixture.php create mode 100644 cake/tests/fixtures/counter_cache_user_nonstandard_primary_key_fixture.php diff --git a/cake/tests/fixtures/counter_cache_post_nonstandard_primary_key_fixture.php b/cake/tests/fixtures/counter_cache_post_nonstandard_primary_key_fixture.php new file mode 100644 index 000000000..15c577dc2 --- /dev/null +++ b/cake/tests/fixtures/counter_cache_post_nonstandard_primary_key_fixture.php @@ -0,0 +1,50 @@ +<?php +/* SVN FILE: $Id: counter_cache_fixture.php 7848 2008-11-08 02:58:37Z nate $ */ +/** + * Short description for file. + * + * Long description for file + * + * PHP versions 4 and 5 + * + * CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite> + * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * + * Licensed under The Open Group Test Suite License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests + * @package cake + * @subpackage cake.tests.fixtures + * @since CakePHP(tm) v 1.2.0.4667 + * @version $Revision: 7848 $ + * @modifiedby $LastChangedBy: renan.saddam $ + * @lastmodified $Date: 2008-11-07 21:58:37 -0500 (Fri, 07 Nov 2008) $ + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + */ +/** + * Short description for class. + * + * @package cake + * @subpackage cake.tests.fixtures + */ +class CounterCachePostNonstandardPrimaryKeyFixture extends CakeTestFixture { + + var $name = 'CounterCachePostNonstandardPrimaryKey'; + + var $fields = array( + 'pid' => array('type' => 'integer', 'key' => 'primary'), + 'title' => array('type' => 'string', 'length' => 255, 'null' => false), + 'uid' => array('type' => 'integer', 'null' => true), + ); + + var $records = array( + array('pid' => 1, 'title' => 'Rock and Roll', 'uid' => 66), + array('pid' => 2, 'title' => 'Music', 'uid' => 66), + array('pid' => 3, 'title' => 'Food', 'uid' => 301), + ); +} + +?> \ No newline at end of file diff --git a/cake/tests/fixtures/counter_cache_user_nonstandard_primary_key_fixture.php b/cake/tests/fixtures/counter_cache_user_nonstandard_primary_key_fixture.php new file mode 100644 index 000000000..e7bb7658b --- /dev/null +++ b/cake/tests/fixtures/counter_cache_user_nonstandard_primary_key_fixture.php @@ -0,0 +1,49 @@ +<?php +/* SVN FILE: $Id: counter_cache_user_fixture.php 7848 2008-11-08 02:58:37Z nate $ */ +/** + * Short description for file. + * + * Long description for file + * + * PHP versions 4 and 5 + * + * CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite> + * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * + * Licensed under The Open Group Test Suite License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org) + * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests + * @package cake + * @subpackage cake.tests.fixtures + * @since CakePHP(tm) v 1.2.0.4667 + * @version $Revision: 7848 $ + * @modifiedby $LastChangedBy: renan.saddam $ + * @lastmodified $Date: 2008-11-07 21:58:37 -0500 (Fri, 07 Nov 2008) $ + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + */ +/** + * Short description for class. + * + * @package cake + * @subpackage cake.tests.fixtures + */ +class CounterCacheUserNonstandardPrimaryKeyFixture extends CakeTestFixture { + + var $name = 'CounterCacheUserNonstandardPrimaryKey'; + + var $fields = array( + 'uid' => array('type' => 'integer', 'key' => 'primary'), + 'name' => array('type' => 'string', 'length' => 255, 'null' => false), + 'post_count' => array('type' => 'integer', 'null' => true) + ); + + var $records = array( + array('uid' => 66, 'name' => 'Alexander','post_count' => 2), + array('uid' => 301, 'name' => 'Steven','post_count' => 1), + ); +} + +?> \ No newline at end of file From 97652231a08576968391e313d32b4ec2bfc9009f Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Tue, 14 Apr 2009 13:16:25 +0000 Subject: [PATCH 43/67] Fixing RequestHandlerComponent::prefers() with array input. Test case updated. Fixes #6290 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8141 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/components/request_handler.php | 7 ++++++- .../libs/controller/components/request_handler.test.php | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cake/libs/controller/components/request_handler.php b/cake/libs/controller/components/request_handler.php index b4f9adead..8887ff443 100644 --- a/cake/libs/controller/components/request_handler.php +++ b/cake/libs/controller/components/request_handler.php @@ -524,6 +524,7 @@ class RequestHandlerComponent extends Object { return $this->ext; } + $types = $type; if (is_string($type)) { $types = array($type); } @@ -550,7 +551,11 @@ class RequestHandlerComponent extends Object { return $accepts[0]; } - $accepts = array_intersect($this->__acceptTypes, $accepts); + $acceptedTypes = array(); + foreach ($this->__acceptTypes as $type) { + $acceptedTypes[] = $this->mapType($type); + } + $accepts = array_intersect($acceptedTypes, $accepts); return $accepts[0]; } /** diff --git a/cake/tests/cases/libs/controller/components/request_handler.test.php b/cake/tests/cases/libs/controller/components/request_handler.test.php index 3a597e8de..0af25da9c 100644 --- a/cake/tests/cases/libs/controller/components/request_handler.test.php +++ b/cake/tests/cases/libs/controller/components/request_handler.test.php @@ -416,6 +416,7 @@ class RequestHandlerComponentTest extends CakeTestCase { $this->RequestHandler->ext = 'rss'; $this->assertEqual($this->RequestHandler->prefers(), 'rss'); $this->assertFalse($this->RequestHandler->prefers('xml')); + $this->assertEqual($this->RequestHandler->prefers(array('js', 'xml', 'xhtml')), 'xml'); $this->assertTrue($this->RequestHandler->accepts('xml')); $_SERVER['HTTP_ACCEPT'] = 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'; From fcb8ef25d6a1add84483d061be04ae44434799cd Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Tue, 14 Apr 2009 23:13:43 +0000 Subject: [PATCH 44/67] Renaming setUp() to startTest() in Controller task. Fixes issues with fixtures and baked controller tests. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8142 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/console/libs/tasks/controller.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cake/console/libs/tasks/controller.php b/cake/console/libs/tasks/controller.php index 72f13d415..aefe126ea 100644 --- a/cake/console/libs/tasks/controller.php +++ b/cake/console/libs/tasks/controller.php @@ -465,11 +465,11 @@ class ControllerTask extends Shell { $out .= "\tvar \$autoRender = false;\n}\n\n"; $out .= "class {$className}ControllerTest extends CakeTestCase {\n"; $out .= "\tvar \${$className} = null;\n\n"; - $out .= "\tfunction setUp() {\n\t\t\$this->{$className} = new Test{$className}();"; + $out .= "\tfunction startTest() {\n\t\t\$this->{$className} = new Test{$className}();"; $out .= "\n\t\t\$this->{$className}->constructClasses();\n\t}\n\n"; $out .= "\tfunction test{$className}ControllerInstance() {\n"; $out .= "\t\t\$this->assertTrue(is_a(\$this->{$className}, '{$className}Controller'));\n\t}\n\n"; - $out .= "\tfunction tearDown() {\n\t\tunset(\$this->{$className});\n\t}\n}\n"; + $out .= "\tfunction endTest() {\n\t\tunset(\$this->{$className});\n\t}\n}\n"; $path = CONTROLLER_TESTS; if (isset($this->plugin)) { From 32107f5fbaa0493494baf24191e6586942808bd3 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Wed, 15 Apr 2009 02:14:04 +0000 Subject: [PATCH 45/67] Fixing test broken in [8136]. Adding Configure::write() to prevent fails when running helpers as a group. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8143 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/view/helpers/ajax.test.php | 2 +- cake/tests/cases/libs/view/helpers/javascript.test.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cake/tests/cases/libs/view/helpers/ajax.test.php b/cake/tests/cases/libs/view/helpers/ajax.test.php index 28405e628..439846e0d 100644 --- a/cake/tests/cases/libs/view/helpers/ajax.test.php +++ b/cake/tests/cases/libs/view/helpers/ajax.test.php @@ -301,7 +301,7 @@ class AjaxHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); - $result = $this->Ajax->drag('id', array('onDrag' => 'doDrag', 'onDropped' => 'doDrop')); + $result = $this->Ajax->drag('id', array('onDrag' => 'doDrag', 'onEnd' => 'doEnd')); $this->assertPattern('/onDrag:doDrag/', $result); $this->assertPattern('/onEnd:doEnd/', $result); } diff --git a/cake/tests/cases/libs/view/helpers/javascript.test.php b/cake/tests/cases/libs/view/helpers/javascript.test.php index 1c4bdc297..77425743b 100644 --- a/cake/tests/cases/libs/view/helpers/javascript.test.php +++ b/cake/tests/cases/libs/view/helpers/javascript.test.php @@ -141,6 +141,7 @@ class JavascriptTest extends CakeTestCase { * @return void */ function testLink() { + Configure::write('Asset.timestamp', false); $result = $this->Javascript->link('script.js'); $expected = '<script type="text/javascript" src="js/script.js"></script>'; $this->assertEqual($result, $expected); From 377108f93092ef56e98375a73a4365d954e1b4aa Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Wed, 15 Apr 2009 02:29:50 +0000 Subject: [PATCH 46/67] Adding tests to show correct usage of form::create() with querystring params. Closes #6278 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8144 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/view/helper.test.php | 6 +++++ .../cases/libs/view/helpers/form.test.php | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/cake/tests/cases/libs/view/helper.test.php b/cake/tests/cases/libs/view/helper.test.php index 8cc1b811b..e380650b9 100644 --- a/cake/tests/cases/libs/view/helper.test.php +++ b/cake/tests/cases/libs/view/helper.test.php @@ -383,6 +383,12 @@ class HelperTest extends CakeTestCase { 'controller' => 'posts', 'action' => 'index', 'param' => '%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24' )); $this->assertEqual($result, "/posts/index/param:%7Baround%20here%7D%5Bthings%5D%5Bare%5D%24%24"); + + $result = $this->Helper->url(array( + 'controller' => 'posts', 'action' => 'index', 'page' => '1', + '?' => array('one' => 'value', 'two' => 'value', 'three' => 'purple') + )); + $this->assertEqual($result, "/posts/index/page:1?one=value&two=value&three=purple"); } /** * testFieldsWithSameName method diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index a310b1c57..cb486f694 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -4528,6 +4528,32 @@ class FormHelperTest extends CakeTestCase { ); $this->assertTags($result, $expected); } +/** + * Test base form url when url param is passed with multiple parameters (&) + * + */ + function testFormCreateQuerystringParams() { + $result = $this->Form->create('Contact', array( + 'type' => 'post', + 'escape' => false, + 'url' => array( + 'controller' => 'controller', + 'action' => 'action', + '?' => array('param1' => 'value1', 'param2' => 'value2') + ) + )); + $expected = array( + 'form' => array( + 'id' => 'ContactAddForm', + 'method' => 'post', + 'action' => '/controller/action/?param1=value1&param2=value2' + ), + 'fieldset' => array('style' => 'preg:/display\s*\:\s*none;\s*/'), + 'input' => array('type' => 'hidden', 'name' => '_method', 'value' => 'POST'), + '/fieldset' + ); + $this->assertTags($result, $expected, true); + } /** * testGetFormCreate method * From 8db4fe682bf6f1e406943df9cd5a72582c36e919 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Wed, 15 Apr 2009 17:18:01 +0000 Subject: [PATCH 47/67] Allowing name attribute to pass on to hidden field in FormHelper::radio(). Fixes inconsistency with checkbox(). Test case added. Fixes #6260 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8145 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/form.php | 2 +- .../cases/libs/view/helpers/form.test.php | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/cake/libs/view/helpers/form.php b/cake/libs/view/helpers/form.php index 4ddf2e94c..2a4ff3420 100644 --- a/cake/libs/view/helpers/form.php +++ b/cake/libs/view/helpers/form.php @@ -934,7 +934,7 @@ class FormHelper extends AppHelper { if (!isset($value) || $value === '') { $hidden = $this->hidden($fieldName, array( - 'id' => $attributes['id'] . '_', 'value' => '' + 'id' => $attributes['id'] . '_', 'value' => '', 'name' => $attributes['name'] )); } $out = $hidden . join($inbetween, $out); diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index cb486f694..b06f2b7e9 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -2553,6 +2553,26 @@ class FormHelperTest extends CakeTestCase { '/label' ); $this->assertTags($result, $expected); + + + $result = $this->Form->radio('Model.field', array('option A', 'option B'), array('name' => 'data[Model][custom]')); + $expected = array( + 'fieldset' => array(), + 'legend' => array(), + 'Field', + '/legend', + 'input' => array('type' => 'hidden', 'name' => 'data[Model][custom]', 'value' => '', 'id' => 'ModelField_'), + array('input' => array('type' => 'radio', 'name' => 'data[Model][custom]', 'value' => '0', 'id' => 'ModelField0')), + array('label' => array('for' => 'ModelField0')), + 'option A', + '/label', + array('input' => array('type' => 'radio', 'name' => 'data[Model][custom]', 'value' => '1', 'id' => 'ModelField1')), + array('label' => array('for' => 'ModelField1')), + 'option B', + '/label', + '/fieldset' + ); + $this->assertTags($result, $expected); } /** * testSelect method From bd7bd5d8917bc53aa06dae01dc09670f1c770121 Mon Sep 17 00:00:00 2001 From: "renan.saddam" <renan.saddam@gmail.com> Date: Thu, 16 Apr 2009 18:12:01 +0000 Subject: [PATCH 48/67] Fixing issue when generating textarea with null value. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8146 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helper.php | 2 +- cake/tests/cases/libs/view/helpers/form.test.php | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/cake/libs/view/helper.php b/cake/libs/view/helper.php index fc12c7ac2..076622c73 100644 --- a/cake/libs/view/helper.php +++ b/cake/libs/view/helper.php @@ -591,7 +591,7 @@ class Helper extends Overloadable { if (is_array($result)) { $view =& ClassRegistry::getObject('view'); - if (isset($result[$view->fieldSuffix])) { + if (array_key_exists($view->fieldSuffix, $result)) { $result = $result[$view->fieldSuffix]; } } diff --git a/cake/tests/cases/libs/view/helpers/form.test.php b/cake/tests/cases/libs/view/helpers/form.test.php index b06f2b7e9..9358df259 100644 --- a/cake/tests/cases/libs/view/helpers/form.test.php +++ b/cake/tests/cases/libs/view/helpers/form.test.php @@ -2553,8 +2553,8 @@ class FormHelperTest extends CakeTestCase { '/label' ); $this->assertTags($result, $expected); - - + + $result = $this->Form->radio('Model.field', array('option A', 'option B'), array('name' => 'data[Model][custom]')); $expected = array( 'fieldset' => array(), @@ -4247,6 +4247,14 @@ class FormHelperTest extends CakeTestCase { '/textarea', ); $this->assertTags($result, $expected); + + $this->Form->data['Model']['0']['OtherModel']['field'] = null; + $result = $this->Form->textarea('Model.0.OtherModel.field'); + $expected = array( + 'textarea' => array('name' => 'data[Model][0][OtherModel][field]', 'id' => 'Model0OtherModelField'), + '/textarea' + ); + $this->assertTags($result, $expected); } /** * testTextAreaWithStupidCharacters method @@ -4564,8 +4572,8 @@ class FormHelperTest extends CakeTestCase { )); $expected = array( 'form' => array( - 'id' => 'ContactAddForm', - 'method' => 'post', + 'id' => 'ContactAddForm', + 'method' => 'post', 'action' => '/controller/action/?param1=value1&param2=value2' ), 'fieldset' => array('style' => 'preg:/display\s*\:\s*none;\s*/'), From bbfee7ba179a07e1f544d436ab8fa70d3fc599d1 Mon Sep 17 00:00:00 2001 From: davidpersson <davidpersson@gmx.de> Date: Fri, 17 Apr 2009 13:26:07 +0000 Subject: [PATCH 49/67] Updating Xml class to always use #document as the very root node and to create a node below it if the root option is set. Adding test. Fixes #6294 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8147 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/xml.php | 12 +++++++++--- cake/tests/cases/libs/xml.test.php | 20 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/cake/libs/xml.php b/cake/libs/xml.php index d7eab9f53..b4edf2fff 100644 --- a/cake/libs/xml.php +++ b/cake/libs/xml.php @@ -823,13 +823,19 @@ class Xml extends XmlNode { $this->{$key} = $options[$key]; } $this->__tags = $options['tags']; - parent::__construct($options['root']); + parent::__construct('#document'); + + if ($options['root'] !== '#document') { + $Root = $this->createNode($options['root']); + } else { + $Root =& $this; + } if (!empty($input)) { if (is_string($input)) { - $this->load($input); + $Root->load($input); } elseif (is_array($input) || is_object($input)) { - $this->append($input, $options); + $Root->append($input, $options); } } // if (Configure::read('App.encoding') !== null) { diff --git a/cake/tests/cases/libs/xml.test.php b/cake/tests/cases/libs/xml.test.php index 4ee508a68..f452b54df 100644 --- a/cake/tests/cases/libs/xml.test.php +++ b/cake/tests/cases/libs/xml.test.php @@ -256,6 +256,26 @@ class XmlTest extends CakeTestCase { $result = $xml->toString(array('header' => false, 'cdata' => false)); $this->assertEqual($expected, $result); } +/** + * Prove that serialization with a given root node works + * as expected. + * + * @access public + * @return void + * @link https://trac.cakephp.org/ticket/6294 + */ + function testArraySerializationWithRoot() { + $input = array( + array('Shirt' => array('id' => 1, 'color' => 'green')), + array('Shirt' => array('id' => 2, 'color' => 'blue')), + ); + $expected = '<collection><shirt id="1" color="green" />'; + $expected .= '<shirt id="2" color="blue" /></collection>'; + + $Xml = new Xml($input, array('root' => 'collection')); + $result = $Xml->toString(array('header' => false)); + $this->assertEqual($expected, $result); + } /** * testCloneNode * From 6e91ee7ad4897cbcf1a2b65a1c5244953a3c4f8c Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Mon, 20 Apr 2009 07:36:26 +0000 Subject: [PATCH 50/67] Adding tests to disprove #6306 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8148 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/router.test.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cake/tests/cases/libs/router.test.php b/cake/tests/cases/libs/router.test.php index 7cbc98161..f0bfb1441 100644 --- a/cake/tests/cases/libs/router.test.php +++ b/cake/tests/cases/libs/router.test.php @@ -1316,9 +1316,18 @@ class RouterTest extends CakeTestCase { $expected = '/others/edit/1'; $this->assertEqual($result, $expected); - $result = Router::url(array('controller' => 'others', 'action' => 'edit', 1, 'protected' => true));; + $result = Router::url(array('controller' => 'others', 'action' => 'edit', 1, 'protected' => true)); $expected = '/protected/others/edit/1'; $this->assertEqual($result, $expected); + + $result = Router::url(array('controller' => 'others', 'action' => 'edit', 1, 'protected' => true, 'page' => 1)); + $expected = '/protected/others/edit/1/page:1'; + $this->assertEqual($result, $expected); + + Router::connectNamed(array('random')); + $result = Router::url(array('controller' => 'others', 'action' => 'edit', 1, 'protected' => true, 'random' => 'my-value')); + $expected = '/protected/others/edit/1/random:my-value'; + $this->assertEqual($result, $expected); } /** * testRemoveBase method From 0cc3d5149f1e9f9442d46a2b37ea99dee9de422f Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Wed, 22 Apr 2009 16:05:13 +0000 Subject: [PATCH 51/67] fixes #6277, relaxing character length comparison for UUID git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8149 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/model.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index 05b655975..0af80bafb 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -1210,7 +1210,7 @@ class Model extends Overloadable { foreach ($this->_schema as $field => $properties) { if ($this->primaryKey === $field) { $fInfo = $this->_schema[$field]; - $isUUID = ($fInfo['length'] === 36 && + $isUUID = ($fInfo['length'] == 36 && ($fInfo['type'] === 'string' || $fInfo['type'] === 'binary') ); if (empty($this->data[$this->alias][$this->primaryKey]) && $isUUID) { @@ -1279,7 +1279,7 @@ class Model extends Overloadable { )); $isUUID = !empty($this->{$join}->primaryKey) && ( - $this->{$join}->_schema[$this->{$join}->primaryKey]['length'] === 36 && ( + $this->{$join}->_schema[$this->{$join}->primaryKey]['length'] == 36 && ( $this->{$join}->_schema[$this->{$join}->primaryKey]['type'] === 'string' || $this->{$join}->_schema[$this->{$join}->primaryKey]['type'] === 'binary' ) From fd0c39fcc6f57551c6eec75895bb3af87f18af43 Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Wed, 22 Apr 2009 16:47:34 +0000 Subject: [PATCH 52/67] fixes #6293, Deleting non-existing record causes save() to fail. Thanks to msadouni for the patch and test! git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8150 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/model.php | 2 +- cake/tests/cases/libs/model/model.test.php | 42 ++++++++++++++++++---- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index 0af80bafb..5238bb242 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -1853,7 +1853,7 @@ class Model extends Overloadable { if ($this->getID() === false || $this->useTable === false) { return false; } - if ($this->__exists !== null && $reset !== true) { + if (!empty($this->__exists) && $reset !== true) { return $this->__exists; } $conditions = array($this->alias . '.' . $this->primaryKey => $this->getID()); diff --git a/cake/tests/cases/libs/model/model.test.php b/cake/tests/cases/libs/model/model.test.php index 42170ae0c..595335172 100644 --- a/cake/tests/cases/libs/model/model.test.php +++ b/cake/tests/cases/libs/model/model.test.php @@ -63,10 +63,10 @@ class ModelTest extends CakeTestCase { 'core.dependency', 'core.story', 'core.stories_tag', 'core.cd', 'core.book', 'core.basket', 'core.overall_favorite', 'core.account', 'core.content', 'core.content_account', 'core.film_file', 'core.test_plugin_article', 'core.test_plugin_comment', 'core.uuiditem', - 'core.counter_cache_user', 'core.counter_cache_post', - 'core.counter_cache_user_nonstandard_primary_key', - 'core.counter_cache_post_nonstandard_primary_key', 'core.uuidportfolio', - 'core.uuiditems_uuidportfolio', 'core.uuiditems_uuidportfolio_numericid', 'core.fruit', + 'core.counter_cache_user', 'core.counter_cache_post', + 'core.counter_cache_user_nonstandard_primary_key', + 'core.counter_cache_post_nonstandard_primary_key', 'core.uuidportfolio', + 'core.uuiditems_uuidportfolio', 'core.uuiditems_uuidportfolio_numericid', 'core.fruit', 'core.fruits_uuid_tag', 'core.uuid_tag' ); /** @@ -3921,7 +3921,7 @@ class ModelTest extends CakeTestCase { $this->assertEqual($users[1]['User']['post_count'], 2); } /** - * Test counter cache with models that use a non-standard (i.e. not using 'id') + * Test counter cache with models that use a non-standard (i.e. not using 'id') * as their primary key. * * @access public @@ -3929,7 +3929,7 @@ class ModelTest extends CakeTestCase { */ function testCounterCacheWithNonstandardPrimaryKey() { $this->loadFixtures( - 'CounterCacheUserNonstandardPrimaryKey', + 'CounterCacheUserNonstandardPrimaryKey', 'CounterCachePostNonstandardPrimaryKey' ); @@ -4027,6 +4027,36 @@ class ModelTest extends CakeTestCase { array('Article' => array('id' => 1, 'title' => 'First Article' )) ); $this->assertEqual($result, $expected); + + + // make sure deleting a non-existent record doesn't break save() + // ticket #6293 + $this->loadFixtures('Uuid'); + $Uuid =& new Uuid(); + $data = array( + 'B607DAB9-88A2-46CF-B57C-842CA9E3B3B3', + '52C8865C-10EE-4302-AE6C-6E7D8E12E2C8', + '8208C7FE-E89C-47C5-B378-DED6C271F9B8'); + foreach ($data as $id) { + $Uuid->save(array('id' => $id)); + } + $Uuid->del('52C8865C-10EE-4302-AE6C-6E7D8E12E2C8'); + $Uuid->del('52C8865C-10EE-4302-AE6C-6E7D8E12E2C8'); + foreach ($data as $id) { + $Uuid->save(array('id' => $id)); + } + $result = $Uuid->find('all', array( + 'conditions' => array('id' => $data), + 'fields' => array('id'), + 'order' => 'id')); + $expected = array( + array('Uuid' => array( + 'id' => '52C8865C-10EE-4302-AE6C-6E7D8E12E2C8')), + array('Uuid' => array( + 'id' => '8208C7FE-E89C-47C5-B378-DED6C271F9B8')), + array('Uuid' => array( + 'id' => 'B607DAB9-88A2-46CF-B57C-842CA9E3B3B3'))); + $this->assertEqual($result, $expected); } /** * testDeleteAll method From 82cb895f505e3f50ef14473bc0d11310eadf0fc0 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Thu, 23 Apr 2009 17:26:56 +0000 Subject: [PATCH 53/67] Correcting test case simulation. Closes #6211 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8151 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../cases/libs/controller/components/auth.test.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cake/tests/cases/libs/controller/components/auth.test.php b/cake/tests/cases/libs/controller/components/auth.test.php index f10eae7a7..e65ec4c08 100644 --- a/cake/tests/cases/libs/controller/components/auth.test.php +++ b/cake/tests/cases/libs/controller/components/auth.test.php @@ -839,16 +839,22 @@ class AuthTest extends CakeTestCase { $this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect')); // QueryString parameters + $_back = $_GET; + $_GET = array( + 'url' => '/posts/index/29?print=true&refer=menu', + 'print' => 'true', + 'refer' => 'menu' + ); $this->Controller->Session->del('Auth'); $url = '/posts/index/29?print=true&refer=menu'; - $this->Controller->params = Router::parse($url); - $this->Controller->params['url']['url'] = Router::normalize($url); + $this->Controller->params = Dispatcher::parseParams($url); $this->Controller->Auth->initialize($this->Controller); $this->Controller->Auth->loginAction = array('controller' => 'AuthTest', 'action' => 'login'); $this->Controller->Auth->userModel = 'AuthUser'; $this->Controller->Auth->startup($this->Controller); $expected = Router::normalize('posts/index/29?print=true&refer=menu'); $this->assertEqual($expected, $this->Controller->Session->read('Auth.redirect')); + $_GET = $_back; //external authed action $_SERVER['HTTP_REFERER'] = 'http://webmail.example.com/view/message'; From 650d1e7c789e6242add3872b6e9966838b6d2091 Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Fri, 24 Apr 2009 18:20:51 +0000 Subject: [PATCH 54/67] Removing hard coded HELO hostname of 'cake' in EmailComponent; better compliance with RFC-821 3.5. Test cases added. Fixes #6264. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8152 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/components/email.php | 8 +- .../libs/controller/components/email.test.php | 222 +++++++++++------- 2 files changed, 148 insertions(+), 82 deletions(-) diff --git a/cake/libs/controller/components/email.php b/cake/libs/controller/components/email.php index c8a368b3d..71b013a14 100644 --- a/cake/libs/controller/components/email.php +++ b/cake/libs/controller/components/email.php @@ -673,7 +673,13 @@ class EmailComponent extends Object{ return false; } - if (!$this->__smtpSend('HELO cake', '250')) { + if (isset($this->smtpOptions['host'])) { + $host = $this->smtpOptions['host']; + } else { + $host = env('HTTP_HOST'); + } + + if (!$this->__smtpSend("HELO {$host}", '250')) { return false; } diff --git a/cake/tests/cases/libs/controller/components/email.test.php b/cake/tests/cases/libs/controller/components/email.test.php index cfe806c06..4258c952c 100644 --- a/cake/tests/cases/libs/controller/components/email.test.php +++ b/cake/tests/cases/libs/controller/components/email.test.php @@ -25,6 +25,41 @@ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */ App::import('Component', 'Email'); +/** + * EmailTestComponent class + * + * @package cake + * @subpackage cake.tests.cases.libs.controller.components + */ +class EmailTestComponent extends EmailComponent { +/** + * smtpSend method override for testing + * + * @access public + * @return mixed + */ + function smtpSend($data, $code = '250') { + return parent::__smtpSend($data, $code); + } +/** + * Convenience setter method for testing. + * + * @access public + * @return void + */ + function setConnectionSocket(&$socket) { + $this->__smtpConnection = $socket; + } +/** + * Convenience getter method for testing. + * + * @access public + * @return mixed + */ + function getConnectionSocket() { + return $this->__smtpConnection; + } +} /** * EmailTestController class * @@ -52,7 +87,7 @@ class EmailTestController extends Controller { * @var array * @access public */ - var $components = array('Email'); + var $components = array('EmailTest'); /** * pageTitle property * @@ -98,7 +133,7 @@ class EmailComponentTest extends CakeTestCase { @$this->Controller->Component->init($this->Controller); set_error_handler('simpleTestErrorHandler'); - $this->Controller->Email->initialize($this->Controller, array()); + $this->Controller->EmailTest->initialize($this->Controller, array()); ClassRegistry::addObject('view', new View($this->Controller)); $this->_viewPaths = Configure::read('viewPaths'); @@ -125,9 +160,9 @@ class EmailComponentTest extends CakeTestCase { * @return void */ function testBadSmtpSend() { - $this->Controller->Email->smtpOptions['host'] = 'blah'; - $this->Controller->Email->delivery = 'smtp'; - $this->assertFalse($this->Controller->Email->send('Should not work')); + $this->Controller->EmailTest->smtpOptions['host'] = 'blah'; + $this->Controller->EmailTest->delivery = 'smtp'; + $this->assertFalse($this->Controller->EmailTest->send('Should not work')); } /** * testSmtpSend method @@ -139,18 +174,18 @@ class EmailComponentTest extends CakeTestCase { if (!$this->skipIf(!@fsockopen('localhost', 25), '%s No SMTP server running on localhost')) { return; } - $this->Controller->Email->reset(); - $this->Controller->Email->to = 'postmaster@localhost'; - $this->Controller->Email->from = 'noreply@example.com'; - $this->Controller->Email->subject = 'Cake SMTP test'; - $this->Controller->Email->replyTo = 'noreply@example.com'; - $this->Controller->Email->template = null; + $this->Controller->EmailTest->reset(); + $this->Controller->EmailTest->to = 'postmaster@localhost'; + $this->Controller->EmailTest->from = 'noreply@example.com'; + $this->Controller->EmailTest->subject = 'Cake SMTP test'; + $this->Controller->EmailTest->replyTo = 'noreply@example.com'; + $this->Controller->EmailTest->template = null; - $this->Controller->Email->delivery = 'smtp'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->Controller->EmailTest->delivery = 'smtp'; + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); - $this->Controller->Email->_debug = true; - $this->Controller->Email->sendAs = 'text'; + $this->Controller->EmailTest->_debug = true; + $this->Controller->EmailTest->sendAs = 'text'; $expect = <<<TEMPDOC <pre>Host: localhost Port: 25 @@ -174,7 +209,7 @@ This is the body of the message </pre> TEMPDOC; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); } /** @@ -186,20 +221,22 @@ TEMPDOC; function testAuthenticatedSmtpSend() { $this->skipIf(!@fsockopen('localhost', 25), '%s No SMTP server running on localhost'); - $this->Controller->Email->reset(); - $this->Controller->Email->to = 'postmaster@localhost'; - $this->Controller->Email->from = 'noreply@example.com'; - $this->Controller->Email->subject = 'Cake SMTP test'; - $this->Controller->Email->replyTo = 'noreply@example.com'; - $this->Controller->Email->template = null; - $this->Controller->Email->smtpOptions['username'] = 'test'; - $this->Controller->Email->smtpOptions['password'] = 'testing'; + $this->Controller->EmailTest->reset(); + $this->Controller->EmailTest->to = 'postmaster@localhost'; + $this->Controller->EmailTest->from = 'noreply@example.com'; + $this->Controller->EmailTest->subject = 'Cake SMTP test'; + $this->Controller->EmailTest->replyTo = 'noreply@example.com'; + $this->Controller->EmailTest->template = null; + $this->Controller->EmailTest->smtpOptions['username'] = 'test'; + $this->Controller->EmailTest->smtpOptions['password'] = 'testing'; - $this->Controller->Email->delivery = 'smtp'; - $result = $this->Controller->Email->send('This is the body of the message'); - $code = substr($this->Controller->Email->smtpError, 0, 3); + $this->Controller->EmailTest->delivery = 'smtp'; + $result = $this->Controller->EmailTest->send('This is the body of the message'); + $code = substr($this->Controller->EmailTest->smtpError, 0, 3); $this->skipIf(!$code, '%s Authentication not enabled on server'); - $this->assertTrue(!$result && $code == '535'); + + $this->assertFalse($result); + $this->assertEqual($code, '535'); } /** * testSendFormats method @@ -208,13 +245,13 @@ TEMPDOC; * @return void */ function testSendFormats() { - $this->Controller->Email->reset(); - $this->Controller->Email->to = 'postmaster@localhost'; - $this->Controller->Email->from = 'noreply@example.com'; - $this->Controller->Email->subject = 'Cake SMTP test'; - $this->Controller->Email->replyTo = 'noreply@example.com'; - $this->Controller->Email->template = null; - $this->Controller->Email->delivery = 'debug'; + $this->Controller->EmailTest->reset(); + $this->Controller->EmailTest->to = 'postmaster@localhost'; + $this->Controller->EmailTest->from = 'noreply@example.com'; + $this->Controller->EmailTest->subject = 'Cake SMTP test'; + $this->Controller->EmailTest->replyTo = 'noreply@example.com'; + $this->Controller->EmailTest->template = null; + $this->Controller->EmailTest->delivery = 'debug'; $message = <<<MSGBLOC <pre>To: postmaster@localhost @@ -234,20 +271,20 @@ This is the body of the message </pre> MSGBLOC; - $this->Controller->Email->sendAs = 'text'; + $this->Controller->EmailTest->sendAs = 'text'; $expect = str_replace('{CONTENTTYPE}', 'text/plain; charset=UTF-8', $message); - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); - $this->Controller->Email->sendAs = 'html'; + $this->Controller->EmailTest->sendAs = 'html'; $expect = str_replace('{CONTENTTYPE}', 'text/html; charset=UTF-8', $message); - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); // TODO: better test for format of message sent? - $this->Controller->Email->sendAs = 'both'; + $this->Controller->EmailTest->sendAs = 'both'; $expect = str_replace('{CONTENTTYPE}', 'multipart/alternative; boundary="alt-"' . "\n", $message); - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); } /** @@ -257,13 +294,13 @@ MSGBLOC; * @return void */ function testTemplates() { - $this->Controller->Email->reset(); - $this->Controller->Email->to = 'postmaster@localhost'; - $this->Controller->Email->from = 'noreply@example.com'; - $this->Controller->Email->subject = 'Cake SMTP test'; - $this->Controller->Email->replyTo = 'noreply@example.com'; + $this->Controller->EmailTest->reset(); + $this->Controller->EmailTest->to = 'postmaster@localhost'; + $this->Controller->EmailTest->from = 'noreply@example.com'; + $this->Controller->EmailTest->subject = 'Cake SMTP test'; + $this->Controller->EmailTest->replyTo = 'noreply@example.com'; - $this->Controller->Email->delivery = 'debug'; + $this->Controller->EmailTest->delivery = 'debug'; $header = <<<HEADBLOC To: postmaster@localhost @@ -282,8 +319,8 @@ Message: HEADBLOC; - $this->Controller->Email->layout = 'default'; - $this->Controller->Email->template = 'default'; + $this->Controller->EmailTest->layout = 'default'; + $this->Controller->EmailTest->template = 'default'; $text = <<<TEXTBLOC @@ -310,22 +347,22 @@ TEXTBLOC; HTMLBLOC; - $this->Controller->Email->sendAs = 'text'; + $this->Controller->EmailTest->sendAs = 'text'; $expect = '<pre>' . str_replace('{CONTENTTYPE}', 'text/plain; charset=UTF-8', $header) . $text . "\n" . '</pre>'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); - $this->Controller->Email->sendAs = 'html'; + $this->Controller->EmailTest->sendAs = 'html'; $expect = '<pre>' . str_replace('{CONTENTTYPE}', 'text/html; charset=UTF-8', $header) . $html . "\n" . '</pre>'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); - $this->Controller->Email->sendAs = 'both'; + $this->Controller->EmailTest->sendAs = 'both'; $expect = str_replace('{CONTENTTYPE}', 'multipart/alternative; boundary="alt-"' . "\n", $header); $expect .= '--alt-' . "\n" . 'Content-Type: text/plain; charset=UTF-8' . "\n" . 'Content-Transfer-Encoding: 7bit' . "\n\n" . $text . "\n\n"; $expect .= '--alt-' . "\n" . 'Content-Type: text/html; charset=UTF-8' . "\n" . 'Content-Transfer-Encoding: 7bit' . "\n\n" . $html . "\n\n"; $expect = '<pre>' . $expect . '--alt---' . "\n\n" . '</pre>'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); $html = <<<HTMLBLOC @@ -344,9 +381,9 @@ HTMLBLOC; HTMLBLOC; - $this->Controller->Email->sendAs = 'html'; + $this->Controller->EmailTest->sendAs = 'html'; $expect = '<pre>' . str_replace('{CONTENTTYPE}', 'text/html; charset=UTF-8', $header) . $html . "\n" . '</pre>'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message', 'default', 'thin')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message', 'default', 'thin')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); return; @@ -362,11 +399,34 @@ This email was sent using the CakePHP Framework, http://cakephp.org. TEXTBLOC; - $this->Controller->Email->sendAs = 'text'; + $this->Controller->EmailTest->sendAs = 'text'; $expect = '<pre>' . str_replace('{CONTENTTYPE}', 'text/plain; charset=UTF-8', $header) . $text . "\n" . '</pre>'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message', 'wide', 'default')); + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message', 'wide', 'default')); $this->assertEqual($this->Controller->Session->read('Message.email.message'), $this->__osFix($expect)); } +/** + * testSmtpSendSocket method + * + * @access public + * @return void + */ + function testSmtpSendSocket() { + $this->skipIf(!@fsockopen('localhost', 25), '%s No SMTP server running on localhost'); + + $this->Controller->EmailTest->reset(); + $socket =& new CakeSocket(array_merge(array('protocol'=>'smtp'), $this->Controller->EmailTest->smtpOptions)); + $this->Controller->EmailTest->setConnectionSocket($socket); + + $this->assertTrue($this->Controller->EmailTest->getConnectionSocket()); + + $response = $this->Controller->EmailTest->smtpSend('HELO', '250'); + $this->assertPattern('/501 Syntax: HELO hostname/', $this->Controller->EmailTest->smtpError); + + $this->Controller->EmailTest->smtpError = null; + $response = $this->Controller->EmailTest->smtpSend('HELO somehostname', '250'); + $this->assertNoPattern('/501 Syntax: HELO hostname/', $this->Controller->EmailTest->smtpError); + + } /** * testSendDebug method * @@ -374,15 +434,15 @@ TEXTBLOC; * @return void */ function testSendDebug() { - $this->Controller->Email->reset(); - $this->Controller->Email->to = 'postmaster@localhost'; - $this->Controller->Email->from = 'noreply@example.com'; - $this->Controller->Email->subject = 'Cake SMTP test'; - $this->Controller->Email->replyTo = 'noreply@example.com'; - $this->Controller->Email->template = null; + $this->Controller->EmailTest->reset(); + $this->Controller->EmailTest->to = 'postmaster@localhost'; + $this->Controller->EmailTest->from = 'noreply@example.com'; + $this->Controller->EmailTest->subject = 'Cake SMTP test'; + $this->Controller->EmailTest->replyTo = 'noreply@example.com'; + $this->Controller->EmailTest->template = null; - $this->Controller->Email->delivery = 'debug'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->Controller->EmailTest->delivery = 'debug'; + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); } /** * testContentStripping method @@ -394,7 +454,7 @@ TEXTBLOC; $content = "Previous content\n--alt-\nContent-TypeContent-Type:: text/html; charsetcharset==utf-8\nContent-Transfer-Encoding: 7bit"; $content .= "\n\n<p>My own html content</p>"; - $result = $this->Controller->Email->__strip($content, true); + $result = $this->Controller->EmailTest->__strip($content, true); $expected = "Previous content\n--alt-\n text/html; utf-8\n 7bit\n\n<p>My own html content</p>"; $this->assertEqual($result, $expected); } @@ -405,28 +465,28 @@ TEXTBLOC; * @return void */ function testMultibyte() { - $this->Controller->Email->reset(); - $this->Controller->Email->to = 'postmaster@localhost'; - $this->Controller->Email->from = 'noreply@example.com'; - $this->Controller->Email->subject = 'هذه رسالة بعنوان طويل مرسل للمستلم'; - $this->Controller->Email->replyTo = 'noreply@example.com'; - $this->Controller->Email->template = null; - $this->Controller->Email->delivery = 'debug'; + $this->Controller->EmailTest->reset(); + $this->Controller->EmailTest->to = 'postmaster@localhost'; + $this->Controller->EmailTest->from = 'noreply@example.com'; + $this->Controller->EmailTest->subject = 'هذه رسالة بعنوان طويل مرسل للمستلم'; + $this->Controller->EmailTest->replyTo = 'noreply@example.com'; + $this->Controller->EmailTest->template = null; + $this->Controller->EmailTest->delivery = 'debug'; $subject = '=?UTF-8?B?2YfYsNmHINix2LPYp9mE2Kkg2KjYudmG2YjYp9mGINi32YjZitmEINmF2LE=?=' . "\r\n" . ' =?UTF-8?B?2LPZhCDZhNmE2YXYs9iq2YTZhQ==?='; - $this->Controller->Email->sendAs = 'text'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->Controller->EmailTest->sendAs = 'text'; + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); preg_match('/Subject: (.*)Header:/s', $this->Controller->Session->read('Message.email.message'), $matches); $this->assertEqual(trim($matches[1]), $subject); - $this->Controller->Email->sendAs = 'html'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->Controller->EmailTest->sendAs = 'html'; + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); preg_match('/Subject: (.*)Header:/s', $this->Controller->Session->read('Message.email.message'), $matches); $this->assertEqual(trim($matches[1]), $subject); - $this->Controller->Email->sendAs = 'both'; - $this->assertTrue($this->Controller->Email->send('This is the body of the message')); + $this->Controller->EmailTest->sendAs = 'both'; + $this->assertTrue($this->Controller->EmailTest->send('This is the body of the message')); preg_match('/Subject: (.*)Header:/s', $this->Controller->Session->read('Message.email.message'), $matches); $this->assertEqual(trim($matches[1]), $subject); } From 97abf8477096fe5afae3319bab0ba5a916be217e Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Sat, 25 Apr 2009 00:01:57 +0000 Subject: [PATCH 55/67] EmailComponent:: now is set to null after calling EmailComponent::reset(). Test cases added; fixes #6314. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8153 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/components/email.php | 1 + .../libs/controller/components/email.test.php | 82 +++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/cake/libs/controller/components/email.php b/cake/libs/controller/components/email.php index 71b013a14..90dc72055 100644 --- a/cake/libs/controller/components/email.php +++ b/cake/libs/controller/components/email.php @@ -345,6 +345,7 @@ class EmailComponent extends Object{ $this->bcc = array(); $this->subject = null; $this->additionalParams = null; + $this->smtpError = null; $this->__header = array(); $this->__boundary = null; $this->__message = array(); diff --git a/cake/tests/cases/libs/controller/components/email.test.php b/cake/tests/cases/libs/controller/components/email.test.php index 4258c952c..08f033aac 100644 --- a/cake/tests/cases/libs/controller/components/email.test.php +++ b/cake/tests/cases/libs/controller/components/email.test.php @@ -59,6 +59,51 @@ class EmailTestComponent extends EmailComponent { function getConnectionSocket() { return $this->__smtpConnection; } +/** + * Convenience setter for testing. + * + * @access public + * @return void + */ + function setHeaders($headers) { + $this->__header += $headers; + } +/** + * Convenience getter for testing. + * + * @access public + * @return array + */ + function getHeaders() { + return $this->__header; + } +/** + * Convenience setter for testing. + * + * @access public + * @return void + */ + function setBoundary() { + $this->__createBoundary(); + } +/** + * Convenience getter for testing. + * + * @access public + * @return string + */ + function getBoundary() { + return $this->__boundary; + } +/** + * Convenience getter for testing. + * + * @access public + * @return string + */ + function getMessage() { + return $this->__message; + } } /** * EmailTestController class @@ -490,6 +535,43 @@ TEXTBLOC; preg_match('/Subject: (.*)Header:/s', $this->Controller->Session->read('Message.email.message'), $matches); $this->assertEqual(trim($matches[1]), $subject); } +/** + * testReset method + * + * @access public + * @return void + */ + function testReset() { + $this->Controller->EmailTest->template = 'test_template'; + $this->Controller->EmailTest->to = 'test.recipient@example.com'; + $this->Controller->EmailTest->from = 'test.sender@example.com'; + $this->Controller->EmailTest->replyTo = 'test.replyto@example.com'; + $this->Controller->EmailTest->return = 'test.return@example.com'; + $this->Controller->EmailTest->cc = array('cc1@example.com', 'cc2@example.com'); + $this->Controller->EmailTest->bcc = array('bcc1@example.com', 'bcc2@example.com'); + $this->Controller->EmailTest->subject = 'Test subject'; + $this->Controller->EmailTest->additionalParams = 'X-additional-header'; + $this->Controller->EmailTest->delivery = 'smtp'; + $this->Controller->EmailTest->smtpOptions['host'] = 'blah'; + + $this->assertFalse($this->Controller->EmailTest->send('Should not work')); + + $this->Controller->EmailTest->reset(); + + $this->assertNull($this->Controller->EmailTest->template); + $this->assertNull($this->Controller->EmailTest->to); + $this->assertNull($this->Controller->EmailTest->from); + $this->assertNull($this->Controller->EmailTest->replyTo); + $this->assertNull($this->Controller->EmailTest->return); + $this->assertIdentical($this->Controller->EmailTest->cc, array()); + $this->assertIdentical($this->Controller->EmailTest->bcc, array()); + $this->assertNull($this->Controller->EmailTest->subject); + $this->assertNull($this->Controller->EmailTest->additionalParams); + $this->assertIdentical($this->Controller->EmailTest->getHeaders(), array()); + $this->assertNull($this->Controller->EmailTest->getBoundary()); + $this->assertIdentical($this->Controller->EmailTest->getMessage(), array()); + $this->assertNull($this->Controller->EmailTest->smtpError); + } /** * osFix method * From 9ab6339392d8f08eed150db553d0faaf2f64dd99 Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Sat, 25 Apr 2009 01:06:46 +0000 Subject: [PATCH 56/67] fixes #6240, DboOracle: fix cache sources and php version compatibility git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8154 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/datasources/dbo/dbo_oracle.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cake/libs/model/datasources/dbo/dbo_oracle.php b/cake/libs/model/datasources/dbo/dbo_oracle.php index d35b5900a..f7ec6f06e 100644 --- a/cake/libs/model/datasources/dbo/dbo_oracle.php +++ b/cake/libs/model/datasources/dbo/dbo_oracle.php @@ -454,6 +454,7 @@ class DboOracle extends DboSource { while($r = $this->fetchRow()) { $sources[] = strtolower($r[0]['name']); } + parent::listSources($sources); return $sources; } /** @@ -834,8 +835,7 @@ class DboOracle extends DboSource { switch($column) { case 'date': - $date = new DateTime($data); - $data = $date->format('Y-m-d H:i:s'); + $data = date('Y-m-d H:i:s', strtotime($data)); $data = "TO_DATE('$data', 'YYYY-MM-DD HH24:MI:SS')"; break; case 'integer' : From 8bb11e49d7fb1fb708caba36b3ede5c35e6f424a Mon Sep 17 00:00:00 2001 From: jperras <joel.perras@gmail.com> Date: Sat, 25 Apr 2009 01:17:21 +0000 Subject: [PATCH 57/67] Fixing counterCache behavior when updating an existing record's counterScope value. Thanks for the patch, mattcurry. Fixes #6270. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8155 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/model.php | 17 ++++++++--------- cake/tests/cases/libs/model/model.test.php | 4 ++++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/cake/libs/model/model.php b/cake/libs/model/model.php index 5238bb242..1becede48 100644 --- a/cake/libs/model/model.php +++ b/cake/libs/model/model.php @@ -1374,16 +1374,15 @@ class Model extends Overloadable { $conditions = ($recursive == 1) ? (array)$assoc['counterScope'] : array(); if (isset($keys['old'][$foreignKey])) { - if ($keys['old'][$foreignKey] == $keys[$foreignKey]) { - continue; + if ($keys['old'][$foreignKey] != $keys[$foreignKey]) { + $conditions[$fkQuoted] = $keys['old'][$foreignKey]; + $count = intval($this->find('count', compact('conditions', 'recursive'))); + + $this->{$parent}->updateAll( + array($assoc['counterCache'] => $count), + array($this->{$parent}->escapeField() => $keys['old'][$foreignKey]) + ); } - $conditions[$fkQuoted] = $keys['old'][$foreignKey]; - $count = intval($this->find('count', compact('conditions', 'recursive'))); - - $this->{$parent}->updateAll( - array($assoc['counterCache'] => $count), - array($this->{$parent}->escapeField() => $keys['old'][$foreignKey]) - ); } $conditions[$fkQuoted] = $keys[$foreignKey]; diff --git a/cake/tests/cases/libs/model/model.test.php b/cake/tests/cases/libs/model/model.test.php index 595335172..77149c1cc 100644 --- a/cake/tests/cases/libs/model/model.test.php +++ b/cake/tests/cases/libs/model/model.test.php @@ -3990,6 +3990,10 @@ class ModelTest extends CakeTestCase { $TestModel2->saveField('published', true); $result = $TestModel->findById(1); $this->assertIdentical($result['Syfile']['item_count'], '2'); + + $TestModel2->save(array('id' => 1, 'syfile_id' => 1, 'published'=> false)); + $result = $TestModel->findById(1); + $this->assertIdentical($result['Syfile']['item_count'], '1'); } /** * testDel method From b68c78fc0f86f669027dc90cdc09dbde999ba4e3 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Sat, 25 Apr 2009 02:16:05 +0000 Subject: [PATCH 58/67] Fixing lost querystring params when user request without a session is performed. Test case updated. Fixes #6211 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8156 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/components/auth.php | 5 +++++ cake/tests/cases/libs/controller/components/auth.test.php | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cake/libs/controller/components/auth.php b/cake/libs/controller/components/auth.php index d2f2bede9..a8744ce25 100644 --- a/cake/libs/controller/components/auth.php +++ b/cake/libs/controller/components/auth.php @@ -337,6 +337,11 @@ class AuthComponent extends Object { if (!$this->user()) { if (!$this->RequestHandler->isAjax()) { $this->Session->setFlash($this->authError, 'default', array(), 'auth'); + if (!empty($controller->params['url']) && count($controller->params['url']) >= 2) { + $query = $controller->params['url']; + unset($query['url']); + $url .= Router::queryString($query, array()); + } $this->Session->write('Auth.redirect', $url); $controller->redirect($loginAction); return false; diff --git a/cake/tests/cases/libs/controller/components/auth.test.php b/cake/tests/cases/libs/controller/components/auth.test.php index e65ec4c08..3cdb25bb7 100644 --- a/cake/tests/cases/libs/controller/components/auth.test.php +++ b/cake/tests/cases/libs/controller/components/auth.test.php @@ -841,7 +841,7 @@ class AuthTest extends CakeTestCase { // QueryString parameters $_back = $_GET; $_GET = array( - 'url' => '/posts/index/29?print=true&refer=menu', + 'url' => '/posts/index/29', 'print' => 'true', 'refer' => 'menu' ); From c8cf1a2c5bed17c6c24df5484a957abf354bde3a Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Tue, 28 Apr 2009 01:32:20 +0000 Subject: [PATCH 59/67] Updating __mergeVars to correctly merge parent and child component configurations. Applied patch from 'neilcrookes'. Test case added. Fixes #6325 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8157 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/controller/controller.php | 2 +- .../cases/libs/controller/controller.test.php | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/cake/libs/controller/controller.php b/cake/libs/controller/controller.php index 19a9aef76..5c33e1a49 100644 --- a/cake/libs/controller/controller.php +++ b/cake/libs/controller/controller.php @@ -393,7 +393,7 @@ class Controller extends Object { if ($var === 'components') { $normal = Set::normalize($this->{$var}); $app = Set::normalize($appVars[$var]); - $this->{$var} = Set::merge($normal, $app); + $this->{$var} = Set::merge($app, $normal); } else { $this->{$var} = Set::merge($this->{$var}, array_diff($appVars[$var], $this->{$var})); } diff --git a/cake/tests/cases/libs/controller/controller.test.php b/cake/tests/cases/libs/controller/controller.test.php index 53b1663ed..8c7b3204c 100644 --- a/cake/tests/cases/libs/controller/controller.test.php +++ b/cake/tests/cases/libs/controller/controller.test.php @@ -940,6 +940,22 @@ class ControllerTest extends CakeTestCase { $this->assertTrue(isset($TestController->ControllerPost)); $this->assertTrue(isset($TestController->ControllerComment)); } +/** + * test that options from child classes replace those in the parent classes. + * + * @access public + * @return void + **/ + function testChildComponentOptionsSupercedeParents() { + if ($this->skipIf(defined('APP_CONTROLLER_EXISTS'), '%s Need a non-existent AppController')) { + return; + } + $TestController =& new TestController(); + $expected = array('foo'); + $TestController->components = array('Cookie' => $expected); + $TestController->constructClasses(); + $this->assertEqual($TestController->components['Cookie'], $expected); + } /** * Ensure that __mergeVars is not being greedy and merging with * AppController when you make an instance of Controller From 9f15226e4605ba4b6c5ba918b64d7209ceb77540 Mon Sep 17 00:00:00 2001 From: nate <nate@cakephp.org> Date: Tue, 28 Apr 2009 13:23:37 +0000 Subject: [PATCH 60/67] Fixes #6318: Incorrect whitespace handling/parsing of XML documents git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8158 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/xml.php | 3 ++- cake/tests/cases/libs/xml.test.php | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/cake/libs/xml.php b/cake/libs/xml.php index b4edf2fff..845068514 100644 --- a/cake/libs/xml.php +++ b/cake/libs/xml.php @@ -880,10 +880,11 @@ class Xml extends XmlNode { */ function parse() { $this->__initParser(); + $this->__rawData = trim($this->__rawData); $this->__header = trim(str_replace( a('<' . '?', '?' . '>'), a('', ''), - substr(trim($this->__rawData), 0, strpos($this->__rawData, "\n")) + substr($this->__rawData, 0, strpos($this->__rawData, '?' . '>')) )); xml_parse_into_struct($this->__parser, $this->__rawData, $vals); diff --git a/cake/tests/cases/libs/xml.test.php b/cake/tests/cases/libs/xml.test.php index f452b54df..eec558641 100644 --- a/cake/tests/cases/libs/xml.test.php +++ b/cake/tests/cases/libs/xml.test.php @@ -389,6 +389,30 @@ class XmlTest extends CakeTestCase { $result = $node->removeAttribute('missing'); $this->assertFalse($result); } + + /** + * Tests that XML documents with non-standard spacing (i.e. leading whitespace, whole document + * on one line) still parse properly. + * + * @return void + */ + function testParsingWithNonStandardWhitespace() { + $raw = '<?xml version="1.0" encoding="ISO-8859-1" ?><prices><price>1.0</price></prices>'; + $array = array('Prices' => array('price' => 1.0)); + + $xml = new Xml($raw); + $this->assertEqual($xml->toArray(), $array); + $this->assertEqual($xml->__header, 'xml version="1.0" encoding="ISO-8859-1"'); + + $xml = new Xml(' ' . $raw); + $this->assertEqual($xml->toArray(), $array); + $this->assertEqual($xml->__header, 'xml version="1.0" encoding="ISO-8859-1"'); + + $xml = new Xml("\n" . $raw); + $this->assertEqual($xml->toArray(), $array); + $this->assertEqual($xml->__header, 'xml version="1.0" encoding="ISO-8859-1"'); + } + /* Not implemented yet */ /* function testChildFilter() { $input = array( From 48386b791f61e1ce8f99e1198c09a36de3059635 Mon Sep 17 00:00:00 2001 From: "renan.saddam" <renan.saddam@gmail.com> Date: Tue, 28 Apr 2009 22:20:04 +0000 Subject: [PATCH 61/67] Fixing cake_test_fixture and dbo_mssql tests. Refs #6135. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8159 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../cases/libs/cake_test_fixture.test.php | 4 +-- .../model/datasources/dbo/dbo_mssql.test.php | 29 +------------------ 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/cake/tests/cases/libs/cake_test_fixture.test.php b/cake/tests/cases/libs/cake_test_fixture.test.php index 5e17ed25b..03a712a56 100644 --- a/cake/tests/cases/libs/cake_test_fixture.test.php +++ b/cake/tests/cases/libs/cake_test_fixture.test.php @@ -51,8 +51,8 @@ class CakeTestFixtureTestFixture extends CakeTestFixture { */ var $fields = array( 'id' => array('type' => 'integer', 'key' => 'primary'), - 'name' => array('type' => 'text', 'length' => '255'), - 'created' => array('type' => 'datetime'), + 'name' => array('type' => 'string', 'length' => '255'), + 'created' => array('type' => 'datetime') ); /** * Records property diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php index d2c3411f7..319f2f134 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php @@ -36,32 +36,6 @@ require_once LIBS.'model'.DS.'datasources'.DS.'dbo'.DS.'dbo_mssql.php'; * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboMssqlTestDb extends DboMssql { -/** - * Contructor - * - * @return void - * @access public - */ - function __construct() { - } -/** - * connect method - * - * @return boolean - * @access public - */ - function connect() { - $this->connected = true; - return true; - } -/** - * lastError method - * - * @return void - * @access public - */ - function lastError() { - } /** * simulated property * @@ -346,10 +320,9 @@ class DboMssqlTest extends CakeTestCase { * @access public */ function testUpdateAllSyntax() { - $model = ClassRegistry::init('MssqlTestModel'); $fields = array('MssqlTestModel.client_id' => '[MssqlTestModel].[client_id] + 1'); $conditions = array('MssqlTestModel.updated <' => date('2009-01-01 00:00:00')); - $this->db->update($model, $fields, null, $conditions); + $this->db->update($this->model, $fields, null, $conditions); $result = $this->db->getLastQuery(); $this->assertNoPattern('/MssqlTestModel/', $result); From 7eaf331213a13f6263d17e45d947dae6adad46e4 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Wed, 29 Apr 2009 12:40:15 +0000 Subject: [PATCH 62/67] Updating doc block for FormHelper::input(). Fixes #6328 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8160 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/form.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cake/libs/view/helpers/form.php b/cake/libs/view/helpers/form.php index 2a4ff3420..5cff4816d 100644 --- a/cake/libs/view/helpers/form.php +++ b/cake/libs/view/helpers/form.php @@ -559,7 +559,8 @@ class FormHelper extends AppHelper { /** * Generates a form input element complete with label and wrapper div * - * Options - See each field type method for more information. + * Options - See each field type method for more information. Any options that are part of + * $attributes or $options for the different type methods can be included in $options for input(). * * - 'type' - Force the type of widget you want. e.g. ```type => 'select'``` * - 'label' - control the label From 975ddaa4be67da028ea9f34d774852ff2c98cb73 Mon Sep 17 00:00:00 2001 From: "renan.saddam" <renan.saddam@gmail.com> Date: Wed, 29 Apr 2009 16:26:03 +0000 Subject: [PATCH 63/67] Fixes #6135: Primary Key detection and load record fixtures on mssql. Tests added. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8161 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/model/datasources/datasource.php | 9 ++- cake/libs/model/datasources/dbo/dbo_mssql.php | 60 ++++++++++++-- .../model/datasources/dbo/dbo_mssql.test.php | 79 +++++++++++++------ 3 files changed, 114 insertions(+), 34 deletions(-) diff --git a/cake/libs/model/datasources/datasource.php b/cake/libs/model/datasources/datasource.php index 6736f62a6..4fa8fba2e 100644 --- a/cake/libs/model/datasources/datasource.php +++ b/cake/libs/model/datasources/datasource.php @@ -241,13 +241,14 @@ class DataSource extends Object { if ($this->cacheSources === false) { return null; } - if (isset($this->__descriptions[$model->tablePrefix . $model->table])) { - return $this->__descriptions[$model->tablePrefix . $model->table]; + $table = $this->fullTableName($model, false); + if (isset($this->__descriptions[$table])) { + return $this->__descriptions[$table]; } - $cache = $this->__cacheDescription($model->tablePrefix . $model->table); + $cache = $this->__cacheDescription($table); if ($cache !== null) { - $this->__descriptions[$model->tablePrefix . $model->table] =& $cache; + $this->__descriptions[$table] =& $cache; return $cache; } return null; diff --git a/cake/libs/model/datasources/dbo/dbo_mssql.php b/cake/libs/model/datasources/dbo/dbo_mssql.php index 88938ba3b..c1bbd9e9c 100644 --- a/cake/libs/model/datasources/dbo/dbo_mssql.php +++ b/cake/libs/model/datasources/dbo/dbo_mssql.php @@ -221,7 +221,7 @@ class DboMssql extends DboSource { 'null' => (strtoupper($column[0]['Null']) == 'YES'), 'default' => preg_replace("/^[(]{1,2}'?([^')]*)?'?[)]{1,2}$/", "$1", $column[0]['Default']), 'length' => intval($column[0]['Length']), - 'key' => ($column[0]['Key'] == '1') + 'key' => ($column[0]['Key'] == '1') ? 'primary' : false ); if ($fields[$field]['default'] === 'null') { $fields[$field]['default'] = null; @@ -341,17 +341,18 @@ class DboMssql extends DboSource { if (!empty($values)) { $fields = array_combine($fields, $values); } + $primaryKey = $this->_getPrimaryKey($model); - if (array_key_exists($model->primaryKey, $fields)) { - if (empty($fields[$model->primaryKey])) { - unset($fields[$model->primaryKey]); + if (array_key_exists($primaryKey, $fields)) { + if (empty($fields[$primaryKey])) { + unset($fields[$primaryKey]); } else { - $this->_execute("SET IDENTITY_INSERT " . $this->fullTableName($model) . " ON"); + $this->_execute('SET IDENTITY_INSERT ' . $this->fullTableName($model) . ' ON'); } } $result = parent::create($model, array_keys($fields), array_values($fields)); - if (array_key_exists($model->primaryKey, $fields) && !empty($fields[$model->primaryKey])) { - $this->_execute("SET IDENTITY_INSERT " . $this->fullTableName($model) . " OFF"); + if (array_key_exists($primaryKey, $fields) && !empty($fields[$primaryKey])) { + $this->_execute('SET IDENTITY_INSERT ' . $this->fullTableName($model) . ' OFF'); } return $result; } @@ -631,6 +632,29 @@ class DboMssql extends DboSource { return false; } } +/** + * Inserts multiple values into a table + * + * @param string $table + * @param string $fields + * @param array $values + * @access protected + */ + function insertMulti($table, $fields, $values) { + $primaryKey = $this->_getPrimaryKey($table); + $hasPrimaryKey = $primaryKey != null && ( + (is_array($fields) && in_array($primaryKey, $fields) + || (is_string($fields) && strpos($fields, $this->startQuote . $primaryKey . $this->endQuote) !== false)) + ); + + if ($hasPrimaryKey) { + $this->_execute('SET IDENTITY_INSERT ' . $this->fullTableName($table) . ' ON'); + } + parent::insertMulti($table, $fields, $values); + if ($hasPrimaryKey) { + $this->_execute('SET IDENTITY_INSERT ' . $this->fullTableName($table) . ' OFF'); + } + } /** * Generate a database-native column schema string * @@ -680,5 +704,27 @@ class DboMssql extends DboSource { } return $join; } +/** + * Makes sure it will return the primary key + * + * @param mixed $model + * @access protected + * @return string + */ + function _getPrimaryKey($model) { + if (is_object($model)) { + $schema = $model->schema(); + } else { + $schema = $this->describe($model); + } + + foreach ($schema as $field => $props) { + if (isset($props['key']) && $props['key'] == 'primary') { + return $field; + } + } + + return null; + } } ?> \ No newline at end of file diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php index 319f2f134..c92a67e9d 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php @@ -94,6 +94,16 @@ class DboMssqlTestDb extends DboMssql { function getLastQuery() { return $this->simulated[count($this->simulated) - 1]; } +/** + * getPrimaryKey method + * + * @param mixed $model + * @access public + * @return void + */ + function getPrimaryKey($model) { + return parent::_getPrimaryKey($model); + } } /** * MssqlTestModel class @@ -116,6 +126,32 @@ class MssqlTestModel extends Model { * @access public */ var $useTable = false; +/** + * _schema property + * + * @var array + * @access protected + */ + var $_schema = array( + 'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8', 'key' => 'primary'), + 'client_id' => array('type' => 'integer', 'null' => '', 'default' => '0', 'length' => '11'), + 'name' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'), + 'login' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'), + 'passwd' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), + 'addr_1' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), + 'addr_2' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '25'), + 'zip_code' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), + 'city' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), + 'country' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), + 'phone' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), + 'fax' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), + 'url' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), + 'email' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), + 'comments' => array('type' => 'text', 'null' => '1', 'default' => '', 'length' => ''), + 'last_login'=> array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => ''), + 'created' => array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''), + 'updated' => array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null) + ); /** * find method * @@ -143,33 +179,14 @@ class MssqlTestModel extends Model { return $conditions; } /** - * schema method + * setSchema method * + * @param array $schema * @access public * @return void */ - function schema() { - $this->_schema = array( - 'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'), - 'client_id' => array('type' => 'integer', 'null' => '', 'default' => '0', 'length' => '11'), - 'name' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'), - 'login' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'), - 'passwd' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), - 'addr_1' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), - 'addr_2' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '25'), - 'zip_code' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), - 'city' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), - 'country' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), - 'phone' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), - 'fax' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), - 'url' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), - 'email' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), - 'comments' => array('type' => 'text', 'null' => '1', 'default' => '', 'length' => ''), - 'last_login'=> array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => ''), - 'created' => array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''), - 'updated' => array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null) - ); - return $this->_schema; + function setSchema($schema) { + $this->_schema = $schema; } } /** @@ -329,5 +346,21 @@ class DboMssqlTest extends CakeTestCase { $this->assertPattern('/^UPDATE \[mssql_test_models\]/', $result); $this->assertPattern('/SET \[client_id\] = \[client_id\] \+ 1/', $result); } +/** + * testGetPrimaryKey method + * + * @return void + * @access public + */ + function testGetPrimaryKey() { + $result = $this->db->getPrimaryKey($this->model); + $this->assertEqual($result, 'id'); + + $schema = $this->model->schema(); + unset($schema['id']['key']); + $this->model->setSchema($schema); + $result = $this->db->getPrimaryKey($this->model); + $this->assertNull($result); + } } ?> \ No newline at end of file From f25cf632066cc840cabf6e915258e0e040285bef Mon Sep 17 00:00:00 2001 From: "renan.saddam" <renan.saddam@gmail.com> Date: Wed, 29 Apr 2009 16:39:42 +0000 Subject: [PATCH 64/67] Adding missing test from last commit. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8162 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../model/datasources/dbo/dbo_mssql.test.php | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php index c92a67e9d..1cd3268fa 100644 --- a/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php @@ -362,5 +362,36 @@ class DboMssqlTest extends CakeTestCase { $result = $this->db->getPrimaryKey($this->model); $this->assertNull($result); } +/** + * testInsertMulti + * + * @return void + * @access public + */ + function testInsertMulti() { + $fields = array('id', 'name', 'login'); + $values = array('(1, \'Larry\', \'PhpNut\')', '(2, \'Renan\', \'renan.saddam\')'); + $this->db->simulated = array(); + $this->db->insertMulti($this->model, $fields, $values); + $result = $this->db->simulated; + $expected = array( + 'SET IDENTITY_INSERT [mssql_test_models] ON', + 'INSERT INTO [mssql_test_models] ([id], [name], [login]) VALUES (1, \'Larry\', \'PhpNut\')', + 'INSERT INTO [mssql_test_models] ([id], [name], [login]) VALUES (2, \'Renan\', \'renan.saddam\')', + 'SET IDENTITY_INSERT [mssql_test_models] OFF' + ); + $this->assertEqual($result, $expected); + + $fields = array('name', 'login'); + $values = array('(\'Larry\', \'PhpNut\')', '(\'Renan\', \'renan.saddam\')'); + $this->db->simulated = array(); + $this->db->insertMulti($this->model, $fields, $values); + $result = $this->db->simulated; + $expected = array( + 'INSERT INTO [mssql_test_models] ([name], [login]) VALUES (\'Larry\', \'PhpNut\')', + 'INSERT INTO [mssql_test_models] ([name], [login]) VALUES (\'Renan\', \'renan.saddam\')' + ); + $this->assertEqual($result, $expected); + } } ?> \ No newline at end of file From cf3f92c402a79baa04e831fa83a84871745f05d5 Mon Sep 17 00:00:00 2001 From: mark_story <mark@mark-story.com> Date: Thu, 30 Apr 2009 23:38:14 +0000 Subject: [PATCH 65/67] Updating testsuite console to search $pluginPaths for plugins. Fixing readability of help in 80 col displays. Fixes #6329. git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@8163 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/console/libs/testsuite.php | 50 +++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/cake/console/libs/testsuite.php b/cake/console/libs/testsuite.php index 72cefbcc2..b11a7ea11 100644 --- a/cake/console/libs/testsuite.php +++ b/cake/console/libs/testsuite.php @@ -156,30 +156,30 @@ class TestSuiteShell extends Shell { function help() { $this->out('Usage: '); $this->out("\tcake testsuite category test_type file"); - $this->out("\t\t - category - \"app\", \"core\" or name of a plugin"); - $this->out("\t\t - test_type - \"case\", \"group\" or \"all\""); - $this->out("\t\t - test_file - file name with folder prefix and without the (test|group).php suffix"); + $this->out("\t\t- category - \"app\", \"core\" or name of a plugin"); + $this->out("\t\t- test_type - \"case\", \"group\" or \"all\""); + $this->out("\t\t- test_file - file name with folder prefix and without the (test|group).php suffix"); $this->out(''); $this->out('Examples: '); - $this->out("\t\t cake testsuite app all"); - $this->out("\t\t cake testsuite core all"); + $this->out("\t\tcake testsuite app all"); + $this->out("\t\tcake testsuite core all"); $this->out(''); - $this->out("\t\t cake testsuite app case behaviors/debuggable"); - $this->out("\t\t cake testsuite app case models/my_model"); - $this->out("\t\t cake testsuite app case controllers/my_controller"); + $this->out("\t\tcake testsuite app case behaviors/debuggable"); + $this->out("\t\tcake testsuite app case models/my_model"); + $this->out("\t\tcake testsuite app case controllers/my_controller"); $this->out(''); - $this->out("\t\t cake testsuite core case file"); - $this->out("\t\t cake testsuite core case router"); - $this->out("\t\t cake testsuite core case set"); + $this->out("\t\tcake testsuite core case file"); + $this->out("\t\tcake testsuite core case router"); + $this->out("\t\tcake testsuite core case set"); $this->out(''); - $this->out("\t\t cake testsuite app group mygroup"); - $this->out("\t\t cake testsuite core group acl"); - $this->out("\t\t cake testsuite core group socket"); + $this->out("\t\tcake testsuite app group mygroup"); + $this->out("\t\tcake testsuite core group acl"); + $this->out("\t\tcake testsuite core group socket"); $this->out(''); - $this->out("\t\t cake testsuite bugs case models/bug // for the plugin 'bugs' and its test case 'bug'"); - $this->out("\t\t cake testsuite bugs group bug // for the plugin bugs and its test group 'bug'"); - $this->out("\t\t cake testsuite bugs_me case models/bug // for the plugin 'bugs_me' and its test case 'bug'"); - $this->out("\t\t cake testsuite bugs_me group bug // for the plugin bugs_me and its test group 'bug'"); + $this->out("\t\tcake testsuite bugs case models/bug"); + $this->out("\t\t // for the plugin 'bugs' and its test case 'models/bug'"); + $this->out("\t\tcake testsuite bugs group bug"); + $this->out("\t\t // for the plugin bugs and its test group 'bug'"); $this->out(''); $this->out('Code Coverage Analysis: '); $this->out("\n\nAppend 'cov' to any of the above in order to enable code coverage analysis"); @@ -312,11 +312,19 @@ class TestSuiteShell extends Shell { ); if (array_key_exists($category, $paths)) { - $folder = $paths[$category]; + $folder = $paths[$category] . 'tests'; } else { - $folder = APP.'plugins'.DS.Inflector::underscore($category).DS; + $scoredCategory = Inflector::underscore($category); + $folder = APP . 'plugins' . DS . $scoredCategory . DS; + $pluginPaths = Configure::read('pluginPaths'); + foreach ($pluginPaths as $path) { + if (file_exists($path . $scoredCategory . DS . 'tests')) { + $folder = $path . $scoredCategory . DS . 'tests'; + break; + } + } } - return $folder.'tests'; + return $folder; } /** * Sets some get vars needed for TestManager From 38b7a34a8e74aeb7324febde4d10a9b87854bb83 Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Fri, 1 May 2009 08:24:24 -0700 Subject: [PATCH 66/67] adding gitignore with "vendors" --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..1562dcf95 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +vendors \ No newline at end of file From 5cf96a077a6b0e85969d71ebbd19f9d1414e3eb5 Mon Sep 17 00:00:00 2001 From: gwoo <gwoo@cakephp.org> Date: Fri, 1 May 2009 10:52:14 -0700 Subject: [PATCH 67/67] adding app/tmp to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1562dcf95..cfc5c7a4b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ +app/tmp vendors \ No newline at end of file