- Add CloudronStack/output/CloudronPackages-Artifacts/tirreno/ directory and its contents - Includes package manifest, Dockerfile, source code, documentation, and build artifacts - Add tirreno-1761840148.tar.gz as a build artifact - Add tirreno-cloudron-package-1761841304.tar.gz as the Cloudron package - Include all necessary files for the tirreno Cloudron package This adds the complete tirreno Cloudron package artifacts to the repository.
		
			
				
	
	
		
			414 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			414 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
class ParseTest extends PHPUnit_Framework_TestCase {
 | 
						|
 | 
						|
    protected $yaml;
 | 
						|
 | 
						|
    protected function setUp() {
 | 
						|
      $this->yaml = spyc_load_file(__DIR__.'/../spyc.yaml');
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMergeHashKeys() {
 | 
						|
      $Expected =  array (
 | 
						|
        array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '1mm')),
 | 
						|
        array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '2mm')),
 | 
						|
      );
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['steps']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDeathMasks() {
 | 
						|
      $Expected = array ('sad' => 2, 'magnificent' => 4);
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['death masks are']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDevDb() {
 | 
						|
      $Expected = array ('adapter' => 'mysql', 'host' => 'localhost', 'database' => 'rails_dev');
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['development']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testNumericKey() {
 | 
						|
      $this->assertEquals ("Ooo, a numeric key!", $this->yaml[1040]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsString() {
 | 
						|
      $this->assertEquals ("Anyone's name, really.", $this->yaml['String']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsInt() {
 | 
						|
      $this->assertSame (13, $this->yaml['Int']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsHex() {
 | 
						|
      $this->assertSame (243, $this->yaml['Hex']);
 | 
						|
      $this->assertSame ('f0xf3', $this->yaml['BadHex']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsBooleanTrue() {
 | 
						|
      $this->assertSame (true, $this->yaml['True']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsBooleanFalse() {
 | 
						|
      $this->assertSame (false, $this->yaml['False']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsZero() {
 | 
						|
      $this->assertSame (0, $this->yaml['Zero']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsNull() {
 | 
						|
      $this->assertSame (null, $this->yaml['Null']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsNotNull() {
 | 
						|
      $this->assertSame ('null', $this->yaml['NotNull']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsFloat() {
 | 
						|
      $this->assertSame (5.34, $this->yaml['Float']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsNegative() {
 | 
						|
      $this->assertSame (-90, $this->yaml['Negative']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappingsSmallFloat() {
 | 
						|
      $this->assertSame (0.7, $this->yaml['SmallFloat']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testNewline() {
 | 
						|
      $this->assertSame ('\n', $this->yaml['NewLine']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testQuotedNewline() {
 | 
						|
      $this->assertSame ("\n", $this->yaml['QuotedNewLine']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSeq0() {
 | 
						|
      $this->assertEquals ("PHP Class", $this->yaml[0]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSeq1() {
 | 
						|
      $this->assertEquals ("Basic YAML Loader", $this->yaml[1]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSeq2() {
 | 
						|
      $this->assertEquals ("Very Basic YAML Dumper", $this->yaml[2]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSeq3() {
 | 
						|
      $this->assertEquals (array("YAML is so easy to learn.",
 | 
						|
											"Your config files will never be the same."), $this->yaml[3]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSeqMap() {
 | 
						|
      $this->assertEquals (array("cpu" => "1.5ghz", "ram" => "1 gig",
 | 
						|
											"os" => "os x 10.4.1"), $this->yaml[4]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMappedSequence() {
 | 
						|
      $this->assertEquals (array("yaml.org", "php.net"), $this->yaml['domains']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testAnotherSequence() {
 | 
						|
      $this->assertEquals (array("program" => "Adium", "platform" => "OS X",
 | 
						|
											"type" => "Chat Client"), $this->yaml[5]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testFoldedBlock() {
 | 
						|
      $this->assertEquals ("There isn't any time for your tricks!\nDo you understand?", $this->yaml['no time']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testLiteralAsMapped() {
 | 
						|
      $this->assertEquals ("There is nothing but time\nfor your tricks.", $this->yaml['some time']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testCrazy() {
 | 
						|
      $this->assertEquals (array( array("name" => "spartan", "notes" =>
 | 
						|
																			array( "Needs to be backed up",
 | 
						|
																						 "Needs to be normalized" ),
 | 
						|
																			 "type" => "mysql" )), $this->yaml['databases']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testColons() {
 | 
						|
      $this->assertEquals ("like", $this->yaml["if: you'd"]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testInline() {
 | 
						|
      $this->assertEquals (array("One", "Two", "Three", "Four"), $this->yaml[6]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testNestedInline() {
 | 
						|
      $this->assertEquals (array("One", array("Two", "And", "Three"), "Four", "Five"), $this->yaml[7]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testNestedNestedInline() {
 | 
						|
      $this->assertEquals (array( "This", array("Is", "Getting", array("Ridiculous", "Guys")),
 | 
						|
									"Seriously", array("Show", "Mercy")), $this->yaml[8]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testInlineMappings() {
 | 
						|
      $this->assertEquals (array("name" => "chris", "age" => "young", "brand" => "lucky strike"), $this->yaml[9]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testNestedInlineMappings() {
 | 
						|
      $this->assertEquals (array("name" => "mark", "age" => "older than chris",
 | 
						|
											 "brand" => array("marlboro", "lucky strike")), $this->yaml[10]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testReferences() {
 | 
						|
      $this->assertEquals (array('Perl', 'Python', 'PHP', 'Ruby'), $this->yaml['dynamic languages']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testReferences2() {
 | 
						|
      $this->assertEquals (array('C/C++', 'Java'), $this->yaml['compiled languages']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testReferences3() {
 | 
						|
      $this->assertEquals (array(
 | 
						|
																		array('Perl', 'Python', 'PHP', 'Ruby'),
 | 
						|
																		array('C/C++', 'Java')
 | 
						|
																	 ), $this->yaml['all languages']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testEscapedQuotes() {
 | 
						|
      $this->assertEquals ("you know, this shouldn't work.  but it does.", $this->yaml[11]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testEscapedQuotes_2() {
 | 
						|
      $this->assertEquals ( "that's my value.", $this->yaml[12]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testEscapedQuotes_3() {
 | 
						|
      $this->assertEquals ("again, that's my value.", $this->yaml[13]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testQuotes() {
 | 
						|
      $this->assertEquals ("here's to \"quotes\", boss.", $this->yaml[14]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testQuoteSequence() {
 | 
						|
      $this->assertEquals ( array( 'name' => "Foo, Bar's", 'age' => 20), $this->yaml[15]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testShortSequence() {
 | 
						|
      $this->assertEquals (array( 0 => "a", 1 => array (0 => 1, 1 => 2), 2 => "b"), $this->yaml[16]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testQuotedNewlines() {
 | 
						|
      $this->assertEquals ("First line\nSecond line\nThird line", $this->yaml[17]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testHash_1() {
 | 
						|
      $this->assertEquals ("Hash", $this->yaml['hash_1']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testHash_2() {
 | 
						|
      $this->assertEquals ('Hash #and a comment', $this->yaml['hash_2']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testHash_3() {
 | 
						|
      $this->assertEquals ('Hash (#) can appear in key too', $this->yaml['hash#3']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testEndloop() {
 | 
						|
      $this->assertEquals ("Does this line in the end indeed make Spyc go to an infinite loop?", $this->yaml['endloop']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testReallyLargeNumber() {
 | 
						|
      $this->assertEquals ('115792089237316195423570985008687907853269984665640564039457584007913129639936', $this->yaml['a_really_large_number']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testFloatWithZeros() {
 | 
						|
      $this->assertSame ('1.0', $this->yaml['float_test']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testFloatWithQuotes() {
 | 
						|
      $this->assertSame ('1.0', $this->yaml['float_test_with_quotes']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testFloatInverse() {
 | 
						|
      $this->assertEquals ('001', $this->yaml['float_inverse_test']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testIntArray() {
 | 
						|
      $this->assertEquals (array (1, 2, 3), $this->yaml['int array']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testArrayOnSeveralLines() {
 | 
						|
      $this->assertEquals (array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19), $this->yaml['array on several lines']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testArrayWithCommas() {
 | 
						|
      $this->assertEquals(array (0, 1), $this->yaml['array with commas']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testmoreLessKey() {
 | 
						|
      $this->assertEquals ('<value>', $this->yaml['morelesskey']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testArrayOfZero() {
 | 
						|
      $this->assertSame (array(0), $this->yaml['array_of_zero']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSophisticatedArrayOfZero() {
 | 
						|
      $this->assertSame (array('rx' => array ('tx' => array (0))), $this->yaml['sophisticated_array_of_zero']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSwitches() {
 | 
						|
      $this->assertEquals (array (array ('row' => 0, 'col' => 0, 'func' => array ('tx' => array(0, 1)))), $this->yaml['switches']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testEmptySequence() {
 | 
						|
      $this->assertSame (array(), $this->yaml['empty_sequence']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testEmptyHash() {
 | 
						|
      $this->assertSame (array(), $this->yaml['empty_hash']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testEmptykey() {
 | 
						|
      $this->assertSame (array('' => array ('key' => 'value')), $this->yaml['empty_key']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testMultilines() {
 | 
						|
      $this->assertSame (array(array('type' => 'SomeItem', 'values' => array ('blah', 'blah', 'blah', 'blah'), 'ints' => array(2, 54, 12, 2143))), $this->yaml['multiline_items']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testManyNewlines() {
 | 
						|
      $this->assertSame ('A quick
 | 
						|
fox
 | 
						|
 | 
						|
 | 
						|
jumped
 | 
						|
over
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
a lazy
 | 
						|
 | 
						|
 | 
						|
 | 
						|
dog', $this->yaml['many_lines']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testWerte() {
 | 
						|
      $this->assertSame (array ('1' => 'nummer 1', '0' => 'Stunde 0'), $this->yaml['werte']);
 | 
						|
    }
 | 
						|
 | 
						|
    /* public function testNoIndent() {
 | 
						|
      $this->assertSame (array(
 | 
						|
        array ('record1'=>'value1'),
 | 
						|
        array ('record2'=>'value2')
 | 
						|
      )
 | 
						|
      , $this->yaml['noindent_records']);
 | 
						|
    } */
 | 
						|
 | 
						|
    public function testColonsInKeys() {
 | 
						|
      $this->assertSame (array (1000), $this->yaml['a:1']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testColonsInKeys2() {
 | 
						|
      $this->assertSame (array (2000), $this->yaml['a:2']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testUnquotedColonsInKeys() {
 | 
						|
        $this->assertSame (array (3000), $this->yaml['a:3']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testComplicatedKeyWithColon() {
 | 
						|
        $this->assertSame(array("a:b:''test'" => 'value'), $this->yaml['complex_unquoted_key']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testKeysInMappedValueException() {
 | 
						|
        $this->setExpectedException('Exception');
 | 
						|
        Spyc::YAMLLoad('x: y: z:');
 | 
						|
    }
 | 
						|
 | 
						|
    public function testKeysInValueException() {
 | 
						|
        $this->setExpectedException('Exception');
 | 
						|
        Spyc::YAMLLoad('x: y: z');
 | 
						|
    }
 | 
						|
 | 
						|
    public function testSpecialCharacters() {
 | 
						|
      $this->assertSame ('[{]]{{]]', $this->yaml['special_characters']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testAngleQuotes() {
 | 
						|
      $Quotes = Spyc::YAMLLoad(__DIR__.'/quotes.yaml');
 | 
						|
      $this->assertEquals (array ('html_tags' => array ('<br>', '<p>'), 'html_content' => array ('<p>hello world</p>', 'hello<br>world'), 'text_content' => array ('hello world')),
 | 
						|
          $Quotes);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testFailingColons() {
 | 
						|
      $Failing = Spyc::YAMLLoad(__DIR__.'/failing1.yaml');
 | 
						|
      $this->assertSame (array ('MyObject' => array ('Prop1' => array ('key1:val1'))),
 | 
						|
          $Failing);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testQuotesWithComments() {
 | 
						|
      $Expected = 'bar';
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/comments.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['foo']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testArrayWithComments() {
 | 
						|
      $Expected = array ('x', 'y', 'z');
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/comments.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['arr']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testAfterArrayWithKittens() {
 | 
						|
      $Expected = 'kittens';
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/comments.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['bar']);
 | 
						|
    }
 | 
						|
 | 
						|
    // Plain characters http://www.yaml.org/spec/1.2/spec.html#id2789510
 | 
						|
    public function testKai() {
 | 
						|
      $Expected = array('-example' => 'value');
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['kai']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testKaiList() {
 | 
						|
      $Expected = array ('-item', '-item', '-item');
 | 
						|
      $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
 | 
						|
      $this->assertEquals ($Expected, $Actual['kai_list_of_items']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDifferentQuoteTypes() {
 | 
						|
      $expected = array ('Something', "", "", "Something else");
 | 
						|
      $this->assertSame ($expected, $this->yaml['invoice']);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testDifferentQuoteTypes2() {
 | 
						|
      $expected = array ('Something', "Nothing", "Anything", "Thing");
 | 
						|
      $this->assertSame ($expected, $this->yaml['quotes']);
 | 
						|
    }
 | 
						|
 | 
						|
    // Separation spaces http://www.yaml.org/spec/1.2/spec.html#id2778394
 | 
						|
    public function testMultipleArrays() {
 | 
						|
      $expected = array(array(array('x')));
 | 
						|
      $this->assertSame($expected, Spyc::YAMLLoad("- - - x"));
 | 
						|
    }
 | 
						|
 | 
						|
    public function testElementWithEmptyHash()
 | 
						|
    {
 | 
						|
        $element = "hash: {}\narray: []";
 | 
						|
        $yaml = Spyc::YAMLLoadString($element);
 | 
						|
        $this->assertEquals($yaml['hash'], []);
 | 
						|
        $this->assertEquals($yaml['array'], []);
 | 
						|
 | 
						|
        $yaml = Spyc::YAMLLoadString($element, [
 | 
						|
            'setting_empty_hash_as_object' => true
 | 
						|
        ]);
 | 
						|
        $this->assertInstanceOf(stdClass::class, $yaml['hash']);
 | 
						|
        $this->assertEquals($yaml['array'], []);
 | 
						|
    }
 | 
						|
}
 |