/** * Parses the @constants rules * @access public * @param $css * @return void */ public function extract($css) { $constants = Scaffold_Helper_CSS::find_atrule('constants', $css); foreach ($constants as $key => $group) { foreach (Scaffold_Helper_CSS::ruleset_to_array($constants[$key][2]) as $key => $value) { # This lets constants equal other constants. $value = $this->replace($value); $this->set($key, $value); } } }
/** * Rules to array with odd characters * @author Anthony Short * @test */ public function Rules_to_array_with_odd_characters() { $string = 'font: 13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;color: #333;'; $expected = array('font' => '13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif', 'color' => '#333'); $output = Scaffold_Helper_CSS::ruleset_to_array($string); $this->assertEquals($output, $expected); // $string = 'top: 0;left: 0;'; $expected = array('top' => 0, 'left' => 0); $output = Scaffold_Helper_CSS::ruleset_to_array($string); $this->assertEquals($output, $expected); // $string = 'font-family: /*Monaco, ProFont,*/ "Courier New", monospace;'; $expected = array('font-family' => '/*Monaco, ProFont,*/ "Courier New", monospace'); $output = Scaffold_Helper_CSS::ruleset_to_array($string); $this->assertEquals($output, $expected); // $string = 'content: ":";'; $expected = array('content' => '":"'); $output = Scaffold_Helper_CSS::ruleset_to_array($string); $this->assertEquals($output, $expected); // Duplicate rule keys $string = 'content: ":";content: \'Foo\''; $expected = array('content' => "'Foo'"); $output = Scaffold_Helper_CSS::ruleset_to_array($string); $this->assertEquals($output, $expected); }