1
0
mirror of https://github.com/danielstjules/Stringy.git synced 2025-09-02 09:33:10 +02:00

20 Commits
2.2.0 ... 2.3.0

Author SHA1 Message Date
Daniel St. Jules
5554477962 2.3.0 2016-03-19 17:33:13 -07:00
Daniel St. Jules
87c1a47355 Support older verisons of composer 2016-03-19 17:21:08 -07:00
Daniel St. Jules
6d558974ba Merge pull request #120 from lucasmichot/feature/master/useless-else
Remove some useless else.
2016-02-10 13:20:49 -08:00
Daniel St. Jules
5a9b987f9a Merge pull request #124 from lucasmichot/feature/master/integrates-polyfill
Add polyfill
2016-02-09 16:59:23 -08:00
Lucas Michot
e3d397fa74 Add polyfill 2016-02-10 01:56:06 +01:00
Daniel St. Jules
ffc3fa5ff9 Merge pull request #112 from lucasmichot/feature/master/polyfill
WIP - Allows Stringy to work without ext-mbstring
2016-02-09 16:43:13 -08:00
Lucas Michot
c3f25577ed Avoid duplicate jobs 2016-02-10 01:38:59 +01:00
Lucas Michot
5a4629662c Add tests matrix 2016-02-10 01:28:12 +01:00
Lucas Michot
823e50a340 Allows Stringy to work without ext-mbstring 2016-01-08 18:35:53 +01:00
Daniel St. Jules
9d77c49fca Merge pull request #117 from lucasmichot/feature/master/phpunit-autoload
Let phpunit load autoload.php
2016-01-08 09:32:17 -08:00
Daniel St. Jules
a074d2a2ac Merge pull request #118 from lucasmichot/feature/master/import
Avoid FQN in code
2016-01-08 09:30:30 -08:00
Daniel St. Jules
b7cfa84219 Merge pull request #119 from lucasmichot/feature/master/export-ignore-editorconfig
Do not export .editorconfig
2016-01-08 09:25:15 -08:00
Lucas Michot
e3be6a56ea Composer install for travisCI tests. 2016-01-08 18:22:09 +01:00
Lucas Michot
bdbd4d7541 Let phpunit load autoload.php 2016-01-08 18:01:20 +01:00
Lucas Michot
8419369f3b Add some imports 2016-01-08 18:01:13 +01:00
Lucas Michot
a3dde38a2f Do not export .editorconfig 2016-01-08 18:00:43 +01:00
Lucas Michot
59ce593086 Remove some useless else. 2016-01-08 18:00:23 +01:00
Daniel St. Jules
54cf92c89c Merge pull request #115 from behzadsh/master
Add Persian characters in Stringy::charsArray()
2015-12-27 11:17:23 -05:00
Behzad Shabani
d320bf8704 Add Persian characters in Stringy::charsArray() 2015-12-27 16:03:33 +03:30
Daniel St. Jules
2de4c4aee3 Add badges 2015-12-26 08:13:47 -08:00
11 changed files with 118 additions and 69 deletions

1
.gitattributes vendored
View File

@@ -1,5 +1,6 @@
* text=auto * text=auto
.editorconfig export-ignore
.gitattributes export-ignore .gitattributes export-ignore
.gitignore export-ignore .gitignore export-ignore
.travis.yml export-ignore .travis.yml export-ignore

View File

@@ -1,12 +1,43 @@
language: php language: php
php: php:
- 5.6
- 5.5
- 5.4
- 5.3
- 7.0
- hhvm - hhvm
# This triggers builds to run on the new TravisCI infrastructure. # This triggers builds to run on the new TravisCI infrastructure.
# See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/ # See: http://docs.travis-ci.com/user/workers/container-based-infrastructure/
sudo: false sudo: false
matrix:
fast_finish: true
include:
- php: 5.3
env: polyfill='true'
- php: 5.3
env: polyfill='false'
- php: 5.4
env: polyfill='true'
- php: 5.4
env: polyfill='false'
- php: 5.5
env: polyfill='true'
- php: 5.5
env: polyfill='false'
- php: 5.6
env: polyfill='true'
- php: 5.6
env: polyfill='false'
- php: 7.0
env: polyfill='true'
- php: 7.0
env: polyfill='false'
install: travis_retry composer install --no-interaction --prefer-source
before_script:
- travis_retry composer self-update
- travis_retry composer install --no-interaction --prefer-source
- if [[ $polyfill = 'false' ]]; then travis_retry composer remove symfony/polyfill-mbstring; fi
script:
- vendor/bin/phpunit

