Merge branch '2.3'

* 2.3:
  added missing support for the new output API in PHP 5.4+
  Fixed bug introduced in #8675
  made the filesystem loader compatible with Twig 2.0
  bumped Symfony version to 2.3.4-DEV
  updated VERSION for 2.3.3
  updated CHANGELOG for 2.3.3
  bumped Symfony version to 2.2.6
  updated VERSION for 2.2.5
  update CONTRIBUTORS for 2.2.5
  updated CHANGELOG for 2.2.5
  [Intl] Updated stubs to reflect ICU 51.2
  replaced deprecated Twig features

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
This commit is contained in:
Fabien Potencier 2013-08-08 14:02:55 +02:00
commit fa1d7f540a
19 changed files with 148 additions and 50 deletions

View File

@ -7,6 +7,25 @@ in 2.2 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.2.0...v2.2.1
* 2.2.5 (2013-08-07)
* c35cc5b: added trusted hosts check
* 6d555bc: Fixed metadata serialization
* cd51d82: [Form] fixed wrong call to setTimeZone() (closes #8644)
* 5c359a8: Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
* 97cbb19: [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
* c138304: [routing] added ability for apache matcher to handle array values
* b41cf82: [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
* 3553c71: return 0 if there is no valid data
* ae7fa11: [Twig] fixed TwigEngine::exists() method when a template contains a syntax error (closes #8546)
* 28e0709: [Validator] fixed ConstraintViolation:: incorrect when nested
* 890934d: handle Optional and Required constraints from XML or YAML sources correctly
* a2eca45: Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
* 485d53a: [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
* 2317443: [Security] fixed issue where authentication listeners clear unrelated tokens
* 2ebb783: fix issue #8499 modelChoiceList call getPrimaryKey on a non object
* d3eb9b7: [Validator] Fixed groups argument misplace for validateValue method from validator class
* 2.2.4 (2013-07-15)
* 52e530d: Fixed NativeSessionStorage:regenerate when does not exists

View File

@ -7,6 +7,32 @@ in 2.3 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.3.0...v2.3.1
* 2.3.3 (2013-08-07)
* c35cc5b: added trusted hosts check
* 6d555bc: Fixed metadata serialization
* cd51d82: [Form] fixed wrong call to setTimeZone() (closes #8644)
* 5c359a8: Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
* 85330a6: [Form] Fixed patched forms to be valid even if children are not submitted
* cb5e765: [Form] Fixed: If a form is not present in a request, it is not automatically submitted
* 97cbb19: [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
* c138304: [routing] added ability for apache matcher to handle array values
* 1bd45b3: [FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times
* b41cf82: [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
* e5fba3c: [Form] fixes empty file-inputs get treated as extra field
* 3553c71: return 0 if there is no valid data
* 50d0727: [DependencyInjection] fixed regression where setting a service to null did not trigger a re-creation of the service when getting it
* dc1fff0: The ignoreAttributes itself should be ignored, too.
* ae7fa11: [Twig] fixed TwigEngine::exists() method when a template contains a syntax error (closes #8546)
* 28e0709: [Validator] fixed ConstraintViolation:: incorrect when nested
* 890934d: handle Optional and Required constraints from XML or YAML sources correctly
* a2eca45: Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
* 485d53a: [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
* 2317443: [Security] fixed issue where authentication listeners clear unrelated tokens
* 2ebb783: fix issue #8499 modelChoiceList call getPrimaryKey on a non object
* 242b318: [DependencyInjection] Add exception for service name not dumpable in PHP
* d3eb9b7: [Validator] Fixed groups argument misplace for validateValue method from validator class
* 2.3.2 (2013-07-17)
* bb59f40: Reverts JSON_NUMERIC_CHECK

View File

@ -18,8 +18,8 @@ Symfony2 is the result of the work of many people who made the code better
- Ryan Weaver (weaverryan)
- Joseph Bielawski (stloyd)
- Jeremy Mikola (jmikola)
- Igor Wiedler (igorw)
- Jean-François Simon (jfsimon)
- Igor Wiedler (igorw)
- Benjamin Eberlei (beberlei)
- Jakub Zalas (jakubzalas)
- Hugo Hamon (hhamon)
@ -50,8 +50,8 @@ Symfony2 is the result of the work of many people who made the code better
- Arnout Boks (aboks)
- Hidenori Goto (hidenorigoto)
- Fran Moreno (franmomu)
- Andrej Hudec (pulzarraider)
- Grégoire Pineau (lyrixx)
- Andrej Hudec (pulzarraider)
- Lee McDermott
- Brandon Turner
- Daniel Holmes (dholmes)
@ -77,21 +77,21 @@ Symfony2 is the result of the work of many people who made the code better
- Jacob Dreesen (jdreesen)
- Richard Shank (iampersistent)
- Sebastian Hörl (blogsh)
- Gábor Egyed (1ed)
- David Buchmann (dbu)
- Gábor Egyed (1ed)
- Juti Noppornpitak
- Robert Schönthal (digitalkaoz)
- Felix Labrecque
- Michał Pipa (michal.pipa)
- Gordon Franke (gimler)
- Daniel Gomes (danielcsgomes)
- Jérémie Augustin (jaugustin)
- Tigran Azatyan (tigranazatyan)
- Pierre Minnieur (pminnieur)
- Larry Garfield (crell)
- Arnaud Kleinpeter (nanocom)
- Jonathan Ingram (jonathaningram)
- Sebastiaan Stok (sstok)
- Jérémie Augustin (jaugustin)
- Javier Eguiluz (javier.eguiluz)
- Matthieu Ouellette-Vachon (maoueh)
- Amal Raghav (kertz)
@ -102,6 +102,7 @@ Symfony2 is the result of the work of many people who made the code better
- Hiromi Hishida (77web)
- Julien Brochet (mewt)
- Rafael Dohms (rdohms)
- Wouter De Jong (wouterj)
- Benjamin Dulau (dbenjamin)
- Andreas Hucks (meandmymonkey)
- Noel Guilbert (noel)
@ -122,7 +123,6 @@ Symfony2 is the result of the work of many people who made the code better
- Dustin Whittle (dustinwhittle)
- jeff
- Clemens Tolboom
- Wouter De Jong (wouterj)
- Justin Hileman (bobthecow)
- Sven Paulus (subsven)
- Xavier Perez
@ -132,6 +132,7 @@ Symfony2 is the result of the work of many people who made the code better
- Francois Zaninotto
- Alexander Kotynia (olden)
- François Zaninotto (fzaninotto)
- Beau Simensen (simensen)
- Xavier Montaña Carreras (xmontana)
- Katsuhiro OGAWA
- Andréia Bohner (andreia)
@ -155,6 +156,7 @@ Symfony2 is the result of the work of many people who made the code better
- Gyula Sallai (salla)
- Michael Holm (hollo)
- Yaroslav Kiliba
- Jérôme Tamarelle (gromnan)
- Sebastian Bergmann
- arjen
- Matthias Pigulla (mpdude)
@ -162,7 +164,6 @@ Symfony2 is the result of the work of many people who made the code better
- Manuel Kiessling (manuelkiessling)
- Sergey Linnik
- Bertrand Zuchuat (garfield-fr)
- Beau Simensen (simensen)
- Grégoire Paris (greg0ire)
- Tamas Szijarto
- Thomas Adam
@ -193,6 +194,7 @@ Symfony2 is the result of the work of many people who made the code better
- Peter Kruithof (pkruithof)
- Kristen Gilden (kgilden)
- hossein zolfi (ocean)
- Christian Flothmann (xabbuh)
- Greg Thornton (xdissent)
- Lars Strojny
- Costin Bereveanu (schniper)
@ -246,16 +248,18 @@ Symfony2 is the result of the work of many people who made the code better
- Tiago Brito (blackmx)
- Kevin McBride
- Pablo Díez (pablodip)
- bronze1man
- Michael Piecko (michael.piecko)
- Sebastian Krebs
- Manuel de Ruiter (manuel)
- Jérémy Romey (jeremyfreeagent)
- Eduardo Oliveira (entering)
- Iker Ibarguren (ikerib)
- Ricardo Oliveira (ricardolotr)
- ondrowan
- Roman Marintsenko (inori)
- Stéphane PY (steph_py)
- mcben
- Christian Flothmann (xabbuh)
- Maks Slesarenko
- Vicent Soria Durá (vicentgodella)
- alexpods
@ -265,6 +269,7 @@ Symfony2 is the result of the work of many people who made the code better
- Joel Wurtz
- Nils Adermann (naderman)
- Gábor Fási
- Benjamin Leveque (benji07)
- Leevi Graham
- Luis Cordova (cordoval)
- Michaël Perrin (michael.perrin)
@ -301,6 +306,7 @@ Symfony2 is the result of the work of many people who made the code better
- vitaliytv
- Markus Bachmann (baachi)
- aubx
- lancergr
- Max Rath (drak3)
- Sinan Eldem
- DerManoMann
@ -329,14 +335,13 @@ Symfony2 is the result of the work of many people who made the code better
- Hossein Bukhamsin
- Fabrice Bernhard (fabriceb)
- Oleg Zinchenko (cystbear)
- Diego Saint Esteben (dii3g0)
- Johannes Klauss (cloppy)
- fzerorubigd
- develop
- Atsuhiro KUBO (iteman)
- Samy Dindane (dinduks)
- yclian
- Jérôme Tamarelle (gromnan)
- Jérémy Romey (jeremyfreeagent)
- Pascal Helfenstein
- Matt Daum (daum)
- Baldur Rensch
@ -344,6 +349,7 @@ Symfony2 is the result of the work of many people who made the code better
- Yuen-Chi Lian
- Joshua Nye
- avorobiev
- Venu
- Mark Challoner
- Andrew Tchircoff (andrewtch)
- BilgeXA
@ -361,7 +367,6 @@ Symfony2 is the result of the work of many people who made the code better
- Andrew Udvare
- Xavier Lacot (xavier)
- Olivier Maisonneuve
- Eduardo Oliveira (entering)
- Iwan van Staveren (istaveren)
- cgonzalez
- matt foster
@ -389,9 +394,11 @@ Symfony2 is the result of the work of many people who made the code better
- Gerard van Helden (drm)
- Johnny Peck (johnnypeck)
- Kirill chEbba Chebunin
- Benjamin Leveque (benji07)
- Patrick Allaert
- Gustavo Falco (gfalco)
- Matt Robinson (inanimatt)
- Bob den Otter (bopp)
- Jörn Lang (j.lang)
- julien pauli (jpauli)
- mwsaz
- Benoît Bourgeois
@ -428,13 +435,14 @@ Symfony2 is the result of the work of many people who made the code better
- Raul Fraile (raulfraile)
- sensio
- Théophile Helleboid - chtitux
- alcaeus
- The Whole Life to Learn
- xaav
- Mahmoud Mostafa (mahmoud)
- Juti Noppornpitak
- lancergr
- Mei Gwilym
- ttomor
- Luciano Mammino (loige)
- Sander Coolen
- Nicolas Le Goff (nlegoff)
- Manuele Menozzi
@ -460,6 +468,7 @@ Symfony2 is the result of the work of many people who made the code better
- Sescandell (sescandell)
- Ben Davies
- Max Beutel
- Artem Lopata
- Marcos Quesada (marcos_quesada)
- Dan Finnie
- Martijn Evers
@ -495,6 +504,7 @@ Symfony2 is the result of the work of many people who made the code better
- Brooks Boyd
- Roger Webb
- Nicolas Fabre (nfabre)
- Raul Rodriguez (raul782)
- Felicitus
- Paul Matthews
- Philipp Strube
@ -531,6 +541,7 @@ Symfony2 is the result of the work of many people who made the code better
- m.chwedziak
- Lance McNearney
- Alberto Pirovano (geezmo)
- Philipp W (hifi)
- Gabor Toth (tgabi333)
- Martin Pärtel
- Xavier Briand (xavierbriand)
@ -565,6 +576,7 @@ Symfony2 is the result of the work of many people who made the code better
- Konrad Mohrfeldt
- Benoit Lévêque (benoit_leveque)
- Stelian Mocanita (stelian)
- Flavian (2much)
- jskvara
- Mephistofeles
- Hoffmann András
@ -602,15 +614,15 @@ Symfony2 is the result of the work of many people who made the code better
- Christoph Nissle (derstoffel)
- Benjamin Zikarsky
- Romain Dorgueil
- Patrick Allaert
- Grayson Koonce (breerly)
- Andy Stanberry
- Thomas Rothe
- alefranz
- alsar
- Mike Meier
- Warwick
- efeen
- Bob den Otter (bopp)
- Dominik Zogg (dominik.zogg)
- Simone Fumagalli (hpatoio)
- Alessio Baglio (ioalessio)
- John Bafford (jbafford)
@ -627,7 +639,6 @@ Symfony2 is the result of the work of many people who made the code better
- Nathanael d. Noblet
- helmer
- Bram Van der Sype (brammm)
- Diego Saint Esteben (dii3g0)
- Julien Moulin (lizjulien)
- dened
- devel
@ -636,7 +647,6 @@ Symfony2 is the result of the work of many people who made the code better
- Andrey Chernykh
- François Pluchino
- Alexey Prilipko
- Jörn Lang (j.lang)
- Jan Marek (janmarek)
- Dan Patrick (mdpatrick)
- Rares Vlaseanu (raresvla)
@ -663,6 +673,7 @@ Symfony2 is the result of the work of many people who made the code better
- Alex Pods
- timaschew
- Christian Morgan
- Ian Phillips
- Haritz
- Grummfy
- Rowan Manning
@ -707,6 +718,7 @@ Symfony2 is the result of the work of many people who made the code better
- Stefan Oderbolz
- Alexey Popkov
- Piotr Błasiak
- Alexander M. Turek
- Arnaud Buathier (arnapou)
- chesteroni (chesteroni)
- Daniele Cesarini (ijanki)
@ -746,6 +758,7 @@ Symfony2 is the result of the work of many people who made the code better
- André Neves
- Pierre-Louis LAUNAY
- djama
- Jon Cave
- Sébastien HOUZE
- Abdulkadir N. A.
- Sema
@ -807,6 +820,7 @@ Symfony2 is the result of the work of many people who made the code better
- Ruud Kamphuis (ruudk)
- Sarah Khalil (saro0h)
- Sebastian Busch (sebu)
- Andrea Giuliano (shark)
- Markus Tacker (tacker)
- Tyler Stroud (tystr)
- Víctor Mateo (victormateo)

View File

@ -46,14 +46,14 @@ class CodeExtension extends \Twig_Extension
public function getFilters()
{
return array(
'abbr_class' => new \Twig_Filter_Method($this, 'abbrClass', array('is_safe' => array('html'))),
'abbr_method' => new \Twig_Filter_Method($this, 'abbrMethod', array('is_safe' => array('html'))),
'format_args' => new \Twig_Filter_Method($this, 'formatArgs', array('is_safe' => array('html'))),
'format_args_as_text' => new \Twig_Filter_Method($this, 'formatArgsAsText'),
'file_excerpt' => new \Twig_Filter_Method($this, 'fileExcerpt', array('is_safe' => array('html'))),
'format_file' => new \Twig_Filter_Method($this, 'formatFile', array('is_safe' => array('html'))),
'format_file_from_text' => new \Twig_Filter_Method($this, 'formatFileFromText', array('is_safe' => array('html'))),
'file_link' => new \Twig_Filter_Method($this, 'getFileLink', array('is_safe' => array('html'))),
new \Twig_SimpleFilter('abbr_class', array($this, 'abbrClass'), array('is_safe' => array('html'))),
new \Twig_SimpleFilter('abbr_method', array($this, 'abbrMethod'), array('is_safe' => array('html'))),
new \Twig_SimpleFilter('format_args', array($this, 'formatArgs'), array('is_safe' => array('html'))),
new \Twig_SimpleFilter('format_args_as_text', array($this, 'formatArgsAsText')),
new \Twig_SimpleFilter('file_excerpt', array($this, 'fileExcerpt'), array('is_safe' => array('html'))),
new \Twig_SimpleFilter('format_file', array($this, 'formatFile'), array('is_safe' => array('html'))),
new \Twig_SimpleFilter('format_file_from_text', array($this, 'formatFileFromText'), array('is_safe' => array('html'))),
new \Twig_SimpleFilter('file_link', array($this, 'getFileLink'), array('is_safe' => array('html'))),
);
}

View File

@ -80,7 +80,7 @@ class FormExtension extends \Twig_Extension
public function getFilters()
{
return array(
'humanize' => new \Twig_Filter_Method($this, 'renderer->humanize'),
new \Twig_SimpleFilter('humanize', array($this->renderer, 'humanize')),
);
}
@ -90,7 +90,7 @@ class FormExtension extends \Twig_Extension
public function getTests()
{
return array(
'selectedchoice' => new \Twig_Test_Method($this, 'isSelectedChoice'),
new \Twig_SimpleTest('selectedchoice', array($this, 'isSelectedChoice')),
);
}

View File

@ -36,9 +36,9 @@ class HttpKernelExtension extends \Twig_Extension
public function getFunctions()
{
return array(
'render' => new \Twig_Function_Method($this, 'renderFragment', array('is_safe' => array('html'))),
'render_*' => new \Twig_Function_Method($this, 'renderFragmentStrategy', array('is_safe' => array('html'))),
'controller' => new \Twig_Function_Method($this, 'controller'),
new \Twig_SimpleFunction('render',array($this, 'renderFragment'), array('is_safe' => array('html'))),
new \Twig_SimpleFunction('render_*', array($this, 'renderFragmentStrategy'), array('is_safe' => array('html'))),
new \Twig_SimpleFunction('controller', array($this, 'controller')),
);
}

View File

@ -35,8 +35,8 @@ class RoutingExtension extends \Twig_Extension
public function getFunctions()
{
return array(
'url' => new \Twig_Function_Method($this, 'getUrl', array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
'path' => new \Twig_Function_Method($this, 'getPath', array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
new \Twig_SimpleFunction('url', array($this, 'getUrl'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
new \Twig_SimpleFunction('path', array($this, 'getPath'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
);
}

View File

@ -47,7 +47,7 @@ class SecurityExtension extends \Twig_Extension
public function getFunctions()
{
return array(
'is_granted' => new \Twig_Function_Method($this, 'isGranted'),
new \Twig_SimpleFunction('is_granted', array($this, 'isGranted')),
);
}

View File

@ -49,8 +49,8 @@ class TranslationExtension extends \Twig_Extension
public function getFilters()
{
return array(
'trans' => new \Twig_Filter_Method($this, 'trans'),
'transchoice' => new \Twig_Filter_Method($this, 'transchoice'),
new \Twig_SimpleFilter('trans', array($this, 'trans')),
new \Twig_SimpleFilter('transchoice', array($this, 'transchoice')),
);
}

View File

@ -26,8 +26,8 @@ class YamlExtension extends \Twig_Extension
public function getFilters()
{
return array(
'yaml_encode' => new \Twig_Filter_Method($this, 'encode'),
'yaml_dump' => new \Twig_Filter_Method($this, 'dump'),
new \Twig_SimpleFilter('yaml_encode', array($this, 'encode')),
new \Twig_SimpleFilter('yaml_dump', array($this, 'dump')),
);
}

View File

@ -38,8 +38,8 @@ class LogoutUrlExtension extends \Twig_Extension
public function getFunctions()
{
return array(
'logout_url' => new \Twig_Function_Method($this, 'getLogoutUrl'),
'logout_path' => new \Twig_Function_Method($this, 'getLogoutPath'),
new \Twig_SimpleFunction('logout_url', array($this, 'getLogoutUrl')),
new \Twig_SimpleFunction('logout_path', array($this, 'getLogoutPath')),
);
}

View File

@ -35,8 +35,8 @@ class AssetsExtension extends \Twig_Extension
public function getFunctions()
{
return array(
'asset' => new \Twig_Function_Method($this, 'getAssetUrl'),
'assets_version' => new \Twig_Function_Method($this, 'getAssetsVersion'),
new \Twig_SimpleFunction('asset', array($this, 'getAssetUrl')),
new \Twig_SimpleFunction('assets_version', array($this, 'getAssetsVersion')),
);
}

View File

@ -40,6 +40,25 @@ class FilesystemLoader extends \Twig_Loader_Filesystem
$this->cache = array();
}
/**
* {@inheritdoc}
*/
public function exists($template)
{
if (parent::exists($template)) {
return true;
}
// same logic as findTemplate below for the fallback
try {
$this->cache[(string) $template] = $this->locator->locate($this->parser->parse($template));
} catch (\Exception $e) {
return false;
}
return true;
}
/**
* Returns the path to the template file.
*

View File

@ -38,6 +38,21 @@ class FilesystemLoaderTest extends TestCase
$this->assertEquals("This is a layout\n", $loader->getSource('TwigBundle::layout.html.twig'));
}
public function testExists()
{
// should return true for templates that Twig does not find, but Symfony does
$parser = $this->getMock('Symfony\Component\Templating\TemplateNameParserInterface');
$locator = $this->getMock('Symfony\Component\Config\FileLocatorInterface');
$locator
->expects($this->once())
->method('locate')
->will($this->returnValue($template = __DIR__.'/../DependencyInjection/Fixtures/Resources/views/layout.html.twig'))
;
$loader = new FilesystemLoader($locator, $parser);
return $this->assertTrue($loader->exists($template));
}
/**
* @expectedException Twig_Error_Loader
*/

View File

@ -29,6 +29,8 @@ class DayOfWeekTransformer extends Transformer
return $dayOfWeek;
case 5:
return $dayOfWeek[0];
case 6:
return substr($dayOfWeek, 0, 2);
default:
return substr($dayOfWeek, 0, 3);
}
@ -44,6 +46,8 @@ class DayOfWeekTransformer extends Transformer
return 'Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday';
case 5:
return '[MTWFS]';
case 6:
return 'Mo|Tu|We|Th|Fr|Sa|Su';
default:
return 'Mon|Tue|Wed|Thu|Fri|Sat|Sun';
}

View File

@ -184,7 +184,7 @@ class Intl
*/
public static function getIcuStubVersion()
{
return '50.1.2';
return '51.2';
}
/**

View File

@ -7,3 +7,4 @@
4.8 = http://source.icu-project.org/repos/icu/icu/tags/release-4-8-1-1/source
49 = http://source.icu-project.org/repos/icu/icu/tags/release-49-1-2/source
50 = http://source.icu-project.org/repos/icu/icu/tags/release-50-1-2/source
51 = http://source.icu-project.org/repos/icu/icu/tags/release-51-2/source

View File

@ -143,7 +143,7 @@ abstract class AbstractIntlDateFormatterTest extends \PHPUnit_Framework_TestCase
array('EEE', 0, 'Thu'),
array('EEEE', 0, 'Thursday'),
array('EEEEE', 0, 'T'),
array('EEEEEE', 0, 'Thu'),
array('EEEEEE', 0, 'Th'),
array('E', 1296540000, 'Tue'), // 2011-02-01
array('E', 1296950400, 'Sun'), // 2011-02-06
@ -584,7 +584,7 @@ abstract class AbstractIntlDateFormatterTest extends \PHPUnit_Framework_TestCase
array('EEE', 'Thu', 0),
array('EEEE', 'Thursday', 0),
array('EEEEE', 'T', 432000),
array('EEEEEE', 'Thu', 0),
array('EEEEEE', 'Th', 0),
);
}

View File

@ -138,15 +138,15 @@ abstract class AbstractNumberFormatterTest extends \PHPUnit_Framework_TestCase
return array(
array(100, 'CHF', 'CHF', '%s100.00'),
array(-100, 'CHF', 'CHF', '(%s100.00)'),
array(1000.12, 'CHF', 'CHF', '%s1,000.10'),
array('1000.12', 'CHF', 'CHF', '%s1,000.10'),
array(1000.12, 'CHF', 'CHF', '%s1,000.12'),
array('1000.12', 'CHF', 'CHF', '%s1,000.12'),
// Rounding checks
array(1000.121, 'CHF', 'CHF', '%s1,000.10'),
array(1000.123, 'CHF', 'CHF', '%s1,000.10'),
array(1000.125, 'CHF', 'CHF', '%s1,000.10'),
array(1000.127, 'CHF', 'CHF', '%s1,000.15'),
array(1000.129, 'CHF', 'CHF', '%s1,000.15'),
array(1000.121, 'CHF', 'CHF', '%s1,000.12'),
array(1000.123, 'CHF', 'CHF', '%s1,000.12'),
array(1000.125, 'CHF', 'CHF', '%s1,000.12'),
array(1000.127, 'CHF', 'CHF', '%s1,000.13'),
array(1000.129, 'CHF', 'CHF', '%s1,000.13'),
array(1200000.00, 'CHF', 'CHF', '%s1,200,000.00'),
array(1200000.1, 'CHF', 'CHF', '%s1,200,000.10'),