Drupal 8.0.0 beta 12. More info: https://www.drupal.org/node/2514176
This commit is contained in:
commit
9921556621
13277 changed files with 1459781 additions and 0 deletions
101
core/tests/Drupal/Tests/Component/Uuid/UuidTest.php
Normal file
101
core/tests/Drupal/Tests/Component/Uuid/UuidTest.php
Normal file
|
@ -0,0 +1,101 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Contains \Drupal\Tests\Component\Uuid\UuidTest.
|
||||
*/
|
||||
|
||||
namespace Drupal\Tests\Component\Uuid;
|
||||
|
||||
use Drupal\Component\Uuid\Uuid;
|
||||
use Drupal\Component\Uuid\UuidInterface;
|
||||
use Drupal\Component\Uuid\Com;
|
||||
use Drupal\Component\Uuid\Pecl;
|
||||
use Drupal\Component\Uuid\Php;
|
||||
use Drupal\Tests\UnitTestCase;
|
||||
|
||||
/**
|
||||
* Tests the handling of Universally Unique Identifiers (UUIDs).
|
||||
*
|
||||
* @group Uuid
|
||||
*/
|
||||
class UuidTest extends UnitTestCase {
|
||||
|
||||
/**
|
||||
* Tests generating valid UUIDs.
|
||||
*
|
||||
* @dataProvider providerUuidInstances
|
||||
*/
|
||||
public function testGenerateUuid(UuidInterface $instance) {
|
||||
$this->assertTrue(Uuid::isValid($instance->generate()), sprintf('UUID generation for %s works.', get_class($instance)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that generated UUIDs are unique.
|
||||
*
|
||||
* @dataProvider providerUuidInstances
|
||||
*/
|
||||
public function testUuidIsUnique(UuidInterface $instance) {
|
||||
$this->assertNotEquals($instance->generate(), $instance->generate(), sprintf('Same UUID was not generated twice with %s.', get_class($instance)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Dataprovider for UUID instance tests.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function providerUuidInstances() {
|
||||
|
||||
$instances = array();
|
||||
$instances[][] = new Php();
|
||||
|
||||
// If valid PECL extensions exists add to list.
|
||||
if (function_exists('uuid_create') && !function_exists('uuid_make')) {
|
||||
$instances[][] = new Pecl();
|
||||
}
|
||||
|
||||
// If we are on Windows add the com implementation as well.
|
||||
if (function_exists('com_create_guid')) {
|
||||
$instances[][] = new Com();
|
||||
}
|
||||
|
||||
return $instances;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests UUID validation.
|
||||
*
|
||||
* @param string $uuid
|
||||
* The uuid to check against.
|
||||
* @param bool $is_valid
|
||||
* Whether the uuid is valid or not.
|
||||
* @param string $message
|
||||
* The message to display on failure.
|
||||
*
|
||||
* @dataProvider providerTestValidation
|
||||
*/
|
||||
public function testValidation($uuid, $is_valid, $message) {
|
||||
$this->assertSame($is_valid, Uuid::isValid($uuid), $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Dataprovider for UUID instance tests.
|
||||
*
|
||||
* @return array
|
||||
* An array of arrays containing
|
||||
* - The Uuid to check against.
|
||||
* - (bool) Whether or not the Uuid is valid.
|
||||
* - Failure message.
|
||||
*/
|
||||
public function providerTestValidation() {
|
||||
return array(
|
||||
// These valid UUIDs.
|
||||
array('6ba7b810-9dad-11d1-80b4-00c04fd430c8', TRUE, 'Basic FQDN UUID did not validate'),
|
||||
array('00000000-0000-0000-0000-000000000000', TRUE, 'Minimum UUID did not validate'),
|
||||
array('ffffffff-ffff-ffff-ffff-ffffffffffff', TRUE, 'Maximum UUID did not validate'),
|
||||
// These are invalid UUIDs.
|
||||
array('0ab26e6b-f074-4e44-9da-601205fa0e976', FALSE, 'Invalid format was validated'),
|
||||
array('0ab26e6b-f074-4e44-9daf-1205fa0e9761f', FALSE, 'Invalid length was validated'),
|
||||
);
|
||||
}
|
||||
}
|
Reference in a new issue