CRM_Core_BAO_CacheTest - Test more example values
[civicrm-core.git] / tests / phpunit / CRM / Core / BAO / CacheTest.php
CommitLineData
64c2ecd4
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
2fe49090 4 | CiviCRM version 5 |
64c2ecd4 5 +--------------------------------------------------------------------+
8c9251b3 6 | Copyright CiviCRM LLC (c) 2004-2018 |
64c2ecd4
TO
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27
28/**
29 * Class CRM_Core_BAO_CacheTest
30 * @group headless
31 */
32class CRM_Core_BAO_CacheTest extends CiviUnitTestCase {
33
addbe802
TO
34 public function exampleValues() {
35 $binary = '';
36 for ($i = 0; $i < 256; $i++) {
37 $binary .= chr($i);
38 }
39
40 $ex = [];
41
42 $ex[] = [array('abc' => 'def')];
43 $ex[] = [0];
44 $ex[] = ['hello world'];
45 $ex[] = ['Scarabée'];
46 $ex[] = ['Iñtërnâtiônàlizætiøn'];
47 $ex[] = ['これは日本語のテキストです。読めますか'];
48 $ex[] = ['देखें हिन्दी कैसी नजर आती है। अरे वाह ये तो नजर आती है।'];
49 $ex[] = [$binary];
50
51 return $ex;
52 }
53
54 /**
55 * @param $originalValue
56 * @dataProvider exampleValues
57 */
58 public function testSetGetItem($originalValue) {
64c2ecd4
TO
59 CRM_Core_BAO_Cache::setItem($originalValue, __CLASS__, 'testSetGetItem');
60
61 $return_1 = CRM_Core_BAO_Cache::getItem(__CLASS__, 'testSetGetItem');
62 $this->assertEquals($originalValue, $return_1);
63
64 // Wipe out any in-memory copies of the cache. Check to see if the SQL
65 // read is correct.
66
67 CRM_Core_BAO_Cache::$_cache = NULL;
68 CRM_Utils_Cache::$_singleton = NULL;
69 $return_2 = CRM_Core_BAO_Cache::getItem(__CLASS__, 'testSetGetItem');
70 $this->assertEquals($originalValue, $return_2);
71 }
72
73}