mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 19:16:16 +00:00
Adding get() + tests to prototype
This commit is contained in:
parent
977efe4e1d
commit
da2361de14
2 changed files with 247 additions and 0 deletions
125
cake/libs/view/helpers/prototype_engine.php
Normal file
125
cake/libs/view/helpers/prototype_engine.php
Normal file
|
@ -0,0 +1,125 @@
|
|||
<?php
|
||||
/**
|
||||
* Prototype Engine Helper for JsHelper
|
||||
*
|
||||
* Provides Prototype specific Javascript for JsHelper.
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||
* Copyright 2006-2008, Cake Software Foundation, Inc.
|
||||
* 1785 E. Sahara Avenue, Suite 490-204
|
||||
* Las Vegas, Nevada 89104
|
||||
*
|
||||
* 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.
|
||||
* @version
|
||||
* @modifiedby
|
||||
* @lastmodified
|
||||
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||
*/
|
||||
App::import('Helper', 'Js');
|
||||
|
||||
class PrototypeEngineHelper extends JsBaseEngineHelper {
|
||||
/**
|
||||
* Option mappings for Prototype
|
||||
*
|
||||
* @var array
|
||||
**/
|
||||
var $_optionMap = array(
|
||||
|
||||
);
|
||||
/**
|
||||
* Create javascript selector for a CSS rule
|
||||
*
|
||||
* @param string $selector The selector that is targeted
|
||||
* @return object instance of $this. Allows chained methods.
|
||||
**/
|
||||
function get($selector) {
|
||||
if ($selector == 'window' || $selector == 'document') {
|
||||
$this->selection = "$(" . $selector .")";
|
||||
return $this;
|
||||
}
|
||||
if (preg_match('/^#[^\s.]+$/', $selector)) {
|
||||
$this->selection = '$("' . substr($selector, 1) . '")';
|
||||
return $this;
|
||||
}
|
||||
$this->selection = '$$("' . $selector . '")';
|
||||
return $this;
|
||||
}
|
||||
/**
|
||||
* Add an event to the script cache. Operates on the currently selected elements.
|
||||
*
|
||||
* ### Options
|
||||
*
|
||||
* - 'wrap' - Whether you want the callback wrapped in an anonymous function. (defaults true)
|
||||
* - 'stop' - Whether you want the event to stopped. (defaults true)
|
||||
*
|
||||
* @param string $type Type of event to bind to the current dom id
|
||||
* @param string $callback The Javascript function you wish to trigger or the function literal
|
||||
* @param array $options Options for the event.
|
||||
* @return string completed event handler
|
||||
**/
|
||||
function event($type, $callback, $options = array()) {
|
||||
|
||||
}
|
||||
/**
|
||||
* Create a domReady event. This is a special event in many libraries
|
||||
*
|
||||
* @param string $functionBody The code to run on domReady
|
||||
* @return string completed domReady method
|
||||
**/
|
||||
function domReady($functionBody) {
|
||||
|
||||
}
|
||||
/**
|
||||
* Create an iteration over the current selection result.
|
||||
*
|
||||
* @param string $method The method you want to apply to the selection
|
||||
* @param string $callback The function body you wish to apply during the iteration.
|
||||
* @return string completed iteration
|
||||
**/
|
||||
function each($callback) {
|
||||
|
||||
}
|
||||
/**
|
||||
* Trigger an Effect.
|
||||
*
|
||||
* @param string $name The name of the effect to trigger.
|
||||
* @param array $options Array of options for the effect.
|
||||
* @return string completed string with effect.
|
||||
* @see JsBaseEngineHelper::effect()
|
||||
**/
|
||||
function effect($name, $options = array()) {
|
||||
|
||||
}
|
||||
/**
|
||||
* Create an Ajax or Ajax.Updater call.
|
||||
*
|
||||
* @param mixed $url
|
||||
* @param array $options
|
||||
* @return string The completed ajax call.
|
||||
**/
|
||||
function request($url, $options = array()) {
|
||||
|
||||
}
|
||||
/**
|
||||
* Create a sortable element.
|
||||
*
|
||||
* Requires both Ui.Core and Ui.Sortables to be loaded.
|
||||
*
|
||||
* @param array $options Array of options for the sortable.
|
||||
* @return string Completed sortable script.
|
||||
* @see JsHelper::sortable() for options list.
|
||||
**/
|
||||
function sortable($options = array()) {
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
122
cake/tests/cases/libs/view/helpers/prototype_engine.test.php
Normal file
122
cake/tests/cases/libs/view/helpers/prototype_engine.test.php
Normal file
|
@ -0,0 +1,122 @@
|
|||
<?php
|
||||
/**
|
||||
* PrototypeEngine TestCase
|
||||
*
|
||||
*
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||
* Copyright 2006-2008, Cake Software Foundation, Inc.
|
||||
* 1785 E. Sahara Avenue, Suite 490-204
|
||||
* Las Vegas, Nevada 89104
|
||||
*
|
||||
* 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.tests
|
||||
* @subpackage cake.tests.cases.views.helpers
|
||||
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||
*/
|
||||
App::import('Helper', array('Html', 'Js', 'PrototypeEngine'));
|
||||
|
||||
class PrototypeEngineHelperTestCase extends CakeTestCase {
|
||||
/**
|
||||
* startTest
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function startTest() {
|
||||
$this->Proto =& new PrototypeEngineHelper();
|
||||
}
|
||||
/**
|
||||
* end test
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function endTest() {
|
||||
unset($this->Proto);
|
||||
}
|
||||
/**
|
||||
* test selector method
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function testSelector() {
|
||||
$result = $this->Proto->get('#content');
|
||||
$this->assertEqual($result, $this->Proto);
|
||||
$this->assertEqual($this->Proto->selection, '$("content")');
|
||||
|
||||
$result = $this->Proto->get('a .remove');
|
||||
$this->assertEqual($result, $this->Proto);
|
||||
$this->assertEqual($this->Proto->selection, '$$("a .remove")');
|
||||
|
||||
$result = $this->Proto->get('document');
|
||||
$this->assertEqual($result, $this->Proto);
|
||||
$this->assertEqual($this->Proto->selection, "$(document)");
|
||||
|
||||
$result = $this->Proto->get('window');
|
||||
$this->assertEqual($result, $this->Proto);
|
||||
$this->assertEqual($this->Proto->selection, "$(window)");
|
||||
|
||||
$result = $this->Proto->get('ul');
|
||||
$this->assertEqual($result, $this->Proto);
|
||||
$this->assertEqual($this->Proto->selection, '$$("ul")');
|
||||
|
||||
$result = $this->Proto->get('#some_long-id.class');
|
||||
$this->assertEqual($result, $this->Proto);
|
||||
$this->assertEqual($this->Proto->selection, '$$("#some_long-id.class")');
|
||||
}
|
||||
/**
|
||||
* test event binding
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function testEvent() {
|
||||
|
||||
}
|
||||
/**
|
||||
* test dom ready event creation
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function testDomReady() {
|
||||
|
||||
}
|
||||
/**
|
||||
* test Each method
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function testEach() {
|
||||
|
||||
}
|
||||
/**
|
||||
* test Effect generation
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function testEffect() {
|
||||
|
||||
}
|
||||
/**
|
||||
* Test Request Generation
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function testRequest() {
|
||||
|
||||
}
|
||||
/**
|
||||
* test sortable list generation
|
||||
*
|
||||
* @return void
|
||||
**/
|
||||
function testSortable() {
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Add table
Reference in a new issue