From 1f25f9e8afa78f3620bd8d7f24556b8e820755a6 Mon Sep 17 00:00:00 2001
From: Pedro Junior <v.ju.ni.or.v@gmail.com>
Date: Mon, 8 Jul 2013 21:51:41 -0300
Subject: [PATCH 1/2] [pt_BR] Created Internet provider with brazilian domains,
 top-level domains and transliteration method.

---
 src/Faker/Provider/pt_BR/Internet.php | 44 +++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 src/Faker/Provider/pt_BR/Internet.php

diff --git a/src/Faker/Provider/pt_BR/Internet.php b/src/Faker/Provider/pt_BR/Internet.php
new file mode 100644
index 00000000..00fd0d15
--- /dev/null
+++ b/src/Faker/Provider/pt_BR/Internet.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace Faker\Provider\pt_BR;
+
+class Internet extends \Faker\Provider\Internet
+{
+    protected static $freeEmailDomain = array('gmail.com', 'yahoo.com', 'hotmail.com', 'uol.com.br', 'terra.com.br', 'ig.com.br');
+    protected static $tld = array('com', 'com', 'com.br', 'com.br', 'net', 'net.br', 'br', 'org');
+
+    /**
+     * Converts pt-BR characters to their ASCII representation
+     *
+     * @param  string $string
+     * @return string
+     */
+    private static function toAscii($string)
+    {
+        return preg_replace('/&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|caron);/i', '$1',
+            htmlentities($string, ENT_QUOTES, 'UTF-8'));
+    }
+
+    /**
+     * @example 'jdoe'
+     */
+    public function userName()
+    {
+        $format = static::randomElement(static::$userNameFormats);
+
+        return static::toLower(static::toAscii(static::bothify($this->generator->parse($format))));
+    }
+
+    /**
+     * @example 'faber'
+     */
+    public function domainWord()
+    {
+        $company = $this->generator->format('company');
+        $companyElements = explode(' ', $company);
+        $company = $companyElements[0];
+        $company = preg_replace('/\W/u', '', $company);
+
+        return static::toLower(static::toAscii($company));
+    }
+}

From 533b83f8cd7fa6fc47208a4043652b91a7f4860d Mon Sep 17 00:00:00 2001
From: Pedro Junior <v.ju.ni.or.v@gmail.com>
Date: Mon, 8 Jul 2013 21:54:26 -0300
Subject: [PATCH 2/2] Fix one invalid last name.

---
 src/Faker/Provider/pt_BR/Person.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Faker/Provider/pt_BR/Person.php b/src/Faker/Provider/pt_BR/Person.php
index afbb8c59..fef16272 100644
--- a/src/Faker/Provider/pt_BR/Person.php
+++ b/src/Faker/Provider/pt_BR/Person.php
@@ -74,7 +74,7 @@ class Person extends \Faker\Provider\Person
         'Salazar', 'Sales', 'Salgado', 'Sanches', 'Sandoval', 'Santacruz',
         'Santana', 'Santiago', 'Saraiva', 'Sepúlveda', 'Serna', 'Serra',
         'Serrano', 'Soares', 'Solano', 'Soto', 'Tamoio', 'Teles', 'Toledo',
-        'Torres', 'Uchoa', 'Urias', 'Valdez', 'Valẽncia', 'Valentin', 'Vale',
+        'Torres', 'Uchoa', 'Urias', 'Valdez', 'Valência', 'Valentin', 'Vale',
         'Vasques', 'Vega', 'Velasques', 'Verdugo', 'Verdara', 'Vieira', 'Vila',
         'Zamana', 'Zambrano', 'Zaragoça', 'da Cruz', 'da Rosa', 'da Silva',
         'das Dores', 'das Neves', 'de Aguiar', 'de Oliveira', 'de Souza'