76 lines
1.7 KiB
PHP
76 lines
1.7 KiB
PHP
<?php
|
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
/**
|
|
* tests for JS variable formatting
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
|
|
/*
|
|
* Include to test.
|
|
*/
|
|
require_once 'libraries/js_escape.lib.php';
|
|
|
|
|
|
/**
|
|
* tests for JS variable formatting
|
|
*
|
|
* @package PhpMyAdmin-test
|
|
*/
|
|
class PMA_JS_Escape_Test extends PHPUnit_Framework_TestCase
|
|
{
|
|
/**
|
|
* Test for PMA_getJsValue
|
|
*
|
|
* @param string $key Key
|
|
* @param string $value Value
|
|
* @param string $expected Expected output
|
|
*
|
|
* @dataProvider variables
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testFormat($key, $value, $expected)
|
|
{
|
|
$this->assertEquals($expected, PMA_getJsValue($key, $value));
|
|
$this->assertEquals('foo = 100', PMA_getJsValue('foo', '100', false));
|
|
$array = array('1','2','3');
|
|
$this->assertEquals(
|
|
"foo = [\"1\",\"2\",\"3\",];\n",
|
|
PMA_getJsValue('foo', $array)
|
|
);
|
|
$this->assertEquals(
|
|
"foo = \"bar\\\"baz\";\n",
|
|
PMA_getJsValue('foo', 'bar"baz')
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Test for PMA_jsFormat
|
|
*
|
|
* @return void
|
|
*/
|
|
public function testJsFormat()
|
|
{
|
|
$this->assertEquals("`foo`", PMA_jsFormat('foo'));
|
|
}
|
|
|
|
/**
|
|
* Provider for testFormat
|
|
*
|
|
* @return array
|
|
*/
|
|
public function variables()
|
|
{
|
|
return array(
|
|
array('foo', true, "foo = true;\n"),
|
|
array('foo', false, "foo = false;\n"),
|
|
array('foo', 100, "foo = 100;\n"),
|
|
array('foo', 0, "foo = 0;\n"),
|
|
array('foo', 'text', "foo = \"text\";\n"),
|
|
array('foo', 'quote"', "foo = \"quote\\\"\";\n"),
|
|
array('foo', 'apostroph\'', "foo = \"apostroph\\'\";\n"),
|
|
);
|
|
}
|
|
}
|