aboutsummaryrefslogtreecommitdiff
path: root/tests/MathTest.php
diff options
context:
space:
mode:
authorBruce Wells <brucekwells@gmail.com>2019-01-11 04:18:10 +0300
committerGitHub <noreply@github.com>2019-01-11 04:18:10 +0300
commit18b12aeeff34c8ac9a350165ae36f08f4138dc9c (patch)
treee65b68200d122f4c8afbf772203dc63002ad3c7f /tests/MathTest.php
parentba505031a329eaf632d1af646308482f9db57b68 (diff)
sync (#5)
* Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Added simple coc (#37) * Added simple coc * Fix * Replaceable operators (#38) * Updated from NeonXP/MathExecutor * Fixed function in () block issue * Fixing typos in and clarifying documentation. * Syncing from origin (#3) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Allow for operators to be replaced based on regex expression * Fix md typo (#39) * Updated from NeonXP/MathExecutor * Fixed function in () block issue * Fixing typos in and clarifying documentation. * Syncing from origin (#3) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Syncing to origin (#4) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Added simple coc (#37) * Added simple coc * Fix * Replaceable operators (#38) * Updated from NeonXP/MathExecutor * Fixed function in () block issue * Fixing typos in and clarifying documentation. * Syncing from origin (#3) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Allow for operators to be replaced based on regex expression * \\ instead of \ * Update README.md Some small fixes * Fix single quotes parsing (#41) * Fix single quotes parsing Fix e-mails Some small fixes * Mistake in test * More PHP versions * Update README.md Deleted `dev` branch
Diffstat (limited to 'tests/MathTest.php')
-rw-r--r--tests/MathTest.php18
1 files changed, 16 insertions, 2 deletions
diff --git a/tests/MathTest.php b/tests/MathTest.php
index 9acdb63..55e0799 100644
--- a/tests/MathTest.php
+++ b/tests/MathTest.php
@@ -32,7 +32,7 @@ class MathTest extends \PHPUnit_Framework_TestCase
/** @var float $phpResult */
eval('$phpResult = ' . $expression . ';');
- $this->assertEquals($calculator->execute($expression), $phpResult);
+ $this->assertEquals($calculator->execute($expression), $phpResult, "Expression was: ${expression}");
}
/**
@@ -138,9 +138,23 @@ class MathTest extends \PHPUnit_Framework_TestCase
{
$calculator = new MathExecutor();
- $calculator->addFunction('round', function ($arg) { return round($arg); }, 1);
+ $calculator->addFunction('round', function ($arg) {
+ return round($arg);
+ }, 1);
/** @var float $phpResult */
eval('$phpResult = round(100/30);');
$this->assertEquals($calculator->execute('round(100/30)'), $phpResult);
}
+
+ public function testQuotes()
+ {
+ $calculator = new MathExecutor();
+ $testString = "some, long. arg; with: different-separators!";
+ $calculator->addFunction('test', function ($arg) use ($testString) {
+ $this->assertEquals($arg, $testString);
+ return 0;
+ }, 1);
+ $calculator->execute('test("' . $testString . '")'); // single quotes
+ $calculator->execute("test('" . $testString . "')"); // double quotes
+ }
} \ No newline at end of file