Browse Source

[Tests] Added missing test for NumberType

stloyd 13 years ago
parent
commit
933c5aa771

+ 60 - 0
tests/Symfony/Tests/Component/Form/Extension/Core/Type/NumberTypeTest.php

@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Tests\Component\Form\Extension\Core\Type;
+
+require_once __DIR__ . '/LocalizedTestCase.php';
+
+class NumberTypeTest extends LocalizedTestCase
+{
+    public function setUp()
+    {
+        parent::setUp();
+
+        \Locale::setDefault('de_DE');
+    }
+
+    public function testDefaultFormatting()
+    {
+        $form = $this->factory->create('number');
+        $form->setData('12345.67890');
+        $view = $form->createView();
+
+        $this->assertSame('12345,679', $view->get('value'));
+    }
+
+    public function testDefaultFormattingWithGrouping()
+    {
+        $form = $this->factory->create('number', null, array('grouping' => true));
+        $form->setData('12345.67890');
+        $view = $form->createView();
+
+        $this->assertSame('12.345,679', $view->get('value'));
+    }
+
+    public function testDefaultFormattingWithPrecision()
+    {
+        $form = $this->factory->create('number', null, array('precision' => 2));
+        $form->setData('12345.67890');
+        $view = $form->createView();
+
+        $this->assertSame('12345,68', $view->get('value'));
+    }
+
+    public function testDefaultFormattingWithRounding()
+    {
+        $form = $this->factory->create('number', null, array('precision' => 0, 'rounding_mode' => \NumberFormatter::ROUND_UP));
+        $form->setData('12345.54321');
+        $view = $form->createView();
+
+        $this->assertSame('12346', $view->get('value'));
+    }
+}