View File

@@ -1,3 +1,8 @@
### 2.3.0 (2015-03-19)
* Add Persian characters in Stringy::charsArray()
* Use symfony/polyfill-mbstring to avoid dependency on ext-mbstring
### 2.2.0 (2015-12-20) ### 2.2.0 (2015-12-20)
* isJSON now returns false for empty strings * isJSON now returns false for empty strings

View File

@@ -9,6 +9,8 @@ s('string')->toTitleCase()->ensureRight('y') == 'Stringy'
``` ```
[![Build Status](https://api.travis-ci.org/danielstjules/Stringy.svg?branch=master)](https://travis-ci.org/danielstjules/Stringy) [![Build Status](https://api.travis-ci.org/danielstjules/Stringy.svg?branch=master)](https://travis-ci.org/danielstjules/Stringy)
[![Total Downloads](https://poser.pugx.org/danielstjules/stringy/downloads)](https://packagist.org/packages/danielstjules/stringy)
[![License](https://poser.pugx.org/danielstjules/stringy/license)](https://packagist.org/packages/danielstjules/stringy)
* [Why?](#why) * [Why?](#why)
* [Installation](#installation) * [Installation](#installation)
@@ -129,7 +131,7 @@ in your composer.json file:
```json ```json
"require": { "require": {
"danielstjules/stringy": "~2.2" "danielstjules/stringy": "~2.3"
} }
``` ```
@@ -152,11 +154,13 @@ And in either case, I'd suggest using an alias.
use Stringy\Stringy as S; use Stringy\Stringy as S;
``` ```
Please note that Stringy relies on the `mbstring` PHP module for its underlying Please note that Stringy relies on the `mbstring` module for its underlying
multibyte support. This is a non-default, but very common module. For example, multibyte support. If the module is not found, Stringy will use
with debian and ubuntu, it's included in libapache2-mod-php5, php5-cli, and [symfony/polyfill-mbstring](https://github.com/symfony/polyfill-mbstring).
php5-fpm. For OSX users, it's a default for any version of PHP installed with ex-mbstring is a non-default, but very common module. For example, with debian
homebrew. If compiling PHP from scratch, it can be included with the and ubuntu, it's included in libapache2-mod-php5, php5-cli, and php5-fpm. For
OSX users, it's a default for any version of PHP installed with homebrew.
If compiling PHP from scratch, it can be included with the
`--enable-mbstring` flag. `--enable-mbstring` flag.
## OO and Chaining ## OO and Chaining

View File

@@ -16,7 +16,7 @@
], ],
"require": { "require": {
"php": ">=5.3.0", "php": ">=5.3.0",
"ext-mbstring": "*" "symfony/polyfill-mbstring": "~1.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~4.0" "phpunit/phpunit": "~4.0"

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<phpunit processIsolation="false" <phpunit bootstrap="vendor/autoload.php"
processIsolation="false"
stopOnFailure="false" stopOnFailure="false"
syntaxCheck="false"> syntaxCheck="false">
<testsuites> <testsuites>

View File

@@ -2,6 +2,10 @@
namespace Stringy; namespace Stringy;
use BadMethodCallException;
use ReflectionClass;
use ReflectionMethod;
/** /**
* Class StaticStringy * Class StaticStringy
* *
@@ -107,12 +111,14 @@ class StaticStringy
* @param mixed[] $arguments * @param mixed[] $arguments
* *
* @return Stringy * @return Stringy
*
* @throws \BadMethodCallException
*/ */
public static function __callStatic($name, $arguments) public static function __callStatic($name, $arguments)
{ {
if (!static::$methodArgs) { if (!static::$methodArgs) {
$stringyClass = new \ReflectionClass('Stringy\Stringy'); $stringyClass = new ReflectionClass('Stringy\Stringy');
$methods = $stringyClass->getMethods(\ReflectionMethod::IS_PUBLIC); $methods = $stringyClass->getMethods(ReflectionMethod::IS_PUBLIC);
foreach ($methods as $method) { foreach ($methods as $method) {
$params = $method->getNumberOfParameters() + 2; $params = $method->getNumberOfParameters() + 2;
@@ -121,7 +127,7 @@ class StaticStringy
} }
if (!isset(static::$methodArgs[$name])) { if (!isset(static::$methodArgs[$name])) {
throw new \BadMethodCallException($name . ' is not a valid method'); throw new BadMethodCallException($name . ' is not a valid method');
} }
$numArgs = count($arguments); $numArgs = count($arguments);

View File

@@ -2,7 +2,15 @@
namespace Stringy; namespace Stringy;
class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess use ArrayAccess;
use ArrayIterator;
use Countable;
use Exception;
use InvalidArgumentException;
use IteratorAggregate;
use OutOfBoundsException;
class Stringy implements Countable, IteratorAggregate, ArrayAccess
{ {
/** /**
* An instance's string. * An instance's string.
@@ -34,11 +42,11 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
public function __construct($str = '', $encoding = null) public function __construct($str = '', $encoding = null)
{ {
if (is_array($str)) { if (is_array($str)) {
throw new \InvalidArgumentException( throw new InvalidArgumentException(
'Passed value cannot be an array' 'Passed value cannot be an array'
); );
} elseif (is_object($str) && !method_exists($str, '__toString')) { } elseif (is_object($str) && !method_exists($str, '__toString')) {
throw new \InvalidArgumentException( throw new InvalidArgumentException(
'Passed object must have a __toString method' 'Passed object must have a __toString method'
); );
} }
@@ -141,9 +149,9 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
function ($match) use ($encoding) { function ($match) use ($encoding) {
if (isset($match[1])) { if (isset($match[1])) {
return mb_strtoupper($match[1], $encoding); return mb_strtoupper($match[1], $encoding);
} else {
return '';
} }
return '';
}, },
$stringy->str $stringy->str
); );
@@ -201,9 +209,9 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
if ($caseSensitive) { if ($caseSensitive) {
return (mb_strpos($this->str, $needle, 0, $encoding) !== false); return (mb_strpos($this->str, $needle, 0, $encoding) !== false);
} else {
return (mb_stripos($this->str, $needle, 0, $encoding) !== false);
} }
return (mb_stripos($this->str, $needle, 0, $encoding) !== false);
} }
/** /**
@@ -394,11 +402,10 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
if ($n < 0) { if ($n < 0) {
$stringy->str = ''; $stringy->str = '';
} else { return $stringy;
return $stringy->substr(0, $n);
} }
return $stringy; return $stringy->substr(0, $n);
} }
/** /**
@@ -421,7 +428,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
*/ */
public function getIterator() public function getIterator()
{ {
return new \ArrayIterator($this->chars()); return new ArrayIterator($this->chars());
} }
/** /**
@@ -661,11 +668,10 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
if ($n <= 0) { if ($n <= 0) {
$stringy->str = ''; $stringy->str = '';
} else { return $stringy;
return $stringy->substr(-$n);
} }
return $stringy; return $stringy->substr(-$n);
} }
/** /**
@@ -846,7 +852,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
$length = $this->length(); $length = $this->length();
if (($offset >= 0 && $length <= $offset) || $length < abs($offset)) { if (($offset >= 0 && $length <= $offset) || $length < abs($offset)) {
throw new \OutOfBoundsException('No character exists at the index'); throw new OutOfBoundsException('No character exists at the index');
} }
return mb_substr($this->str, $offset, 1, $this->encoding); return mb_substr($this->str, $offset, 1, $this->encoding);
@@ -863,7 +869,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
public function offsetSet($offset, $value) public function offsetSet($offset, $value)
{ {
// Stringy is immutable, cannot directly set char // Stringy is immutable, cannot directly set char
throw new \Exception('Stringy object is immutable, cannot modify char'); throw new Exception('Stringy object is immutable, cannot modify char');
} }
/** /**
@@ -876,7 +882,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
public function offsetUnset($offset) public function offsetUnset($offset)
{ {
// Don't allow directly modifying the string // Don't allow directly modifying the string
throw new \Exception('Stringy object is immutable, cannot unset char'); throw new Exception('Stringy object is immutable, cannot unset char');
} }
/** /**
@@ -896,7 +902,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
public function pad($length, $padStr = ' ', $padType = 'right') public function pad($length, $padStr = ' ', $padType = 'right')
{ {
if (!in_array($padType, array('left', 'right', 'both'))) { if (!in_array($padType, array('left', 'right', 'both'))) {
throw new \InvalidArgumentException('Pad expects $padType ' . throw new InvalidArgumentException('Pad expects $padType ' .
"to be one of 'left', 'right' or 'both'"); "to be one of 'left', 'right' or 'both'");
} }
@@ -1279,9 +1285,9 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
function ($match) use ($encoding) { function ($match) use ($encoding) {
if ($match[0] == mb_strtoupper($match[0], $encoding)) { if ($match[0] == mb_strtoupper($match[0], $encoding)) {
return mb_strtolower($match[0], $encoding); return mb_strtolower($match[0], $encoding);
} else {
return mb_strtoupper($match[0], $encoding);
} }
return mb_strtoupper($match[0], $encoding);
}, },
$stringy->str $stringy->str
); );
@@ -1331,10 +1337,11 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
function ($match) use ($encoding, $ignore) { function ($match) use ($encoding, $ignore) {
if ($ignore && in_array($match[0], $ignore)) { if ($ignore && in_array($match[0], $ignore)) {
return $match[0]; return $match[0];
} else {
$stringy = new Stringy($match[0], $encoding);
return (string) $stringy->toLowerCase()->upperCaseFirst();
} }
$stringy = new Stringy($match[0], $encoding);
return (string) $stringy->toLowerCase()->upperCaseFirst();
}, },
$stringy->str $stringy->str
); );
@@ -1395,9 +1402,9 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
return $map[$key]; return $map[$key];
} elseif (is_numeric($this->str)) { } elseif (is_numeric($this->str)) {
return (intval($this->str) > 0); return (intval($this->str) > 0);
} else {
return (bool) $this->regexReplace('[[:space:]]', '')->str;
} }
return (bool) $this->regexReplace('[[:space:]]', '')->str;
} }
/** /**
@@ -1592,22 +1599,22 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
if (isset($charsArray)) return $charsArray; if (isset($charsArray)) return $charsArray;
return $charsArray = array( return $charsArray = array(
'0' => array('°', '₀'), '0' => array('°', '₀', '۰'),
'1' => array('¹', '₁'), '1' => array('¹', '₁', '۱'),
'2' => array('²', '₂'), '2' => array('²', '₂', '۲'),
'3' => array('³', '₃'), '3' => array('³', '₃', '۳'),
'4' => array('⁴', '₄'), '4' => array('⁴', '₄', '۴', '٤'),
'5' => array('⁵', '₅'), '5' => array('⁵', '₅', '۵', '٥'),
'6' => array('⁶', '₆'), '6' => array('⁶', '₆', '۶', '٦'),
'7' => array('⁷', '₇'), '7' => array('⁷', '₇', '۷'),
'8' => array('⁸', '₈'), '8' => array('⁸', '₈', '۸'),
'9' => array('⁹', '₉'), '9' => array('⁹', '₉', '۹'),
'a' => array('à', 'á', 'ả', 'ã', 'ạ', 'ă', 'ắ', 'ằ', 'ẳ', 'ẵ', 'a' => array('à', 'á', 'ả', 'ã', 'ạ', 'ă', 'ắ', 'ằ', 'ẳ', 'ẵ',
'ặ', 'â', 'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ', 'ā', 'ą', 'å', 'ặ', 'â', 'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ', 'ā', 'ą', 'å',
'α', 'ά', 'ἀ', 'ἁ', 'ἂ', 'ἃ', 'ἄ', 'ἅ', 'ἆ', 'ἇ', 'α', 'ά', 'ἀ', 'ἁ', 'ἂ', 'ἃ', 'ἄ', 'ἅ', 'ἆ', 'ἇ',
'ᾀ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ὰ', 'ά', 'ᾀ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ὰ', 'ά',
'ᾰ', 'ᾱ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'а', 'أ', 'အ', 'ᾰ', 'ᾱ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'а', 'أ', 'အ',
'ာ', 'ါ', 'ǻ', 'ǎ', 'ª', 'ა', 'अ'), 'ာ', 'ါ', 'ǻ', 'ǎ', 'ª', 'ა', 'अ', 'ا'),
'b' => array('б', 'β', 'Ъ', 'Ь', 'ب', 'ဗ', 'ბ'), 'b' => array('б', 'β', 'Ъ', 'Ь', 'ب', 'ဗ', 'ბ'),
'c' => array('ç', 'ć', 'č', 'ĉ', 'ċ'), 'c' => array('ç', 'ć', 'č', 'ĉ', 'ċ'),
'd' => array('ď', 'ð', 'đ', 'ƌ', 'ȡ', 'ɖ', 'ɗ', 'ᵭ', 'ᶁ', 'ᶑ', 'd' => array('ď', 'ð', 'đ', 'ƌ', 'ȡ', 'ɖ', 'ɗ', 'ᵭ', 'ᶁ', 'ᶑ',
@@ -1615,17 +1622,17 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
'e' => array('é', 'è', 'ẻ', 'ẽ', 'ẹ', 'ê', 'ế', 'ề', 'ể', 'ễ', 'e' => array('é', 'è', 'ẻ', 'ẽ', 'ẹ', 'ê', 'ế', 'ề', 'ể', 'ễ',
'ệ', 'ë', 'ē', 'ę', 'ě', 'ĕ', 'ė', 'ε', 'έ', 'ἐ', 'ệ', 'ë', 'ē', 'ę', 'ě', 'ĕ', 'ė', 'ε', 'έ', 'ἐ',
'ἑ', 'ἒ', 'ἓ', 'ἔ', 'ἕ', 'ὲ', 'έ', 'е', 'ё', 'э', 'ἑ', 'ἒ', 'ἓ', 'ἔ', 'ἕ', 'ὲ', 'έ', 'е', 'ё', 'э',
'є', 'ə', 'ဧ', 'ေ', 'ဲ', 'ე', 'ए'), 'є', 'ə', 'ဧ', 'ေ', 'ဲ', 'ე', 'ए', 'إ', 'ئ'),
'f' => array('ф', 'φ', 'ف', 'ƒ', 'ფ'), 'f' => array('ф', 'φ', 'ف', 'ƒ', 'ფ'),
'g' => array('ĝ', 'ğ', 'ġ', 'ģ', 'г', 'ґ', 'γ', 'ج', 'ဂ', 'გ'), 'g' => array('ĝ', 'ğ', 'ġ', 'ģ', 'г', 'ґ', 'γ', 'ဂ', 'გ', 'گ'),
'h' => array('ĥ', 'ħ', 'η', 'ή', 'ح', 'ه', 'ဟ', 'ှ', 'ჰ'), 'h' => array('ĥ', 'ħ', 'η', 'ή', 'ح', 'ه', 'ဟ', 'ှ', 'ჰ'),
'i' => array('í', 'ì', 'ỉ', 'ĩ', 'ị', 'î', 'ï', 'ī', 'ĭ', 'į', 'i' => array('í', 'ì', 'ỉ', 'ĩ', 'ị', 'î', 'ï', 'ī', 'ĭ', 'į',
'ı', 'ι', 'ί', 'ϊ', 'ΐ', 'ἰ', 'ἱ', 'ἲ', 'ἳ', 'ἴ', 'ı', 'ι', 'ί', 'ϊ', 'ΐ', 'ἰ', 'ἱ', 'ἲ', 'ἳ', 'ἴ',
'ἵ', 'ἶ', 'ἷ', 'ὶ', 'ί', 'ῐ', 'ῑ', 'ῒ', 'ΐ', 'ῖ', 'ἵ', 'ἶ', 'ἷ', 'ὶ', 'ί', 'ῐ', 'ῑ', 'ῒ', 'ΐ', 'ῖ',
'ῗ', 'і', 'ї', 'и', 'ဣ', 'ိ', 'ီ', 'ည်', 'ǐ', 'ი', 'ῗ', 'і', 'ї', 'и', 'ဣ', 'ိ', 'ီ', 'ည်', 'ǐ', 'ი',
'इ'), 'इ', 'ی'),
'j' => array('ĵ', 'ј', 'Ј', 'ჯ'), 'j' => array('ĵ', 'ј', 'Ј', 'ჯ', 'ج'),
'k' => array('ķ', 'ĸ', 'к', 'κ', 'Ķ', 'ق', 'ك', 'က', 'კ', 'ქ'), 'k' => array('ķ', 'ĸ', 'к', 'κ', 'Ķ', 'ق', 'ك', 'က', 'კ', 'ქ', 'ک'),
'l' => array('ł', 'ľ', 'ĺ', 'ļ', 'ŀ', 'л', 'λ', 'ل', 'လ', 'ლ'), 'l' => array('ł', 'ľ', 'ĺ', 'ļ', 'ŀ', 'л', 'λ', 'ل', 'လ', 'ლ'),
'm' => array('м', 'μ', 'م', 'မ', 'მ'), 'm' => array('м', 'μ', 'م', 'မ', 'მ'),
'n' => array('ñ', 'ń', 'ň', 'ņ', 'ʼn', 'ŋ', 'ν', 'н', 'ن', 'န', 'n' => array('ñ', 'ń', 'ň', 'ņ', 'ʼn', 'ŋ', 'ν', 'н', 'ن', 'န',
@@ -1634,7 +1641,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
'ộ', 'ơ', 'ớ', 'ờ', 'ở', 'ỡ', 'ợ', 'ø', 'ō', 'ő', 'ộ', 'ơ', 'ớ', 'ờ', 'ở', 'ỡ', 'ợ', 'ø', 'ō', 'ő',
'ŏ', 'ο', 'ὀ', 'ὁ', 'ὂ', 'ὃ', 'ὄ', 'ὅ', 'ὸ', 'ό', 'ŏ', 'ο', 'ὀ', 'ὁ', 'ὂ', 'ὃ', 'ὄ', 'ὅ', 'ὸ', 'ό',
'о', 'و', 'θ', 'ို', 'ǒ', 'ǿ', 'º', 'ო', 'ओ'), 'о', 'و', 'θ', 'ို', 'ǒ', 'ǿ', 'º', 'ო', 'ओ'),
'p' => array('п', 'π', 'ပ', 'პ'), 'p' => array('п', 'π', 'ပ', 'პ', 'پ'),
'q' => array(''), 'q' => array(''),
'r' => array('ŕ', 'ř', 'ŗ', 'р', 'ρ', 'ر', 'რ'), 'r' => array('ŕ', 'ř', 'ŗ', 'р', 'ρ', 'ر', 'რ'),
's' => array('ś', 'š', 'ş', 'с', 'σ', 'ș', 'ς', 'س', 'ص', 'စ', 's' => array('ś', 'š', 'ş', 'с', 'σ', 'ș', 'ς', 'س', 'ص', 'စ',
@@ -1650,11 +1657,11 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
'y' => array('ý', 'ỳ', 'ỷ', 'ỹ', 'ỵ', 'ÿ', 'ŷ', 'й', 'ы', 'υ', 'y' => array('ý', 'ỳ', 'ỷ', 'ỹ', 'ỵ', 'ÿ', 'ŷ', 'й', 'ы', 'υ',
'ϋ', 'ύ', 'ΰ', 'ي', 'ယ'), 'ϋ', 'ύ', 'ΰ', 'ي', 'ယ'),
'z' => array('ź', 'ž', 'ż', 'з', 'ζ', 'ز', 'ဇ', 'ზ'), 'z' => array('ź', 'ž', 'ż', 'з', 'ζ', 'ز', 'ဇ', 'ზ'),
'aa' => array('ع', 'आ'), 'aa' => array('ع', 'आ', 'آ'),
'ae' => array('ä', 'æ', 'ǽ'), 'ae' => array('ä', 'æ', 'ǽ'),
'ai' => array('ऐ'), 'ai' => array('ऐ'),
'at' => array('@'), 'at' => array('@'),
'ch' => array('ч', 'ჩ', 'ჭ'), 'ch' => array('ч', 'ჩ', 'ჭ', 'چ'),
'dj' => array('ђ', 'đ'), 'dj' => array('ђ', 'đ'),
'dz' => array('џ', 'ძ'), 'dz' => array('џ', 'ძ'),
'ei' => array('ऍ'), 'ei' => array('ऍ'),
@@ -1664,11 +1671,11 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
'kh' => array('х', 'خ', 'ხ'), 'kh' => array('х', 'خ', 'ხ'),
'lj' => array('љ'), 'lj' => array('љ'),
'nj' => array('њ'), 'nj' => array('њ'),
'oe' => array('ö', 'œ'), 'oe' => array('ö', 'œ', 'ؤ'),
'oi' => array('ऑ'), 'oi' => array('ऑ'),
'oii' => array('ऒ'), 'oii' => array('ऒ'),
'ps' => array('ψ'), 'ps' => array('ψ'),
'sh' => array('ш', 'შ'), 'sh' => array('ш', 'შ', 'ش'),
'shch' => array('щ'), 'shch' => array('щ'),
'ss' => array('ß'), 'ss' => array('ß'),
'sx' => array('ŝ'), 'sx' => array('ŝ'),
@@ -1678,7 +1685,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess
'uu' => array('ऊ'), 'uu' => array('ऊ'),
'ya' => array('я'), 'ya' => array('я'),
'yu' => array('ю'), 'yu' => array('ю'),
'zh' => array('ж', 'ჟ'), 'zh' => array('ж', 'ჟ', 'ژ'),
'(c)' => array('©'), '(c)' => array('©'),
'A' => array('Á', 'À', 'Ả', 'Ã', 'Ạ', 'Ă', 'Ắ', 'Ằ', 'Ẳ', 'Ẵ', 'A' => array('Á', 'À', 'Ả', 'Ã', 'Ạ', 'Ă', 'Ắ', 'Ằ', 'Ẳ', 'Ẵ',
'Ặ', 'Â', 'Ấ', 'Ầ', 'Ẩ', 'Ẫ', 'Ậ', 'Å', 'Ā', 'Ą', 'Ặ', 'Â', 'Ấ', 'Ầ', 'Ẩ', 'Ẫ', 'Ậ', 'Å', 'Ā', 'Ą',

View File

@@ -1,7 +1,5 @@
<?php <?php
require __DIR__ . '/../src/Create.php';
use function Stringy\create as s; use function Stringy\create as s;
class CreateTestCase extends PHPUnit_Framework_TestCase class CreateTestCase extends PHPUnit_Framework_TestCase

View File

@@ -1,7 +1,5 @@
<?php <?php
require __DIR__ . '/../src/StaticStringy.php';
use Stringy\StaticStringy as S; use Stringy\StaticStringy as S;
class StaticStringyTestCase extends PHPUnit_Framework_TestCase class StaticStringyTestCase extends PHPUnit_Framework_TestCase

View File

@@ -1,7 +1,5 @@
<?php <?php
require __DIR__ . '/../src/Stringy.php';
use Stringy\Stringy as S; use Stringy\Stringy as S;
class StringyTestCase extends PHPUnit_Framework_TestCase class StringyTestCase extends PHPUnit_Framework_TestCase