PageRenderTime 65ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/Cake/Test/Case/Model/models.php

https://bitbucket.org/udeshika/fake_twitter
PHP | 4598 lines | 1378 code | 545 blank | 2675 comment | 34 complexity | d0f91335d955e218025afa14d1fb749e MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /**
  3. * Mock models file
  4. *
  5. * Mock classes for use in Model and related test cases
  6. *
  7. * PHP 5
  8. *
  9. * CakePHP(tm) Tests <http://book.cakephp.org/view/1196/Testing>
  10. * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
  11. *
  12. * Licensed under The MIT License
  13. * Redistributions of files must retain the above copyright notice
  14. *
  15. * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
  16. * @link http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests
  17. * @package Cake.Test.Case.Model
  18. * @since CakePHP(tm) v 1.2.0.6464
  19. * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
  20. */
  21. /**
  22. * Test class
  23. *
  24. * @package Cake.Test.Case.Model
  25. */
  26. class Test extends CakeTestModel {
  27. /**
  28. * useTable property
  29. *
  30. * @var bool false
  31. */
  32. public $useTable = false;
  33. /**
  34. * name property
  35. *
  36. * @var string 'Test'
  37. */
  38. public $name = 'Test';
  39. /**
  40. * schema property
  41. *
  42. * @var array
  43. */
  44. protected $_schema = array(
  45. 'id' => array('type' => 'integer', 'null' => '', 'default' => '1', 'length' => '8', 'key' => 'primary'),
  46. 'name' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'),
  47. 'email' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'),
  48. 'notes' => array('type' => 'text', 'null' => '1', 'default' => 'write some notes here', 'length' => ''),
  49. 'created' => array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''),
  50. 'updated' => array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null)
  51. );
  52. }
  53. /**
  54. * TestAlias class
  55. *
  56. * @package Cake.Test.Case.Model
  57. */
  58. class TestAlias extends CakeTestModel {
  59. /**
  60. * useTable property
  61. *
  62. * @var bool false
  63. */
  64. public $useTable = false;
  65. /**
  66. * name property
  67. *
  68. * @var string 'TestAlias'
  69. */
  70. public $name = 'TestAlias';
  71. /**
  72. * alias property
  73. *
  74. * @var string 'TestAlias'
  75. */
  76. public $alias = 'TestAlias';
  77. /**
  78. * schema property
  79. *
  80. * @var array
  81. */
  82. protected $_schema = array(
  83. 'id' => array('type' => 'integer', 'null' => '', 'default' => '1', 'length' => '8', 'key' => 'primary'),
  84. 'name' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'),
  85. 'email' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'),
  86. 'notes' => array('type' => 'text', 'null' => '1', 'default' => 'write some notes here', 'length' => ''),
  87. 'created' => array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''),
  88. 'updated' => array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null)
  89. );
  90. }
  91. /**
  92. * TestValidate class
  93. *
  94. * @package Cake.Test.Case.Model
  95. */
  96. class TestValidate extends CakeTestModel {
  97. /**
  98. * useTable property
  99. *
  100. * @var bool false
  101. */
  102. public $useTable = false;
  103. /**
  104. * name property
  105. *
  106. * @var string 'TestValidate'
  107. */
  108. public $name = 'TestValidate';
  109. /**
  110. * schema property
  111. *
  112. * @var array
  113. */
  114. protected $_schema = array(
  115. 'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
  116. 'title' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'),
  117. 'body' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => ''),
  118. 'number' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
  119. 'created' => array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''),
  120. 'modified' => array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null)
  121. );
  122. /**
  123. * validateNumber method
  124. *
  125. * @param mixed $value
  126. * @param mixed $options
  127. * @return void
  128. */
  129. public function validateNumber($value, $options) {
  130. $options = array_merge(array('min' => 0, 'max' => 100), $options);
  131. $valid = ($value['number'] >= $options['min'] && $value['number'] <= $options['max']);
  132. return $valid;
  133. }
  134. /**
  135. * validateTitle method
  136. *
  137. * @param mixed $value
  138. * @return void
  139. */
  140. public function validateTitle($value) {
  141. return (!empty($value) && strpos(strtolower($value['title']), 'title-') === 0);
  142. }
  143. }
  144. /**
  145. * User class
  146. *
  147. * @package Cake.Test.Case.Model
  148. */
  149. class User extends CakeTestModel {
  150. /**
  151. * name property
  152. *
  153. * @var string 'User'
  154. */
  155. public $name = 'User';
  156. /**
  157. * validate property
  158. *
  159. * @var array
  160. */
  161. public $validate = array('user' => 'notEmpty', 'password' => 'notEmpty');
  162. /**
  163. * beforeFind() callback used to run ContainableBehaviorTest::testLazyLoad()
  164. *
  165. * @return bool
  166. */
  167. public function beforeFind ($queryData) {
  168. if (!empty($queryData['lazyLoad'])) {
  169. if (!isset($this->Article, $this->Comment, $this->ArticleFeatured)) {
  170. throw new Exception('Unavailable associations');
  171. }
  172. }
  173. return true;
  174. }
  175. }
  176. /**
  177. * Article class
  178. *
  179. * @package Cake.Test.Case.Model
  180. */
  181. class Article extends CakeTestModel {
  182. /**
  183. * name property
  184. *
  185. * @var string 'Article'
  186. */
  187. public $name = 'Article';
  188. /**
  189. * belongsTo property
  190. *
  191. * @var array
  192. */
  193. public $belongsTo = array('User');
  194. /**
  195. * hasMany property
  196. *
  197. * @var array
  198. */
  199. public $hasMany = array('Comment' => array('dependent' => true));
  200. /**
  201. * hasAndBelongsToMany property
  202. *
  203. * @var array
  204. */
  205. public $hasAndBelongsToMany = array('Tag');
  206. /**
  207. * validate property
  208. *
  209. * @var array
  210. */
  211. public $validate = array('user_id' => 'numeric', 'title' => array('allowEmpty' => false, 'rule' => 'notEmpty'), 'body' => 'notEmpty');
  212. /**
  213. * beforeSaveReturn property
  214. *
  215. * @var bool true
  216. */
  217. public $beforeSaveReturn = true;
  218. /**
  219. * beforeSave method
  220. *
  221. * @return void
  222. */
  223. public function beforeSave($options = array()) {
  224. return $this->beforeSaveReturn;
  225. }
  226. /**
  227. * titleDuplicate method
  228. *
  229. * @param mixed $title
  230. * @return void
  231. */
  232. static function titleDuplicate ($title) {
  233. if ($title === 'My Article Title') {
  234. return false;
  235. }
  236. return true;
  237. }
  238. }
  239. /**
  240. * Model stub for beforeDelete testing
  241. *
  242. * @see #250
  243. * @package Cake.Test.Case.Model
  244. */
  245. class BeforeDeleteComment extends CakeTestModel {
  246. public $name = 'BeforeDeleteComment';
  247. public $useTable = 'comments';
  248. public function beforeDelete($cascade = true) {
  249. $db = $this->getDataSource();
  250. $db->delete($this, array($this->alias . '.' . $this->primaryKey => array(1, 3)));
  251. return true;
  252. }
  253. }
  254. /**
  255. * NumericArticle class
  256. *
  257. * @package Cake.Test.Case.Model
  258. */
  259. class NumericArticle extends CakeTestModel {
  260. /**
  261. * name property
  262. *
  263. * @var string 'NumericArticle'
  264. */
  265. public $name = 'NumericArticle';
  266. /**
  267. * useTable property
  268. *
  269. * @var string 'numeric_articles'
  270. */
  271. public $useTable = 'numeric_articles';
  272. }
  273. /**
  274. * Article10 class
  275. *
  276. * @package Cake.Test.Case.Model
  277. */
  278. class Article10 extends CakeTestModel {
  279. /**
  280. * name property
  281. *
  282. * @var string 'Article10'
  283. */
  284. public $name = 'Article10';
  285. /**
  286. * useTable property
  287. *
  288. * @var string 'articles'
  289. */
  290. public $useTable = 'articles';
  291. /**
  292. * hasMany property
  293. *
  294. * @var array
  295. */
  296. public $hasMany = array('Comment' => array('dependent' => true, 'exclusive' => true));
  297. }
  298. /**
  299. * ArticleFeatured class
  300. *
  301. * @package Cake.Test.Case.Model
  302. */
  303. class ArticleFeatured extends CakeTestModel {
  304. /**
  305. * name property
  306. *
  307. * @var string 'ArticleFeatured'
  308. */
  309. public $name = 'ArticleFeatured';
  310. /**
  311. * belongsTo property
  312. *
  313. * @var array
  314. */
  315. public $belongsTo = array('User', 'Category');
  316. /**
  317. * hasOne property
  318. *
  319. * @var array
  320. */
  321. public $hasOne = array('Featured');
  322. /**
  323. * hasMany property
  324. *
  325. * @var array
  326. */
  327. public $hasMany = array('Comment' => array('className' => 'Comment', 'dependent' => true));
  328. /**
  329. * hasAndBelongsToMany property
  330. *
  331. * @var array
  332. */
  333. public $hasAndBelongsToMany = array('Tag');
  334. /**
  335. * validate property
  336. *
  337. * @var array
  338. */
  339. public $validate = array('user_id' => 'numeric', 'title' => 'notEmpty', 'body' => 'notEmpty');
  340. }
  341. /**
  342. * Featured class
  343. *
  344. * @package Cake.Test.Case.Model
  345. */
  346. class Featured extends CakeTestModel {
  347. /**
  348. * name property
  349. *
  350. * @var string 'Featured'
  351. */
  352. public $name = 'Featured';
  353. /**
  354. * belongsTo property
  355. *
  356. * @var array
  357. */
  358. public $belongsTo = array('ArticleFeatured', 'Category');
  359. }
  360. /**
  361. * Tag class
  362. *
  363. * @package Cake.Test.Case.Model
  364. */
  365. class Tag extends CakeTestModel {
  366. /**
  367. * name property
  368. *
  369. * @var string 'Tag'
  370. */
  371. public $name = 'Tag';
  372. }
  373. /**
  374. * ArticlesTag class
  375. *
  376. * @package Cake.Test.Case.Model
  377. */
  378. class ArticlesTag extends CakeTestModel {
  379. /**
  380. * name property
  381. *
  382. * @var string 'ArticlesTag'
  383. */
  384. public $name = 'ArticlesTag';
  385. }
  386. /**
  387. * ArticleFeaturedsTag class
  388. *
  389. * @package Cake.Test.Case.Model
  390. */
  391. class ArticleFeaturedsTag extends CakeTestModel {
  392. /**
  393. * name property
  394. *
  395. * @var string 'ArticleFeaturedsTag'
  396. */
  397. public $name = 'ArticleFeaturedsTag';
  398. }
  399. /**
  400. * Comment class
  401. *
  402. * @package Cake.Test.Case.Model
  403. */
  404. class Comment extends CakeTestModel {
  405. /**
  406. * name property
  407. *
  408. * @var string 'Comment'
  409. */
  410. public $name = 'Comment';
  411. /**
  412. * belongsTo property
  413. *
  414. * @var array
  415. */
  416. public $belongsTo = array('Article', 'User');
  417. /**
  418. * hasOne property
  419. *
  420. * @var array
  421. */
  422. public $hasOne = array('Attachment' => array('dependent' => true));
  423. }
  424. /**
  425. * Modified Comment Class has afterFind Callback
  426. *
  427. * @package Cake.Test.Case.Model
  428. */
  429. class ModifiedComment extends CakeTestModel {
  430. /**
  431. * name property
  432. *
  433. * @var string 'Comment'
  434. */
  435. public $name = 'Comment';
  436. /**
  437. * useTable property
  438. *
  439. * @var string 'comments'
  440. */
  441. public $useTable = 'comments';
  442. /**
  443. * belongsTo property
  444. *
  445. * @var array
  446. */
  447. public $belongsTo = array('Article');
  448. /**
  449. * afterFind callback
  450. *
  451. * @return void
  452. */
  453. public function afterFind($results, $primary = false) {
  454. if (isset($results[0])) {
  455. $results[0]['Comment']['callback'] = 'Fire';
  456. }
  457. return $results;
  458. }
  459. }
  460. /**
  461. * Modified Comment Class has afterFind Callback
  462. *
  463. * @package Cake.Test.Case.Model
  464. */
  465. class AgainModifiedComment extends CakeTestModel {
  466. /**
  467. * name property
  468. *
  469. * @var string 'Comment'
  470. */
  471. public $name = 'Comment';
  472. /**
  473. * useTable property
  474. *
  475. * @var string 'comments'
  476. */
  477. public $useTable = 'comments';
  478. /**
  479. * belongsTo property
  480. *
  481. * @var array
  482. */
  483. public $belongsTo = array('Article');
  484. /**
  485. * afterFind callback
  486. *
  487. * @return void
  488. */
  489. public function afterFind($results, $primary = false) {
  490. if (isset($results[0])) {
  491. $results[0]['Comment']['querytype'] = $this->findQueryType;
  492. }
  493. return $results;
  494. }
  495. }
  496. /**
  497. * MergeVarPluginAppModel class
  498. *
  499. * @package Cake.Test.Case.Model
  500. */
  501. class MergeVarPluginAppModel extends AppModel {
  502. /**
  503. * actsAs parameter
  504. *
  505. * @var array
  506. */
  507. public $actsAs = array(
  508. 'Containable'
  509. );
  510. }
  511. /**
  512. * MergeVarPluginPost class
  513. *
  514. * @package Cake.Test.Case.Model
  515. */
  516. class MergeVarPluginPost extends MergeVarPluginAppModel {
  517. /**
  518. * actsAs parameter
  519. *
  520. * @var array
  521. */
  522. public $actsAs = array(
  523. 'Tree'
  524. );
  525. /**
  526. * useTable parameter
  527. *
  528. * @var string
  529. */
  530. public $useTable = 'posts';
  531. }
  532. /**
  533. * MergeVarPluginComment class
  534. *
  535. * @package Cake.Test.Case.Model
  536. */
  537. class MergeVarPluginComment extends MergeVarPluginAppModel {
  538. /**
  539. * actsAs parameter
  540. *
  541. * @var array
  542. */
  543. public $actsAs = array(
  544. 'Containable' => array('some_settings')
  545. );
  546. /**
  547. * useTable parameter
  548. *
  549. * @var string
  550. */
  551. public $useTable = 'comments';
  552. }
  553. /**
  554. * Attachment class
  555. *
  556. * @package Cake.Test.Case.Model
  557. */
  558. class Attachment extends CakeTestModel {
  559. /**
  560. * name property
  561. *
  562. * @var string 'Attachment'
  563. */
  564. public $name = 'Attachment';
  565. }
  566. /**
  567. * Category class
  568. *
  569. * @package Cake.Test.Case.Model
  570. */
  571. class Category extends CakeTestModel {
  572. /**
  573. * name property
  574. *
  575. * @var string 'Category'
  576. */
  577. public $name = 'Category';
  578. }
  579. /**
  580. * CategoryThread class
  581. *
  582. * @package Cake.Test.Case.Model
  583. */
  584. class CategoryThread extends CakeTestModel {
  585. /**
  586. * name property
  587. *
  588. * @var string 'CategoryThread'
  589. */
  590. public $name = 'CategoryThread';
  591. /**
  592. * belongsTo property
  593. *
  594. * @var array
  595. */
  596. public $belongsTo = array('ParentCategory' => array('className' => 'CategoryThread', 'foreignKey' => 'parent_id'));
  597. }
  598. /**
  599. * Apple class
  600. *
  601. * @package Cake.Test.Case.Model
  602. */
  603. class Apple extends CakeTestModel {
  604. /**
  605. * name property
  606. *
  607. * @var string 'Apple'
  608. */
  609. public $name = 'Apple';
  610. /**
  611. * validate property
  612. *
  613. * @var array
  614. */
  615. public $validate = array('name' => 'notEmpty');
  616. /**
  617. * hasOne property
  618. *
  619. * @var array
  620. */
  621. public $hasOne = array('Sample');
  622. /**
  623. * hasMany property
  624. *
  625. * @var array
  626. */
  627. public $hasMany = array('Child' => array('className' => 'Apple', 'dependent' => true));
  628. /**
  629. * belongsTo property
  630. *
  631. * @var array
  632. */
  633. public $belongsTo = array('Parent' => array('className' => 'Apple', 'foreignKey' => 'apple_id'));
  634. }
  635. /**
  636. * Sample class
  637. *
  638. * @package Cake.Test.Case.Model
  639. */
  640. class Sample extends CakeTestModel {
  641. /**
  642. * name property
  643. *
  644. * @var string 'Sample'
  645. */
  646. public $name = 'Sample';
  647. /**
  648. * belongsTo property
  649. *
  650. * @var string 'Apple'
  651. */
  652. public $belongsTo = 'Apple';
  653. }
  654. /**
  655. * AnotherArticle class
  656. *
  657. * @package Cake.Test.Case.Model
  658. */
  659. class AnotherArticle extends CakeTestModel {
  660. /**
  661. * name property
  662. *
  663. * @var string 'AnotherArticle'
  664. */
  665. public $name = 'AnotherArticle';
  666. /**
  667. * hasMany property
  668. *
  669. * @var string 'Home'
  670. */
  671. public $hasMany = 'Home';
  672. }
  673. /**
  674. * Advertisement class
  675. *
  676. * @package Cake.Test.Case.Model
  677. */
  678. class Advertisement extends CakeTestModel {
  679. /**
  680. * name property
  681. *
  682. * @var string 'Advertisement'
  683. */
  684. public $name = 'Advertisement';
  685. /**
  686. * hasMany property
  687. *
  688. * @var string 'Home'
  689. */
  690. public $hasMany = 'Home';
  691. }
  692. /**
  693. * Home class
  694. *
  695. * @package Cake.Test.Case.Model
  696. */
  697. class Home extends CakeTestModel {
  698. /**
  699. * name property
  700. *
  701. * @var string 'Home'
  702. */
  703. public $name = 'Home';
  704. /**
  705. * belongsTo property
  706. *
  707. * @var array
  708. */
  709. public $belongsTo = array('AnotherArticle', 'Advertisement');
  710. }
  711. /**
  712. * Post class
  713. *
  714. * @package Cake.Test.Case.Model
  715. */
  716. class Post extends CakeTestModel {
  717. /**
  718. * name property
  719. *
  720. * @var string 'Post'
  721. */
  722. public $name = 'Post';
  723. /**
  724. * belongsTo property
  725. *
  726. * @var array
  727. */
  728. public $belongsTo = array('Author');
  729. public function beforeFind($queryData) {
  730. if (isset($queryData['connection'])) {
  731. $this->useDbConfig = $queryData['connection'];
  732. }
  733. return true;
  734. }
  735. public function afterFind($results, $primary = false) {
  736. $this->useDbConfig = 'test';
  737. return $results;
  738. }
  739. }
  740. /**
  741. * Author class
  742. *
  743. * @package Cake.Test.Case.Model
  744. */
  745. class Author extends CakeTestModel {
  746. /**
  747. * name property
  748. *
  749. * @var string 'Author'
  750. */
  751. public $name = 'Author';
  752. /**
  753. * hasMany property
  754. *
  755. * @var array
  756. */
  757. public $hasMany = array('Post');
  758. /**
  759. * afterFind method
  760. *
  761. * @param mixed $results
  762. * @return void
  763. */
  764. public function afterFind($results, $primary = false) {
  765. $results[0]['Author']['test'] = 'working';
  766. return $results;
  767. }
  768. }
  769. /**
  770. * ModifiedAuthor class
  771. *
  772. * @package Cake.Test.Case.Model
  773. */
  774. class ModifiedAuthor extends Author {
  775. /**
  776. * name property
  777. *
  778. * @var string 'Author'
  779. */
  780. public $name = 'Author';
  781. /**
  782. * afterFind method
  783. *
  784. * @param mixed $results
  785. * @return void
  786. */
  787. public function afterFind($results, $primary = false) {
  788. foreach ($results as $index => $result) {
  789. $results[$index]['Author']['user'] .= ' (CakePHP)';
  790. }
  791. return $results;
  792. }
  793. }
  794. /**
  795. * Project class
  796. *
  797. * @package Cake.Test.Case.Model
  798. */
  799. class Project extends CakeTestModel {
  800. /**
  801. * name property
  802. *
  803. * @var string 'Project'
  804. */
  805. public $name = 'Project';
  806. /**
  807. * hasMany property
  808. *
  809. * @var array
  810. */
  811. public $hasMany = array('Thread');
  812. }
  813. /**
  814. * Thread class
  815. *
  816. * @package Cake.Test.Case.Model
  817. */
  818. class Thread extends CakeTestModel {
  819. /**
  820. * name property
  821. *
  822. * @var string 'Thread'
  823. */
  824. public $name = 'Thread';
  825. /**
  826. * hasMany property
  827. *
  828. * @var array
  829. */
  830. public $belongsTo = array('Project');
  831. /**
  832. * hasMany property
  833. *
  834. * @var array
  835. */
  836. public $hasMany = array('Message');
  837. }
  838. /**
  839. * Message class
  840. *
  841. * @package Cake.Test.Case.Model
  842. */
  843. class Message extends CakeTestModel {
  844. /**
  845. * name property
  846. *
  847. * @var string 'Message'
  848. */
  849. public $name = 'Message';
  850. /**
  851. * hasOne property
  852. *
  853. * @var array
  854. */
  855. public $hasOne = array('Bid');
  856. }
  857. /**
  858. * Bid class
  859. *
  860. * @package Cake.Test.Case.Model
  861. */
  862. class Bid extends CakeTestModel {
  863. /**
  864. * name property
  865. *
  866. * @var string 'Bid'
  867. */
  868. public $name = 'Bid';
  869. /**
  870. * belongsTo property
  871. *
  872. * @var array
  873. */
  874. public $belongsTo = array('Message');
  875. }
  876. /**
  877. * BiddingMessage class
  878. *
  879. * @package Cake.Test.Case.Model
  880. */
  881. class BiddingMessage extends CakeTestModel {
  882. /**
  883. * name property
  884. *
  885. * @var string 'BiddingMessage'
  886. */
  887. public $name = 'BiddingMessage';
  888. /**
  889. * primaryKey property
  890. *
  891. * @var string 'bidding'
  892. */
  893. public $primaryKey = 'bidding';
  894. /**
  895. * belongsTo property
  896. *
  897. * @var array
  898. */
  899. public $belongsTo = array(
  900. 'Bidding' => array(
  901. 'foreignKey' => false,
  902. 'conditions' => array('BiddingMessage.bidding = Bidding.bid')
  903. )
  904. );
  905. }
  906. /**
  907. * Bidding class
  908. *
  909. * @package Cake.Test.Case.Model
  910. */
  911. class Bidding extends CakeTestModel {
  912. /**
  913. * name property
  914. *
  915. * @var string 'Bidding'
  916. */
  917. public $name = 'Bidding';
  918. /**
  919. * hasOne property
  920. *
  921. * @var array
  922. */
  923. public $hasOne = array(
  924. 'BiddingMessage' => array(
  925. 'foreignKey' => false,
  926. 'conditions' => array('BiddingMessage.bidding = Bidding.bid'),
  927. 'dependent' => true
  928. )
  929. );
  930. }
  931. /**
  932. * NodeAfterFind class
  933. *
  934. * @package Cake.Test.Case.Model
  935. */
  936. class NodeAfterFind extends CakeTestModel {
  937. /**
  938. * name property
  939. *
  940. * @var string 'NodeAfterFind'
  941. */
  942. public $name = 'NodeAfterFind';
  943. /**
  944. * validate property
  945. *
  946. * @var array
  947. */
  948. public $validate = array('name' => 'notEmpty');
  949. /**
  950. * useTable property
  951. *
  952. * @var string 'apples'
  953. */
  954. public $useTable = 'apples';
  955. /**
  956. * hasOne property
  957. *
  958. * @var array
  959. */
  960. public $hasOne = array('Sample' => array('className' => 'NodeAfterFindSample'));
  961. /**
  962. * hasMany property
  963. *
  964. * @var array
  965. */
  966. public $hasMany = array('Child' => array('className' => 'NodeAfterFind', 'dependent' => true));
  967. /**
  968. * belongsTo property
  969. *
  970. * @var array
  971. */
  972. public $belongsTo = array('Parent' => array('className' => 'NodeAfterFind', 'foreignKey' => 'apple_id'));
  973. /**
  974. * afterFind method
  975. *
  976. * @param mixed $results
  977. * @return void
  978. */
  979. public function afterFind($results, $primary = false) {
  980. return $results;
  981. }
  982. }
  983. /**
  984. * NodeAfterFindSample class
  985. *
  986. * @package Cake.Test.Case.Model
  987. */
  988. class NodeAfterFindSample extends CakeTestModel {
  989. /**
  990. * name property
  991. *
  992. * @var string 'NodeAfterFindSample'
  993. */
  994. public $name = 'NodeAfterFindSample';
  995. /**
  996. * useTable property
  997. *
  998. * @var string 'samples'
  999. */
  1000. public $useTable = 'samples';
  1001. /**
  1002. * belongsTo property
  1003. *
  1004. * @var string 'NodeAfterFind'
  1005. */
  1006. public $belongsTo = 'NodeAfterFind';
  1007. }
  1008. /**
  1009. * NodeNoAfterFind class
  1010. *
  1011. * @package Cake.Test.Case.Model
  1012. */
  1013. class NodeNoAfterFind extends CakeTestModel {
  1014. /**
  1015. * name property
  1016. *
  1017. * @var string 'NodeAfterFind'
  1018. */
  1019. public $name = 'NodeAfterFind';
  1020. /**
  1021. * validate property
  1022. *
  1023. * @var array
  1024. */
  1025. public $validate = array('name' => 'notEmpty');
  1026. /**
  1027. * useTable property
  1028. *
  1029. * @var string 'apples'
  1030. */
  1031. public $useTable = 'apples';
  1032. /**
  1033. * hasOne property
  1034. *
  1035. * @var array
  1036. */
  1037. public $hasOne = array('Sample' => array('className' => 'NodeAfterFindSample'));
  1038. /**
  1039. * hasMany property
  1040. *
  1041. * @var array
  1042. */
  1043. public $hasMany = array('Child' => array('className' => 'NodeAfterFind', 'dependent' => true));
  1044. /**
  1045. * belongsTo property
  1046. *
  1047. * @var array
  1048. */
  1049. public $belongsTo = array('Parent' => array('className' => 'NodeAfterFind', 'foreignKey' => 'apple_id'));
  1050. }
  1051. /**
  1052. * Node class
  1053. *
  1054. * @package Cake.Test.Case.Model
  1055. */
  1056. class Node extends CakeTestModel{
  1057. /**
  1058. * name property
  1059. *
  1060. * @var string 'Node'
  1061. */
  1062. public $name = 'Node';
  1063. /**
  1064. * hasAndBelongsToMany property
  1065. *
  1066. * @var array
  1067. */
  1068. public $hasAndBelongsToMany = array(
  1069. 'ParentNode' => array(
  1070. 'className' => 'Node',
  1071. 'joinTable' => 'dependency',
  1072. 'with' => 'Dependency',
  1073. 'foreignKey' => 'child_id',
  1074. 'associationForeignKey' => 'parent_id',
  1075. )
  1076. );
  1077. }
  1078. /**
  1079. * Dependency class
  1080. *
  1081. * @package Cake.Test.Case.Model
  1082. */
  1083. class Dependency extends CakeTestModel {
  1084. /**
  1085. * name property
  1086. *
  1087. * @var string 'Dependency'
  1088. */
  1089. public $name = 'Dependency';
  1090. }
  1091. /**
  1092. * ModelA class
  1093. *
  1094. * @package Cake.Test.Case.Model
  1095. */
  1096. class ModelA extends CakeTestModel {
  1097. /**
  1098. * name property
  1099. *
  1100. * @var string 'ModelA'
  1101. */
  1102. public $name = 'ModelA';
  1103. /**
  1104. * useTable property
  1105. *
  1106. * @var string 'apples'
  1107. */
  1108. public $useTable = 'apples';
  1109. /**
  1110. * hasMany property
  1111. *
  1112. * @var array
  1113. */
  1114. public $hasMany = array('ModelB', 'ModelC');
  1115. }
  1116. /**
  1117. * ModelB class
  1118. *
  1119. * @package Cake.Test.Case.Model
  1120. */
  1121. class ModelB extends CakeTestModel {
  1122. /**
  1123. * name property
  1124. *
  1125. * @var string 'ModelB'
  1126. */
  1127. public $name = 'ModelB';
  1128. /**
  1129. * useTable property
  1130. *
  1131. * @var string 'messages'
  1132. */
  1133. public $useTable = 'messages';
  1134. /**
  1135. * hasMany property
  1136. *
  1137. * @var array
  1138. */
  1139. public $hasMany = array('ModelD');
  1140. }
  1141. /**
  1142. * ModelC class
  1143. *
  1144. * @package Cake.Test.Case.Model
  1145. */
  1146. class ModelC extends CakeTestModel {
  1147. /**
  1148. * name property
  1149. *
  1150. * @var string 'ModelC'
  1151. */
  1152. public $name = 'ModelC';
  1153. /**
  1154. * useTable property
  1155. *
  1156. * @var string 'bids'
  1157. */
  1158. public $useTable = 'bids';
  1159. /**
  1160. * hasMany property
  1161. *
  1162. * @var array
  1163. */
  1164. public $hasMany = array('ModelD');
  1165. }
  1166. /**
  1167. * ModelD class
  1168. *
  1169. * @package Cake.Test.Case.Model
  1170. */
  1171. class ModelD extends CakeTestModel {
  1172. /**
  1173. * name property
  1174. *
  1175. * @var string 'ModelD'
  1176. */
  1177. public $name = 'ModelD';
  1178. /**
  1179. * useTable property
  1180. *
  1181. * @var string 'threads'
  1182. */
  1183. public $useTable = 'threads';
  1184. }
  1185. /**
  1186. * Something class
  1187. *
  1188. * @package Cake.Test.Case.Model
  1189. */
  1190. class Something extends CakeTestModel {
  1191. /**
  1192. * name property
  1193. *
  1194. * @var string 'Something'
  1195. */
  1196. public $name = 'Something';
  1197. /**
  1198. * hasAndBelongsToMany property
  1199. *
  1200. * @var array
  1201. */
  1202. public $hasAndBelongsToMany = array('SomethingElse' => array('with' => array('JoinThing' => array('doomed'))));
  1203. }
  1204. /**
  1205. * SomethingElse class
  1206. *
  1207. * @package Cake.Test.Case.Model
  1208. */
  1209. class SomethingElse extends CakeTestModel {
  1210. /**
  1211. * name property
  1212. *
  1213. * @var string 'SomethingElse'
  1214. */
  1215. public $name = 'SomethingElse';
  1216. /**
  1217. * hasAndBelongsToMany property
  1218. *
  1219. * @var array
  1220. */
  1221. public $hasAndBelongsToMany = array('Something' => array('with' => 'JoinThing'));
  1222. }
  1223. /**
  1224. * JoinThing class
  1225. *
  1226. * @package Cake.Test.Case.Model
  1227. */
  1228. class JoinThing extends CakeTestModel {
  1229. /**
  1230. * name property
  1231. *
  1232. * @var string 'JoinThing'
  1233. */
  1234. public $name = 'JoinThing';
  1235. /**
  1236. * belongsTo property
  1237. *
  1238. * @var array
  1239. */
  1240. public $belongsTo = array('Something', 'SomethingElse');
  1241. }
  1242. /**
  1243. * Portfolio class
  1244. *
  1245. * @package Cake.Test.Case.Model
  1246. */
  1247. class Portfolio extends CakeTestModel {
  1248. /**
  1249. * name property
  1250. *
  1251. * @var string 'Portfolio'
  1252. */
  1253. public $name = 'Portfolio';
  1254. /**
  1255. * hasAndBelongsToMany property
  1256. *
  1257. * @var array
  1258. */
  1259. public $hasAndBelongsToMany = array('Item');
  1260. }
  1261. /**
  1262. * Item class
  1263. *
  1264. * @package Cake.Test.Case.Model
  1265. */
  1266. class Item extends CakeTestModel {
  1267. /**
  1268. * name property
  1269. *
  1270. * @var string 'Item'
  1271. */
  1272. public $name = 'Item';
  1273. /**
  1274. * belongsTo property
  1275. *
  1276. * @var array
  1277. */
  1278. public $belongsTo = array('Syfile' => array('counterCache' => true));
  1279. /**
  1280. * hasAndBelongsToMany property
  1281. *
  1282. * @var array
  1283. */
  1284. public $hasAndBelongsToMany = array('Portfolio' => array('unique' => false));
  1285. }
  1286. /**
  1287. * ItemsPortfolio class
  1288. *
  1289. * @package Cake.Test.Case.Model
  1290. */
  1291. class ItemsPortfolio extends CakeTestModel {
  1292. /**
  1293. * name property
  1294. *
  1295. * @var string 'ItemsPortfolio'
  1296. */
  1297. public $name = 'ItemsPortfolio';
  1298. }
  1299. /**
  1300. * Syfile class
  1301. *
  1302. * @package Cake.Test.Case.Model
  1303. */
  1304. class Syfile extends CakeTestModel {
  1305. /**
  1306. * name property
  1307. *
  1308. * @var string 'Syfile'
  1309. */
  1310. public $name = 'Syfile';
  1311. /**
  1312. * belongsTo property
  1313. *
  1314. * @var array
  1315. */
  1316. public $belongsTo = array('Image');
  1317. }
  1318. /**
  1319. * Image class
  1320. *
  1321. * @package Cake.Test.Case.Model
  1322. */
  1323. class Image extends CakeTestModel {
  1324. /**
  1325. * name property
  1326. *
  1327. * @var string 'Image'
  1328. */
  1329. public $name = 'Image';
  1330. }
  1331. /**
  1332. * DeviceType class
  1333. *
  1334. * @package Cake.Test.Case.Model
  1335. */
  1336. class DeviceType extends CakeTestModel {
  1337. /**
  1338. * name property
  1339. *
  1340. * @var string 'DeviceType'
  1341. */
  1342. public $name = 'DeviceType';
  1343. /**
  1344. * order property
  1345. *
  1346. * @var array
  1347. */
  1348. public $order = array('DeviceType.order' => 'ASC');
  1349. /**
  1350. * belongsTo property
  1351. *
  1352. * @var array
  1353. */
  1354. public $belongsTo = array(
  1355. 'DeviceTypeCategory', 'FeatureSet', 'ExteriorTypeCategory',
  1356. 'Image' => array('className' => 'Document'),
  1357. 'Extra1' => array('className' => 'Document'),
  1358. 'Extra2' => array('className' => 'Document'));
  1359. /**
  1360. * hasMany property
  1361. *
  1362. * @var array
  1363. */
  1364. public $hasMany = array('Device' => array('order' => array('Device.id' => 'ASC')));
  1365. }
  1366. /**
  1367. * DeviceTypeCategory class
  1368. *
  1369. * @package Cake.Test.Case.Model
  1370. */
  1371. class DeviceTypeCategory extends CakeTestModel {
  1372. /**
  1373. * name property
  1374. *
  1375. * @var string 'DeviceTypeCategory'
  1376. */
  1377. public $name = 'DeviceTypeCategory';
  1378. }
  1379. /**
  1380. * FeatureSet class
  1381. *
  1382. * @package Cake.Test.Case.Model
  1383. */
  1384. class FeatureSet extends CakeTestModel {
  1385. /**
  1386. * name property
  1387. *
  1388. * @var string 'FeatureSet'
  1389. */
  1390. public $name = 'FeatureSet';
  1391. }
  1392. /**
  1393. * ExteriorTypeCategory class
  1394. *
  1395. * @package Cake.Test.Case.Model
  1396. */
  1397. class ExteriorTypeCategory extends CakeTestModel {
  1398. /**
  1399. * name property
  1400. *
  1401. * @var string 'ExteriorTypeCategory'
  1402. */
  1403. public $name = 'ExteriorTypeCategory';
  1404. /**
  1405. * belongsTo property
  1406. *
  1407. * @var array
  1408. */
  1409. public $belongsTo = array('Image' => array('className' => 'Device'));
  1410. }
  1411. /**
  1412. * Document class
  1413. *
  1414. * @package Cake.Test.Case.Model
  1415. */
  1416. class Document extends CakeTestModel {
  1417. /**
  1418. * name property
  1419. *
  1420. * @var string 'Document'
  1421. */
  1422. public $name = 'Document';
  1423. /**
  1424. * belongsTo property
  1425. *
  1426. * @var array
  1427. */
  1428. public $belongsTo = array('DocumentDirectory');
  1429. }
  1430. /**
  1431. * Device class
  1432. *
  1433. * @package Cake.Test.Case.Model
  1434. */
  1435. class Device extends CakeTestModel {
  1436. /**
  1437. * name property
  1438. *
  1439. * @var string 'Device'
  1440. */
  1441. public $name = 'Device';
  1442. }
  1443. /**
  1444. * DocumentDirectory class
  1445. *
  1446. * @package Cake.Test.Case.Model
  1447. */
  1448. class DocumentDirectory extends CakeTestModel {
  1449. /**
  1450. * name property
  1451. *
  1452. * @var string 'DocumentDirectory'
  1453. */
  1454. public $name = 'DocumentDirectory';
  1455. }
  1456. /**
  1457. * PrimaryModel class
  1458. *
  1459. * @package Cake.Test.Case.Model
  1460. */
  1461. class PrimaryModel extends CakeTestModel {
  1462. /**
  1463. * name property
  1464. *
  1465. * @var string 'PrimaryModel'
  1466. */
  1467. public $name = 'PrimaryModel';
  1468. }
  1469. /**
  1470. * SecondaryModel class
  1471. *
  1472. * @package Cake.Test.Case.Model
  1473. */
  1474. class SecondaryModel extends CakeTestModel {
  1475. /**
  1476. * name property
  1477. *
  1478. * @var string 'SecondaryModel'
  1479. */
  1480. public $name = 'SecondaryModel';
  1481. }
  1482. /**
  1483. * JoinA class
  1484. *
  1485. * @package Cake.Test.Case.Model
  1486. */
  1487. class JoinA extends CakeTestModel {
  1488. /**
  1489. * name property
  1490. *
  1491. * @var string 'JoinA'
  1492. */
  1493. public $name = 'JoinA';
  1494. /**
  1495. * hasAndBelongsToMany property
  1496. *
  1497. * @var array
  1498. */
  1499. public $hasAndBelongsToMany = array('JoinB', 'JoinC');
  1500. }
  1501. /**
  1502. * JoinB class
  1503. *
  1504. * @package Cake.Test.Case.Model
  1505. */
  1506. class JoinB extends CakeTestModel {
  1507. /**
  1508. * name property
  1509. *
  1510. * @var string 'JoinB'
  1511. */
  1512. public $name = 'JoinB';
  1513. /**
  1514. * hasAndBelongsToMany property
  1515. *
  1516. * @var array
  1517. */
  1518. public $hasAndBelongsToMany = array('JoinA');
  1519. }
  1520. /**
  1521. * JoinC class
  1522. *
  1523. * @package Cake.Test.Case.Model
  1524. */
  1525. class JoinC extends CakeTestModel {
  1526. /**
  1527. * name property
  1528. *
  1529. * @var string 'JoinC'
  1530. */
  1531. public $name = 'JoinC';
  1532. /**
  1533. * hasAndBelongsToMany property
  1534. *
  1535. * @var array
  1536. */
  1537. public $hasAndBelongsToMany = array('JoinA');
  1538. }
  1539. /**
  1540. * ThePaper class
  1541. *
  1542. * @package Cake.Test.Case.Model
  1543. */
  1544. class ThePaper extends CakeTestModel {
  1545. /**
  1546. * name property
  1547. *
  1548. * @var string 'ThePaper'
  1549. */
  1550. public $name = 'ThePaper';
  1551. /**
  1552. * useTable property
  1553. *
  1554. * @var string 'apples'
  1555. */
  1556. public $useTable = 'apples';
  1557. /**
  1558. * hasOne property
  1559. *
  1560. * @var array
  1561. */
  1562. public $hasOne = array('Itself' => array('className' => 'ThePaper', 'foreignKey' => 'apple_id'));
  1563. /**
  1564. * hasAndBelongsToMany property
  1565. *
  1566. * @var array
  1567. */
  1568. public $hasAndBelongsToMany = array('Monkey' => array('joinTable' => 'the_paper_monkies', 'order' => 'id'));
  1569. }
  1570. /**
  1571. * Monkey class
  1572. *
  1573. * @package Cake.Test.Case.Model
  1574. */
  1575. class Monkey extends CakeTestModel {
  1576. /**
  1577. * name property
  1578. *
  1579. * @var string 'Monkey'
  1580. */
  1581. public $name = 'Monkey';
  1582. /**
  1583. * useTable property
  1584. *
  1585. * @var string 'devices'
  1586. */
  1587. public $useTable = 'devices';
  1588. }
  1589. /**
  1590. * AssociationTest1 class
  1591. *
  1592. * @package Cake.Test.Case.Model
  1593. */
  1594. class AssociationTest1 extends CakeTestModel {
  1595. /**
  1596. * useTable property
  1597. *
  1598. * @var string 'join_as'
  1599. */
  1600. public $useTable = 'join_as';
  1601. /**
  1602. * name property
  1603. *
  1604. * @var string 'AssociationTest1'
  1605. */
  1606. public $name = 'AssociationTest1';
  1607. /**
  1608. * hasAndBelongsToMany property
  1609. *
  1610. * @var array
  1611. */
  1612. public $hasAndBelongsToMany = array('AssociationTest2' => array(
  1613. 'unique' => false, 'joinTable' => 'join_as_join_bs', 'foreignKey' => false
  1614. ));
  1615. }
  1616. /**
  1617. * AssociationTest2 class
  1618. *
  1619. * @package Cake.Test.Case.Model
  1620. */
  1621. class AssociationTest2 extends CakeTestModel {
  1622. /**
  1623. * useTable property
  1624. *
  1625. * @var string 'join_bs'
  1626. */
  1627. public $useTable = 'join_bs';
  1628. /**
  1629. * name property
  1630. *
  1631. * @var string 'AssociationTest2'
  1632. */
  1633. public $name = 'AssociationTest2';
  1634. /**
  1635. * hasAndBelongsToMany property
  1636. *
  1637. * @var array
  1638. */
  1639. public $hasAndBelongsToMany = array('AssociationTest1' => array(
  1640. 'unique' => false, 'joinTable' => 'join_as_join_bs'
  1641. ));
  1642. }
  1643. /**
  1644. * Callback class
  1645. *
  1646. * @package Cake.Test.Case.Model
  1647. */
  1648. class Callback extends CakeTestModel {
  1649. }
  1650. /**
  1651. * CallbackPostTestModel class
  1652. *
  1653. * @package Cake.Test.Case.Model
  1654. */
  1655. class CallbackPostTestModel extends CakeTestModel {
  1656. public $useTable = 'posts';
  1657. /**
  1658. * variable to control return of beforeValidate
  1659. *
  1660. * @var string
  1661. */
  1662. public $beforeValidateReturn = true;
  1663. /**
  1664. * variable to control return of beforeSave
  1665. *
  1666. * @var string
  1667. */
  1668. public $beforeSaveReturn = true;
  1669. /**
  1670. * variable to control return of beforeDelete
  1671. *
  1672. * @var string
  1673. */
  1674. public $beforeDeleteReturn = true;
  1675. /**
  1676. * beforeSave callback
  1677. *
  1678. * @return void
  1679. */
  1680. public function beforeSave($options = array()) {
  1681. return $this->beforeSaveReturn;
  1682. }
  1683. /**
  1684. * beforeValidate callback
  1685. *
  1686. * @return void
  1687. */
  1688. public function beforeValidate($options = array()) {
  1689. return $this->beforeValidateReturn;
  1690. }
  1691. /**
  1692. * beforeDelete callback
  1693. *
  1694. * @return void
  1695. */
  1696. public function beforeDelete($cascade = true) {
  1697. return $this->beforeDeleteReturn;
  1698. }
  1699. }
  1700. /**
  1701. * Uuid class
  1702. *
  1703. * @package Cake.Test.Case.Model
  1704. */
  1705. class Uuid extends CakeTestModel {
  1706. /**
  1707. * name property
  1708. *
  1709. * @var string 'Uuid'
  1710. */
  1711. public $name = 'Uuid';
  1712. }
  1713. /**
  1714. * DataTest class
  1715. *
  1716. * @package Cake.Test.Case.Model
  1717. */
  1718. class DataTest extends CakeTestModel {
  1719. /**
  1720. * name property
  1721. *
  1722. * @var string 'DataTest'
  1723. */
  1724. public $name = 'DataTest';
  1725. }
  1726. /**
  1727. * TheVoid class
  1728. *
  1729. * @package Cake.Test.Case.Model
  1730. */
  1731. class TheVoid extends CakeTestModel {
  1732. /**
  1733. * name property
  1734. *
  1735. * @var string 'TheVoid'
  1736. */
  1737. public $name = 'TheVoid';
  1738. /**
  1739. * useTable property
  1740. *
  1741. * @var bool false
  1742. */
  1743. public $useTable = false;
  1744. }
  1745. /**
  1746. * ValidationTest1 class
  1747. *
  1748. * @package Cake.Test.Case.Model
  1749. */
  1750. class ValidationTest1 extends CakeTestModel {
  1751. /**
  1752. * name property
  1753. *
  1754. * @var string 'ValidationTest'
  1755. */
  1756. public $name = 'ValidationTest1';
  1757. /**
  1758. * useTable property
  1759. *
  1760. * @var bool false
  1761. */
  1762. public $useTable = false;
  1763. /**
  1764. * schema property
  1765. *
  1766. * @var array
  1767. */
  1768. protected $_schema = array();
  1769. /**
  1770. * validate property
  1771. *
  1772. * @var array
  1773. */
  1774. public $validate = array(
  1775. 'title' => 'notEmpty',
  1776. 'published' => 'customValidationMethod',
  1777. 'body' => array(
  1778. 'notEmpty',
  1779. '/^.{5,}$/s' => 'no matchy',
  1780. '/^[0-9A-Za-z \\.]{1,}$/s'
  1781. )
  1782. );
  1783. /**
  1784. * customValidationMethod method
  1785. *
  1786. * @param mixed $data
  1787. * @return void
  1788. */
  1789. public function customValidationMethod($data) {
  1790. return $data === 1;
  1791. }
  1792. /**
  1793. * Custom validator with parameters + default values
  1794. *
  1795. * @return array
  1796. */
  1797. public function customValidatorWithParams($data, $validator, $or = true, $ignore_on_same = 'id') {
  1798. $this->validatorParams = get_defined_vars();
  1799. unset($this->validatorParams['this']);
  1800. return true;
  1801. }
  1802. /**
  1803. * Custom validator with messaage
  1804. *
  1805. * @return array
  1806. */
  1807. public function customValidatorWithMessage($data) {
  1808. return 'This field will *never* validate! Muhahaha!';
  1809. }
  1810. /**
  1811. * Test validation with many parameters
  1812. *
  1813. * @return void
  1814. */
  1815. public function customValidatorWithSixParams($data, $one = 1, $two = 2, $three = 3, $four = 4, $five = 5, $six = 6) {
  1816. $this->validatorParams = get_defined_vars();
  1817. unset($this->validatorParams['this']);
  1818. return true;
  1819. }
  1820. }
  1821. /**
  1822. * ValidationTest2 class
  1823. *
  1824. * @package Cake.Test.Case.Model
  1825. */
  1826. class ValidationTest2 extends CakeTestModel {
  1827. /**
  1828. * name property
  1829. *
  1830. * @var string 'ValidationTest2'
  1831. */
  1832. public $name = 'ValidationTest2';
  1833. /**
  1834. * useTable property
  1835. *
  1836. * @var bool false
  1837. */
  1838. public $useTable = false;
  1839. /**
  1840. * validate property
  1841. *
  1842. * @var array
  1843. */
  1844. public $validate = array(
  1845. 'title' => 'notEmpty',
  1846. 'published' => 'customValidationMethod',
  1847. 'body' => array(
  1848. 'notEmpty',
  1849. '/^.{5,}$/s' => 'no matchy',
  1850. '/^[0-9A-Za-z \\.]{1,}$/s'
  1851. )
  1852. );
  1853. /**
  1854. * customValidationMethod method
  1855. *
  1856. * @param mixed $data
  1857. * @return void
  1858. */
  1859. public function customValidationMethod($data) {
  1860. return $data === 1;
  1861. }
  1862. /**
  1863. * schema method
  1864. *
  1865. * @return void
  1866. */
  1867. public function schema($field = false) {
  1868. return array();
  1869. }
  1870. }
  1871. /**
  1872. * Person class
  1873. *
  1874. * @package Cake.Test.Case.Model
  1875. */
  1876. class Person extends CakeTestModel {
  1877. /**
  1878. * name property
  1879. *
  1880. * @var string 'Person'
  1881. */
  1882. public $name = 'Person';
  1883. /**
  1884. * belongsTo property
  1885. *
  1886. * @var array
  1887. */
  1888. public $belongsTo = array(
  1889. 'Mother' => array(
  1890. 'className' => 'Person',
  1891. 'foreignKey' => 'mother_id'),
  1892. 'Father' => array(
  1893. 'className' => 'Person',
  1894. 'foreignKey' => 'father_id'));
  1895. }
  1896. /**
  1897. * UnderscoreField class
  1898. *
  1899. * @package Cake.Test.Case.Model
  1900. */
  1901. class UnderscoreField extends CakeTestModel {
  1902. /**
  1903. * name property
  1904. *
  1905. * @var string 'UnderscoreField'
  1906. */
  1907. public $name = 'UnderscoreField';
  1908. }
  1909. /**
  1910. * Product class
  1911. *
  1912. * @package Cake.Test.Case.Model
  1913. */
  1914. class Product extends CakeTestModel {
  1915. /**
  1916. * name property
  1917. *
  1918. * @var string 'Product'
  1919. */
  1920. public $name = 'Product';
  1921. }
  1922. /**
  1923. * Story class
  1924. *
  1925. * @package Cake.Test.Case.Model
  1926. */
  1927. class Story extends CakeTestModel {
  1928. /**
  1929. * name property
  1930. *
  1931. * @var string 'Story'
  1932. */
  1933. public $name = 'Story';
  1934. /**
  1935. * primaryKey property
  1936. *
  1937. * @var string 'story'
  1938. */
  1939. public $primaryKey = 'story';
  1940. /**
  1941. * hasAndBelongsToMany property
  1942. *
  1943. * @var array
  1944. */
  1945. public $hasAndBelongsToMany = array('Tag' => array('foreignKey' => 'story'));
  1946. /**
  1947. * validate property
  1948. *
  1949. * @var array
  1950. */
  1951. public $validate = array('title' => 'notEmpty');
  1952. }
  1953. /**
  1954. * Cd class
  1955. *
  1956. * @package Cake.Test.Case.Model
  1957. */
  1958. class Cd extends CakeTestModel {
  1959. /**
  1960. * name property
  1961. *
  1962. * @var string 'Cd'
  1963. */
  1964. public $name = 'Cd';
  1965. /**
  1966. * hasOne property
  1967. *
  1968. * @var array
  1969. */
  1970. public $hasOne = array('OverallFavorite' => array('foreignKey' => 'model_id', 'dependent' => true, 'conditions' => array('model_type' => 'Cd')));
  1971. }
  1972. /**
  1973. * Book class
  1974. *
  1975. * @package Cake.Test.Case.Model
  1976. */
  1977. class Book extends CakeTestModel {
  1978. /**
  1979. * name property
  1980. *
  1981. * @var string 'Book'
  1982. */
  1983. public $name = 'Book';
  1984. /**
  1985. * hasOne property
  1986. *
  1987. * @var array
  1988. */
  1989. public $hasOne = array('OverallFavorite' => array('foreignKey' => 'model_id', 'dependent' => true, 'conditions' => 'OverallFavorite.model_type = \'Book\''));
  1990. }
  1991. /**
  1992. * OverallFavorite class
  1993. *
  1994. * @package Cake.Test.Case.Model
  1995. */
  1996. class OverallFavorite extends CakeTestModel {
  1997. /**
  1998. * name property
  1999. *
  2000. * @var string 'OverallFavorite'
  2001. */
  2002. public $name = 'OverallFavorite';
  2003. }
  2004. /**
  2005. * MyUser class
  2006. *
  2007. * @package Cake.Test.Case.Model
  2008. */
  2009. class MyUser extends CakeTestModel {
  2010. /**
  2011. * name property
  2012. *
  2013. * @var string 'MyUser'
  2014. */
  2015. public $name = 'MyUser';
  2016. /**
  2017. * undocumented variable
  2018. *
  2019. * @var string
  2020. */
  2021. public $hasAndBelongsToMany = array('MyCategory');
  2022. }
  2023. /**
  2024. * MyCategory class
  2025. *
  2026. * @package Cake.Test.Case.Model
  2027. */
  2028. class MyCategory extends CakeTestModel {
  2029. /**
  2030. * name property
  2031. *
  2032. * @var string 'MyCategory'
  2033. */
  2034. public $name = 'MyCategory';
  2035. /**
  2036. * undocumented variable
  2037. *
  2038. * @var string
  2039. */
  2040. public $hasAndBelongsToMany = array('MyProduct', 'MyUser');
  2041. }
  2042. /**
  2043. * MyProduct class
  2044. *
  2045. * @package Cake.Test.Case.Model
  2046. */
  2047. class MyProduct extends CakeTestModel {
  2048. /**
  2049. * name property
  2050. *
  2051. * @var string 'MyProduct'
  2052. */
  2053. public $name = 'MyProduct';
  2054. /**
  2055. * undocumented variable
  2056. *
  2057. * @var string
  2058. */
  2059. public $hasAndBelongsToMany = array('MyCategory');
  2060. }
  2061. /**
  2062. * MyCategoriesMyUser class
  2063. *
  2064. * @package Cake.Test.Case.Model
  2065. */
  2066. class MyCategoriesMyUser extends CakeTestModel {
  2067. /**
  2068. * name property
  2069. *
  2070. * @var string 'MyCategoriesMyUser'
  2071. */
  2072. public $name = 'MyCategoriesMyUser';
  2073. }
  2074. /**
  2075. * MyCategoriesMyProduct class
  2076. *
  2077. * @package Cake.Test.Case.Model
  2078. */
  2079. class MyCategoriesMyProduct extends CakeTestModel {
  2080. /**
  2081. * name property
  2082. *
  2083. * @var string 'MyCategoriesMyProduct'
  2084. */
  2085. public $name = 'MyCategoriesMyProduct';
  2086. }
  2087. /**
  2088. * NumberTree class
  2089. *
  2090. * @package Cake.Test.Case.Model
  2091. */
  2092. class NumberTree extends CakeTestModel {
  2093. /**
  2094. * name property
  2095. *
  2096. * @var string 'NumberTree'
  2097. */
  2098. public $name = 'NumberTree';
  2099. /**
  2100. * actsAs property
  2101. *
  2102. * @var array
  2103. */
  2104. public $actsAs = array('Tree');
  2105. /**
  2106. * initialize method
  2107. *
  2108. * @param int $levelLimit
  2109. * @param int $childLimit
  2110. * @param mixed $currentLevel
  2111. * @param mixed $parent_id
  2112. * @param string $prefix
  2113. * @param bool $hierachial
  2114. * @return void
  2115. */
  2116. public function initialize($levelLimit = 3, $childLimit = 3, $currentLevel = null, $parent_id = null, $prefix = '1', $hierachial = true) {
  2117. if (!$parent_id) {
  2118. $db = ConnectionManager::getDataSource($this->useDbConfig);
  2119. $db->truncate($this->table);
  2120. $this->save(array($this->name => array('name' => '1. Root')));
  2121. $this->initialize($levelLimit, $childLimit, 1, $this->id, '1', $hierachial);
  2122. $this->create(array());
  2123. }
  2124. if (!$currentLevel || $currentLevel > $levelLimit) {
  2125. return;
  2126. }
  2127. for ($i = 1; $i <= $childLimit; $i++) {
  2128. $name = $prefix . '.' . $i;
  2129. $data = array($this->name => array('name' => $name));
  2130. $this->create($data);
  2131. if ($hierachial) {
  2132. if ($this->name == 'UnconventionalTree') {
  2133. $data[$this->name]['join'] = $parent_id;
  2134. } else {
  2135. $data[$this->name]['parent_id'] = $parent_id;
  2136. }
  2137. }
  2138. $this->save($data);
  2139. $this->initialize($levelLimit, $childLimit, $currentLevel + 1, $this->id, $name, $hierachial);
  2140. }
  2141. }
  2142. }
  2143. /**
  2144. * NumberTreeTwo class
  2145. *
  2146. * @package Cake.Test.Case.Model
  2147. */
  2148. class NumberTreeTwo extends NumberTree {
  2149. /**
  2150. * name property
  2151. *
  2152. * @var string 'NumberTree'
  2153. */
  2154. public $name = 'NumberTreeTwo';
  2155. /**
  2156. * actsAs property
  2157. *
  2158. * @var array
  2159. */
  2160. public $actsAs = array();
  2161. }
  2162. /**
  2163. * FlagTree class
  2164. *
  2165. * @package Cake.Test.Case.Model
  2166. */
  2167. class FlagTree extends NumberTree {
  2168. /**
  2169. * name property
  2170. *
  2171. * @var string 'FlagTree'
  2172. */
  2173. public $name = 'FlagTree';
  2174. }
  2175. /**
  2176. * UnconventionalTree class
  2177. *
  2178. * @package Cake.Test.Case.Model
  2179. */
  2180. class UnconventionalTree extends NumberTree {
  2181. /**
  2182. * name property
  2183. *
  2184. * @var string 'FlagTree'
  2185. */
  2186. public $name = 'UnconventionalTree';
  2187. public $actsAs = array(
  2188. 'Tree' => array(
  2189. 'parent' => 'join',
  2190. 'left' => 'left',
  2191. 'right' => 'right'
  2192. )
  2193. );
  2194. }
  2195. /**
  2196. * UuidTree class
  2197. *
  2198. * @package Cake.Test.Case.Model
  2199. */
  2200. class UuidTree extends NumberTree {
  2201. /**
  2202. * name property
  2203. *
  2204. * @var string 'FlagTree'
  2205. */
  2206. public $name = 'UuidTree';
  2207. }
  2208. /**
  2209. * Campaign class
  2210. *
  2211. * @package Cake.Test.Case.Model
  2212. */
  2213. class Campaign extends CakeTestModel {
  2214. /**
  2215. * name property
  2216. *
  2217. * @var string 'Campaign'
  2218. */
  2219. public $name = 'Campaign';
  2220. /**
  2221. * hasMany property
  2222. *
  2223. * @var array
  2224. */
  2225. public $hasMany = array('Ad' => array('fields' => array('id', 'campaign_id', 'name')));
  2226. }
  2227. /**
  2228. * Ad class
  2229. *
  2230. * @package Cake.Test.Case.Model
  2231. */
  2232. class Ad extends CakeTestModel {
  2233. /**
  2234. * name property
  2235. *
  2236. * @var string 'Ad'
  2237. */
  2238. public $name = 'Ad';
  2239. /**
  2240. * actsAs property
  2241. *
  2242. * @var array
  2243. */
  2244. public $actsAs = array('Tree');
  2245. /**
  2246. * belongsTo property
  2247. *
  2248. * @var array
  2249. */
  2250. public $belongsTo = array('Campaign');
  2251. }
  2252. /**
  2253. * AfterTree class
  2254. *
  2255. * @package Cake.Test.Case.Model
  2256. */
  2257. class AfterTree extends NumberTree {
  2258. /**
  2259. * name property
  2260. *
  2261. * @var string 'AfterTree'
  2262. */
  2263. public $name = 'AfterTree';
  2264. /**
  2265. * actsAs property
  2266. *
  2267. * @var array
  2268. */
  2269. public $actsAs = array('Tree');
  2270. public function afterSave($created) {
  2271. if ($created && isset($this->data['AfterTree'])) {
  2272. $this->data['AfterTree']['name'] = 'Six and One Half Changed in AfterTree::afterSave() but not in database';
  2273. }
  2274. }
  2275. }
  2276. /**
  2277. * Nonconformant Content class
  2278. *
  2279. * @package Cake.Test.Case.Model
  2280. */
  2281. class Content extends CakeTestModel {
  2282. /**
  2283. * name property
  2284. *
  2285. * @var string 'Content'
  2286. */
  2287. public $name = 'Content';
  2288. /**
  2289. * useTable property
  2290. *
  2291. * @var string 'Content'
  2292. */
  2293. public $useTable = 'Content';
  2294. /**
  2295. * primaryKey property
  2296. *
  2297. * @var string 'iContentId'
  2298. */
  2299. public $primaryKey = 'iContentId';
  2300. /**
  2301. * hasAndBelongsToMany property
  2302. *
  2303. * @var array
  2304. */
  2305. public $hasAndBelongsToMany = array('Account' => array('className' => 'Account', 'with' => 'ContentAccount', 'joinTable' => 'ContentAccounts', 'foreignKey' => 'iContentId', 'associationForeignKey', 'iAccountId'));
  2306. }
  2307. /**
  2308. * Nonconformant Account class
  2309. *
  2310. * @package Cake.Test.Case.Model
  2311. */
  2312. class Account extends CakeTestModel {
  2313. /**
  2314. * name property
  2315. *
  2316. * @var string 'Account'
  2317. */
  2318. public $name = 'Account';
  2319. /**
  2320. * useTable property
  2321. *
  2322. * @var string 'Account'
  2323. */
  2324. public $useTable = 'Accounts';
  2325. /**
  2326. * primaryKey property
  2327. *
  2328. * @var string 'iAccountId'
  2329. */
  2330. public $primaryKey = 'iAccountId';
  2331. }
  2332. /**
  2333. * Nonconformant ContentAccount class
  2334. *
  2335. * @package Cake.Test.Case.Model
  2336. */
  2337. class ContentAccount extends CakeTestModel {
  2338. /**
  2339. * name property
  2340. *
  2341. * @var string 'Account'
  2342. */
  2343. public $name = 'ContentAccount';
  2344. /**
  2345. * useTable property
  2346. *
  2347. * @var string 'Account'
  2348. */
  2349. public $useTable = 'ContentAccounts';
  2350. /**
  2351. * primaryKey property
  2352. *
  2353. * @var string 'iAccountId'
  2354. */
  2355. public $primaryKey = 'iContentAccountsId';
  2356. }
  2357. /**
  2358. * FilmFile class
  2359. *
  2360. * @package Cake.Test.Case.Model
  2361. */
  2362. class FilmFile extends CakeTestModel {
  2363. public $name = 'FilmFile';
  2364. }
  2365. /**
  2366. * Basket test model
  2367. *
  2368. * @package Cake.Test.Case.Model
  2369. */
  2370. class Basket extends CakeTestModel {
  2371. public $name = 'Basket';
  2372. public $belongsTo = array(
  2373. 'FilmFile' => array(
  2374. 'className' => 'FilmFile',
  2375. 'foreignKey' => 'object_id',
  2376. 'conditions' => "Basket.type = 'file'",
  2377. 'fields' => '',
  2378. 'order' => ''
  2379. )
  2380. );
  2381. }
  2382. /**
  2383. * TestPluginArticle class
  2384. *
  2385. * @package Cake.Test.Case.Model
  2386. */
  2387. class TestPluginArticle extends CakeTestModel {
  2388. /**
  2389. * name property
  2390. *
  2391. * @var string 'TestPluginArticle'
  2392. */
  2393. public $name = 'TestPluginArticle';
  2394. /**
  2395. * belongsTo property
  2396. *
  2397. * @var array
  2398. */
  2399. public $belongsTo = array('User');
  2400. /**
  2401. * hasMany property
  2402. *
  2403. * @var array
  2404. */
  2405. public $hasMany = array(
  2406. 'TestPluginComment' => array(
  2407. 'className' => 'TestPlugin.TestPluginComment',
  2408. 'foreignKey' => 'article_id',
  2409. 'dependent' => true
  2410. )
  2411. );
  2412. }
  2413. /**
  2414. * TestPluginComment class
  2415. *
  2416. * @package Cake.Test.Case.Model
  2417. */
  2418. class TestPluginComment extends CakeTestModel {
  2419. /**
  2420. * name property
  2421. *
  2422. * @var string 'TestPluginComment'
  2423. */
  2424. public $name = 'TestPluginComment';
  2425. /**
  2426. * belongsTo property
  2427. *
  2428. * @var array
  2429. */
  2430. public $belongsTo = array(
  2431. 'TestPluginArticle' => array(
  2432. 'className' => 'TestPlugin.TestPluginArticle',
  2433. 'foreignKey' => 'article_id',
  2434. ),
  2435. 'TestPlugin.User'
  2436. );
  2437. }
  2438. /**
  2439. * Uuidportfolio class
  2440. *
  2441. * @package Cake.Test.Case.Model
  2442. */
  2443. class Uuidportfolio extends CakeTestModel {
  2444. /**
  2445. * name property
  2446. *
  2447. * @var string 'Uuidportfolio'
  2448. */
  2449. public $name = 'Uuidportfolio';
  2450. /**
  2451. * hasAndBelongsToMany property
  2452. *
  2453. * @var array
  2454. */
  2455. public $hasAndBelongsToMany = array('Uuiditem');
  2456. }
  2457. /**
  2458. * Uuiditem class
  2459. *
  2460. * @package Cake.Test.Case.Model
  2461. */
  2462. class Uuiditem extends CakeTestModel {
  2463. /**
  2464. * name property
  2465. *
  2466. * @var string 'Item'
  2467. */
  2468. public $name = 'Uuiditem';
  2469. /**
  2470. * hasAndBelongsToMany property
  2471. *
  2472. * @var array
  2473. */
  2474. public $hasAndBelongsToMany = array('Uuidportfolio' => array('with' => 'UuiditemsUuidportfolioNumericid'));
  2475. }
  2476. /**
  2477. * UuiditemsPortfolio class
  2478. *
  2479. * @package Cake.Test.Case.Model
  2480. */
  2481. class UuiditemsUuidportfolio extends CakeTestModel {
  2482. /**
  2483. * name property
  2484. *
  2485. * @var string 'ItemsPortfolio'
  2486. */
  2487. public $name = 'UuiditemsUuidportfolio';
  2488. }
  2489. /**
  2490. * UuiditemsPortfolioNumericid class
  2491. *
  2492. * @package Cake.Test.Case.Model
  2493. */
  2494. class UuiditemsUuidportfolioNumericid extends CakeTestModel {
  2495. /**
  2496. * name property
  2497. *
  2498. * @var string
  2499. */
  2500. public $name = 'UuiditemsUuidportfolioNumericid';
  2501. }
  2502. /**
  2503. * TranslateTestModel class.
  2504. *
  2505. * @package Cake.Test.Case.Model
  2506. */
  2507. class TranslateTestModel extends CakeTestModel {
  2508. /**
  2509. * name property
  2510. *
  2511. * @var string 'TranslateTestModel'
  2512. */
  2513. public $name = 'TranslateTestModel';
  2514. /**
  2515. * useTable property
  2516. *
  2517. * @var string 'i18n'
  2518. */
  2519. public $useTable = 'i18n';
  2520. /**
  2521. * displayField property
  2522. *
  2523. * @var string 'field'
  2524. */
  2525. public $displayField = 'field';
  2526. }
  2527. /**
  2528. * TranslateTestModel class.
  2529. *
  2530. * @package Cake.Test.Case.Model
  2531. */
  2532. class TranslateWithPrefix extends CakeTestModel {
  2533. /**
  2534. * name property
  2535. *
  2536. * @var string 'TranslateTestModel'
  2537. */
  2538. public $name = 'TranslateWithPrefix';
  2539. /**
  2540. * tablePrefix property
  2541. *
  2542. * @var string 'i18n'
  2543. */
  2544. public $tablePrefix = 'i18n_';
  2545. /**
  2546. * displayField property
  2547. *
  2548. * @var string 'field'
  2549. */
  2550. public $displayField = 'field';
  2551. }
  2552. /**
  2553. * TranslatedItem class.
  2554. *
  2555. * @package Cake.Test.Case.Model
  2556. */
  2557. class TranslatedItem extends CakeTestModel {
  2558. /**
  2559. * name property
  2560. *
  2561. * @var string 'TranslatedItem'
  2562. */
  2563. public $name = 'TranslatedItem';
  2564. /**
  2565. * cacheQueries property
  2566. *
  2567. * @var bool false
  2568. */
  2569. public $cacheQueries = false;
  2570. /**
  2571. * actsAs property
  2572. *
  2573. * @var array
  2574. */
  2575. public $actsAs = array('Translate' => array('content', 'title'));
  2576. /**
  2577. * translateModel property
  2578. *
  2579. * @var string 'TranslateTestModel'
  2580. */
  2581. public $translateModel = 'TranslateTestModel';
  2582. }
  2583. /**
  2584. * TranslatedItem class.
  2585. *
  2586. * @package Cake.Test.Case.Model
  2587. */
  2588. class TranslatedItem2 extends CakeTestModel {
  2589. /**
  2590. * name property
  2591. *
  2592. * @var string 'TranslatedItem'
  2593. */
  2594. public $name = 'TranslatedItem';
  2595. /**
  2596. * cacheQueries property
  2597. *
  2598. * @var bool false
  2599. */
  2600. public $cacheQueries = false;
  2601. /**
  2602. * actsAs property
  2603. *
  2604. * @var array
  2605. */
  2606. public $actsAs = array('Translate' => array('content', 'title'));
  2607. /**
  2608. * translateModel property
  2609. *
  2610. * @var string 'TranslateTestModel'
  2611. */
  2612. public $translateModel = 'TranslateWithPrefix';
  2613. }
  2614. /**
  2615. * TranslatedItemWithTable class.
  2616. *
  2617. * @package Cake.Test.Case.Model
  2618. */
  2619. class TranslatedItemWithTable extends CakeTestModel {
  2620. /**
  2621. * name property
  2622. *
  2623. * @var string 'TranslatedItemWithTable'
  2624. */
  2625. public $name = 'TranslatedItemWithTable';
  2626. /**
  2627. * useTable property
  2628. *
  2629. * @var string 'translated_items'
  2630. */
  2631. public $useTable = 'translated_items';
  2632. /**
  2633. * cacheQueries property
  2634. *
  2635. * @var bool false
  2636. */
  2637. public $cacheQueries = false;
  2638. /**
  2639. * actsAs property
  2640. *
  2641. * @var array
  2642. */
  2643. public $actsAs = array('Translate' => array('content', 'title'));
  2644. /**
  2645. * translateModel property
  2646. *
  2647. * @var string 'TranslateTestModel'
  2648. */
  2649. public $translateModel = 'TranslateTestModel';
  2650. /**
  2651. * translateTable property
  2652. *
  2653. * @var string 'another_i18n'
  2654. */
  2655. public $translateTable = 'another_i18n';
  2656. }
  2657. /**
  2658. * TranslateArticleModel class.
  2659. *
  2660. * @package Cake.Test.Case.Model
  2661. */
  2662. class TranslateArticleModel extends CakeTestModel {
  2663. /**
  2664. * name property
  2665. *
  2666. * @var string 'TranslateArticleModel'
  2667. */
  2668. public $name = 'TranslateArticleModel';
  2669. /**
  2670. * useTable property
  2671. *
  2672. * @var string 'article_i18n'
  2673. */
  2674. public $useTable = 'article_i18n';
  2675. /**
  2676. * displayField property
  2677. *
  2678. * @var string 'field'
  2679. */
  2680. public $displayField = 'field';
  2681. }
  2682. /**
  2683. * TranslatedArticle class.
  2684. *
  2685. * @package Cake.Test.Case.Model
  2686. */
  2687. class TranslatedArticle extends CakeTestModel {
  2688. /**
  2689. * name property
  2690. *
  2691. * @var string 'TranslatedArticle'
  2692. */
  2693. public $name = 'TranslatedArticle';
  2694. /**
  2695. * cacheQueries property
  2696. *
  2697. * @var bool false
  2698. */
  2699. public $cacheQueries = false;
  2700. /**
  2701. * actsAs property
  2702. *
  2703. * @var array
  2704. */
  2705. public $actsAs = array('Translate' => array('title', 'body'));
  2706. /**
  2707. * translateModel property
  2708. *
  2709. * @var string 'TranslateArticleModel'
  2710. */
  2711. public $translateModel = 'TranslateArticleModel';
  2712. /**
  2713. * belongsTo property
  2714. *
  2715. * @var array
  2716. */
  2717. public $belongsTo = array('User');
  2718. }
  2719. class CounterCacheUser extends CakeTestModel {
  2720. public $name = 'CounterCacheUser';
  2721. public $alias = 'User';
  2722. public $hasMany = array('Post' => array(
  2723. 'className' => 'CounterCachePost',
  2724. 'foreignKey' => 'user_id'
  2725. ));
  2726. }
  2727. class CounterCachePost extends CakeTestModel {
  2728. public $name = 'CounterCachePost';
  2729. public $alias = 'Post';
  2730. public $belongsTo = array('User' => array(
  2731. 'className' => 'CounterCacheUser',
  2732. 'foreignKey' => 'user_id',
  2733. 'counterCache' => true
  2734. ));
  2735. }
  2736. class CounterCacheUserNonstandardPrimaryKey extends CakeTestModel {
  2737. public $name = 'CounterCacheUserNonstandardPrimaryKey';
  2738. public $alias = 'User';
  2739. public $primaryKey = 'uid';
  2740. public $hasMany = array('Post' => array(
  2741. 'className' => 'CounterCachePostNonstandardPrimaryKey',
  2742. 'foreignKey' => 'uid'
  2743. ));
  2744. }
  2745. class CounterCachePostNonstandardPrimaryKey extends CakeTestModel {
  2746. public $name = 'CounterCachePostNonstandardPrimaryKey';
  2747. public $alias = 'Post';
  2748. public $primaryKey = 'pid';
  2749. public $belongsTo = array('User' => array(
  2750. 'className' => 'CounterCacheUserNonstandardPrimaryKey',
  2751. 'foreignKey' => 'uid',
  2752. 'counterCache' => true
  2753. ));
  2754. }
  2755. class ArticleB extends CakeTestModel {
  2756. public $name = 'ArticleB';
  2757. public $useTable = 'articles';
  2758. public $hasAndBelongsToMany = array(
  2759. 'TagB' => array(
  2760. 'className' => 'TagB',
  2761. 'joinTable' => 'articles_tags',
  2762. 'foreignKey' => 'article_id',
  2763. 'associationForeignKey' => 'tag_id'
  2764. )
  2765. );
  2766. }
  2767. class TagB extends CakeTestModel {
  2768. public $name = 'TagB';
  2769. public $useTable = 'tag…

Large files files are truncated, but you can click here to view the full file