Go to the documentation of this file.
17 $id = call_user_func(
array(
'UIDGenerator', $method ) );
18 $this->assertEquals(
true, ctype_digit( $id ),
"UID made of digit characters" );
19 $this->assertLessThanOrEqual( $digitlen, strlen( $id ),
20 "UID has the right number of digits" );
21 $this->assertLessThanOrEqual( $bits, strlen(
wfBaseConvert( $id, 10, 2 ) ),
22 "UID has the right number of bits" );
25 for ( $i = 0; $i < 300; $i++ ) {
26 $ids[] = call_user_func(
array(
'UIDGenerator', $method ) );
29 $lastId = array_shift( $ids );
31 $this->
assertArrayEquals( array_unique( $ids ), $ids,
"All generated IDs are unique." );
33 foreach ( $ids
as $id ) {
37 $this->assertGreaterThanOrEqual(
38 substr( $id_bin, 0, $tbits ),
39 substr( $lastId_bin, 0, $tbits ),
40 "New ID timestamp ($id_bin) >= prior one ($lastId_bin)." );
44 substr( $id_bin, 0, -$hostbits ),
45 substr( $lastId_bin, 0, -$hostbits ),
46 "Host ID of ($id_bin) is same as prior one ($lastId_bin)." );
59 array(
'newTimestampedUID128', 39, 128, 46, 48 ),
60 array(
'newTimestampedUID128', 39, 128, 46, 48 ),
61 array(
'newTimestampedUID88', 27, 88, 46, 32 ),
69 for ( $i = 0; $i < 100; $i++ ) {
71 $this->assertEquals(
true,
72 preg_match(
'!^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$!', $id ),
73 "UID $id has the right format" );
81 for ( $i = 0; $i < 100; $i++ ) {
83 $this->assertEquals(
true,
84 preg_match(
'!^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$!', $id ),
85 "UID $id has the right format" );
93 for ( $i = 0; $i < 100; $i++ ) {
95 $this->assertEquals(
true,
96 preg_match(
'!^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$!', $id ),
97 "UID $id has the right format" );
108 $this->
assertType(
'float', $id1,
"ID returned as float" );
109 $this->
assertType(
'float', $id2,
"ID returned as float" );
110 $this->assertGreaterThan( 0, $id1,
"ID greater than 1" );
111 $this->assertGreaterThan( $id1, $id2,
"IDs increasing in value" );
120 foreach ( $ids
as $id ) {
121 $this->
assertType(
'float', $id,
"ID returned as float" );
122 $this->assertGreaterThan( 0, $id,
"ID greater than 1" );
124 $this->assertGreaterThan( $lastId, $id,
"IDs increasing in value" );
skin txt MediaWiki includes four core it has been set as the default in MediaWiki since the replacing Monobook it had been been the default skin since before being replaced by Vector largely rewritten in while keeping its appearance Several legacy skins were removed in the as the burden of supporting them became too heavy to bear Those in etc for skin dependent CSS etc for skin dependent JavaScript These can also be customised on a per user by etc This feature has led to a wide variety of user styles becoming that gallery is a good place to ending in php
static provider_testTimestampedUID()
array( method, length, bits, hostbits ) NOTE: When adding a new method name here please update the co...
static newRawUUIDv4( $flags=0)
Return an RFC4122 compliant v4 UUID.
testTimestampedUID( $method, $digitlen, $bits, $tbits, $hostbits)
@dataProvider provider_testTimestampedUID @covers UIDGenerator::newTimestampedUID128 @covers UIDGener...
testUUIDv4()
@covers UIDGenerator::newUUIDv4
static newSequentialPerNodeID( $bucket, $bits=48, $flags=0)
Return an ID that is sequential only for this node and bucket.
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.
testRawUUIDv4QuickRand()
@covers UIDGenerator::newRawUUIDv4
testNewSequentialIDs()
@covers UIDGenerator::newSequentialPerNodeIDs
static newUUIDv4( $flags=0)
Return an RFC4122 compliant v4 UUID.
static unitTestTearDown()
Cleanup resources when tearing down after a unit test.
wfBaseConvert( $input, $sourceBase, $destBase, $pad=1, $lowercase=true, $engine='auto')
Convert an arbitrarily-long digit string from one numeric base to another, optionally zero-padding to...
This document is intended to provide useful advice for parties seeking to redistribute MediaWiki to end users It s targeted particularly at maintainers for Linux since it s been observed that distribution packages of MediaWiki often break We ve consistently had to recommend that users seeking support use official tarballs instead of their distribution s and this often solves whatever problem the user is having It would be nice if this could such as
testRawUUIDv4()
@covers UIDGenerator::newRawUUIDv4
testNewSequentialID()
@covers UIDGenerator::newSequentialPerNodeID
static newSequentialPerNodeIDs( $bucket, $bits, $count, $flags=0)
Return IDs that are sequential only for this node and bucket.