annotate core/tests/Drupal/Tests/Component/Serialization/YamlTestBase.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\Component\Serialization;
Chris@0 4
Chris@0 5 use PHPUnit\Framework\TestCase;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Provides standard data to validate different YAML implementations.
Chris@0 9 */
Chris@0 10 abstract class YamlTestBase extends TestCase {
Chris@0 11
Chris@0 12 /**
Chris@0 13 * Some data that should be able to be serialized.
Chris@0 14 */
Chris@0 15 public function providerEncodeDecodeTests() {
Chris@0 16 return [
Chris@0 17 [
Chris@0 18 'foo' => 'bar',
Chris@0 19 'id' => 'schnitzel',
Chris@0 20 'ponies' => ['nope', 'thanks'],
Chris@0 21 'how' => [
Chris@0 22 'about' => 'if',
Chris@0 23 'i' => 'ask',
Chris@0 24 'nicely',
Chris@0 25 ],
Chris@0 26 'the' => [
Chris@0 27 'answer' => [
Chris@0 28 'still' => 'would',
Chris@0 29 'be' => 'Y',
Chris@0 30 ],
Chris@0 31 ],
Chris@0 32 'how_many_times' => 123,
Chris@0 33 'should_i_ask' => FALSE,
Chris@0 34 1,
Chris@0 35 FALSE,
Chris@0 36 [1, FALSE],
Chris@0 37 [10],
Chris@0 38 [0 => '123456'],
Chris@0 39 ],
Chris@17 40 [NULL],
Chris@0 41 ];
Chris@0 42 }
Chris@0 43
Chris@0 44 /**
Chris@0 45 * Some data that should be able to be de-serialized.
Chris@0 46 */
Chris@0 47 public function providerDecodeTests() {
Chris@0 48 $data = [
Chris@0 49 // NULL files.
Chris@0 50 ['', NULL],
Chris@0 51 ["\n", NULL],
Chris@0 52 ["---\n...\n", NULL],
Chris@0 53
Chris@0 54 // Node anchors.
Chris@0 55 [
Chris@0 56 "
Chris@0 57 jquery.ui:
Chris@0 58 version: &jquery_ui 1.10.2
Chris@0 59
Chris@0 60 jquery.ui.accordion:
Chris@0 61 version: *jquery_ui
Chris@0 62 ",
Chris@0 63 [
Chris@0 64 'jquery.ui' => [
Chris@0 65 'version' => '1.10.2',
Chris@0 66 ],
Chris@0 67 'jquery.ui.accordion' => [
Chris@0 68 'version' => '1.10.2',
Chris@0 69 ],
Chris@0 70 ],
Chris@0 71 ],
Chris@0 72 ];
Chris@0 73
Chris@0 74 // 1.2 Bool values.
Chris@0 75 foreach ($this->providerBoolTest() as $test) {
Chris@0 76 $data[] = ['bool: ' . $test[0], ['bool' => $test[1]]];
Chris@0 77 }
Chris@0 78 $data = array_merge($data, $this->providerBoolTest());
Chris@0 79
Chris@0 80 return $data;
Chris@0 81 }
Chris@0 82
Chris@0 83 /**
Chris@0 84 * Tests different boolean serialization and de-serialization.
Chris@0 85 */
Chris@0 86 public function providerBoolTest() {
Chris@0 87 return [
Chris@0 88 ['true', TRUE],
Chris@0 89 ['TRUE', TRUE],
Chris@0 90 ['True', TRUE],
Chris@0 91 ['y', 'y'],
Chris@0 92 ['Y', 'Y'],
Chris@0 93 ['false', FALSE],
Chris@0 94 ['FALSE', FALSE],
Chris@0 95 ['False', FALSE],
Chris@0 96 ['n', 'n'],
Chris@0 97 ['N', 'N'],
Chris@0 98 ];
Chris@0 99 }
Chris@0 100
Chris@0 101 }