Esempio n. 1
0
 /**
  * Returns the quality of the supplied `$charset` argument. This method
  * will automatically parse the `Accept-Charset` header if present and
  * return the associated resolved quality value.
  *
  *      // Accept-Charset: utf-8, utf-16; q=.8, iso-8859-1; q=.5
  *      $quality = $header->accepts_charset_at_quality('utf-8');
  *            // $quality = (float) 1
  *
  * @param   string  $charset    charset to examine
  * @return  float   the quality of the charset
  * @since   3.2.0
  */
 public function accepts_charset_at_quality($charset)
 {
     if ($this->_accept_charset === NULL) {
         if ($this->offsetExists('Accept-Charset')) {
             $charset_header = strtolower($this->offsetGet('Accept-Charset'));
             $this->_accept_charset = HTTP_Header::parse_charset_header($charset_header);
         } else {
             $this->_accept_charset = HTTP_Header::parse_charset_header(NULL);
         }
     }
     $charset = strtolower($charset);
     if (isset($this->_accept_charset[$charset])) {
         return $this->_accept_charset[$charset];
     } elseif (isset($this->_accept_charset['*'])) {
         return $this->_accept_charset['*'];
     } elseif ($charset === 'iso-8859-1') {
         return (double) 1;
     }
     return (double) 0;
 }
Esempio n. 2
0
 /**
  * Tests the `parse_charset_header` method parsed the Accept-Charset header
  * correctly
  * 
  * @dataProvider provider_parse_charset_header
  *
  * @param   string  $accept    accept 
  * @param   array   $expected  expected 
  * @return  void
  */
 public function test_parse_charset_header($accept, array $expected)
 {
     $this->assertSame($expected, HTTP_Header::parse_charset_header($accept));
 }