Addshore has submitted this change and it was merged.

Change subject: Get rid of manual autoloading and pointless test runner
......................................................................


Get rid of manual autoloading and pointless test runner

Change-Id: I88aba9eb3da845e8d29f7daeabe0ed8954ba3028
---
D DataValues/DataValues.classes.php
M DataValues/DataValues.php
R DataValues/interfaces/Comparable.php
R DataValues/interfaces/Copyable.php
R DataValues/interfaces/Hashable.php
R DataValues/interfaces/Immutable.php
M DataValues/phpunit.xml.dist
R DataValues/src/BooleanValue.php
R DataValues/src/DataValue.php
R DataValues/src/DataValueFactory.php
R DataValues/src/DataValueObject.php
R DataValues/src/GlobeCoordinateValue.php
R DataValues/src/IllegalValueException.php
R DataValues/src/IriValue.php
R DataValues/src/LatLongValue.php
R DataValues/src/MonolingualTextValue.php
R DataValues/src/MultilingualTextValue.php
R DataValues/src/NumberValue.php
R DataValues/src/QuantityValue.php
R DataValues/src/StringValue.php
R DataValues/src/TimeValue.php
R DataValues/src/UnDeserializableValue.php
R DataValues/src/UnknownValue.php
R DataValues/tests/phpunit/BooleanValueTest.php
R DataValues/tests/phpunit/DataValueFactoryTest.php
R DataValues/tests/phpunit/DataValueTest.php
R DataValues/tests/phpunit/GlobeCoordinateValueTest.php
R DataValues/tests/phpunit/IriValueTest.php
R DataValues/tests/phpunit/LatLongValueTest.php
R DataValues/tests/phpunit/MonolingualTextValueTest.php
R DataValues/tests/phpunit/MultilingualTextValueTest.php
R DataValues/tests/phpunit/NumberValueTest.php
R DataValues/tests/phpunit/QuantityValueTest.php
R DataValues/tests/phpunit/StringValueTest.php
R DataValues/tests/phpunit/TimeValueTest.php
R DataValues/tests/phpunit/UnDeserializableValueTest.php
R DataValues/tests/phpunit/UnknownValueTest.php
D DataValues/tests/phpunit/phpunit.php
M DataValues/tests/testLoader.php
39 files changed, 56 insertions(+), 88 deletions(-)

Approvals:
  Addshore: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/DataValues/DataValues.classes.php 
b/DataValues/DataValues.classes.php
deleted file mode 100644
index 97bd64b..0000000
--- a/DataValues/DataValues.classes.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/**
- * Class registration file for the DataValues library.
- *
- * @since 0.1
- *
- * @file
- * @ingroup DataValues
- *
- * @licence GNU GPL v2+
- * @author Jeroen De Dauw < jeroended...@gmail.com >
- */
-return array(
-       'DataValues\BooleanValue' => 'includes/values/BooleanValue.php',
-       'DataValues\GlobeCoordinateValue' => 
'includes/values/GlobeCoordinateValue.php',
-       'DataValues\IriValue' => 'includes/values/IriValue.php',
-       'DataValues\LatLongValue' => 'includes/values/LatLongValue.php',
-       'DataValues\MonolingualTextValue' => 
'includes/values/MonolingualTextValue.php',
-       'DataValues\MultilingualTextValue' => 
'includes/values/MultilingualTextValue.php',
-       'DataValues\NumberValue' => 'includes/values/NumberValue.php',
-       'DataValues\QuantityValue' => 'includes/values/QuantityValue.php',
-       'DataValues\StringValue' => 'includes/values/StringValue.php',
-       'DataValues\TimeValue' => 'includes/values/TimeValue.php',
-       'DataValues\UnknownValue' => 'includes/values/UnknownValue.php',
-       'DataValues\UnDeserializableValue' => 
'includes/values/UnDeserializableValue.php',
-
-       'DataValues\DataValue' => 'includes/DataValue.php',
-       'DataValues\DataValueFactory' => 'includes/DataValueFactory.php',
-       'DataValues\DataValueObject' => 'includes/DataValueObject.php',
-
-       'DataValues\IllegalValueException' => 
'includes/IllegalValueException.php',
-
-       'Comparable' => 'includes/Comparable.php',
-       'Copyable' => 'includes/Copyable.php',
-       'Hashable' => 'includes/Hashable.php',
-       'Immutable' => 'includes/Immutable.php',
-
-       'DataValues\Test\DataValueTest' => 
'tests/phpunit/includes/DataValueTest.php',
-);
diff --git a/DataValues/DataValues.php b/DataValues/DataValues.php
index bf2ea79..e729c27 100644
--- a/DataValues/DataValues.php
+++ b/DataValues/DataValues.php
@@ -37,17 +37,30 @@
 define( 'DataValues_VERSION', '0.1 alpha' );
 
 spl_autoload_register( function ( $className ) {
-       // @codeCoverageIgnoreStart
-       static $classes = false;
-
-       if ( $classes === false ) {
-               $classes = include( __DIR__ . '/' . 'DataValues.classes.php' );
+       if ( in_array( $className, array( 'Comparable', 'Copyable', 'Hashable', 
'Immutable' ) ) ) {
+               require_once __DIR__ . '/interfaces/' . $className . '.php';
+               return;
        }
 
-       if ( array_key_exists( $className, $classes ) ) {
-               include_once __DIR__ . '/' . $classes[$className];
+       $className = ltrim( $className, '\\' );
+       $fileName = '';
+       $namespace = '';
+
+       if ( $lastNsPos = strripos( $className, '\\') ) {
+               $namespace = substr( $className, 0, $lastNsPos );
+               $className = substr( $className, $lastNsPos + 1 );
+               $fileName  = str_replace( '\\', '/', $namespace ) . '/';
        }
-       // @codeCoverageIgnoreEnd
+
+       $fileName .= str_replace( '_', '/', $className ) . '.php';
+
+       $namespaceSegments = explode( '\\', $namespace );
+
+       if ( $namespaceSegments[0] === 'DataValues' ) {
+               if ( count( $namespaceSegments ) === 1 || $namespaceSegments[1] 
!== 'Tests' ) {
+                       require_once __DIR__ . '/src/' . substr( $fileName, 11 
);
+               }
+       }
 } );
 
 if ( defined( 'MEDIAWIKI' ) ) {
diff --git a/DataValues/includes/Comparable.php 
b/DataValues/interfaces/Comparable.php
similarity index 100%
rename from DataValues/includes/Comparable.php
rename to DataValues/interfaces/Comparable.php
diff --git a/DataValues/includes/Copyable.php 
b/DataValues/interfaces/Copyable.php
similarity index 100%
rename from DataValues/includes/Copyable.php
rename to DataValues/interfaces/Copyable.php
diff --git a/DataValues/includes/Hashable.php 
b/DataValues/interfaces/Hashable.php
similarity index 100%
rename from DataValues/includes/Hashable.php
rename to DataValues/interfaces/Hashable.php
diff --git a/DataValues/includes/Immutable.php 
b/DataValues/interfaces/Immutable.php
similarity index 100%
rename from DataValues/includes/Immutable.php
rename to DataValues/interfaces/Immutable.php
diff --git a/DataValues/phpunit.xml.dist b/DataValues/phpunit.xml.dist
index d38c30c..b0c7d3c 100644
--- a/DataValues/phpunit.xml.dist
+++ b/DataValues/phpunit.xml.dist
@@ -14,7 +14,7 @@
          verbose="true">
     <testsuites>
         <testsuite name="DataValues">
-            <directory>tests</directory>
+            <directory>tests/phpunit</directory>
         </testsuite>
     </testsuites>
 </phpunit>
diff --git a/DataValues/includes/values/BooleanValue.php 
b/DataValues/src/BooleanValue.php
similarity index 100%
rename from DataValues/includes/values/BooleanValue.php
rename to DataValues/src/BooleanValue.php
diff --git a/DataValues/includes/DataValue.php b/DataValues/src/DataValue.php
similarity index 100%
rename from DataValues/includes/DataValue.php
rename to DataValues/src/DataValue.php
diff --git a/DataValues/includes/DataValueFactory.php 
b/DataValues/src/DataValueFactory.php
similarity index 100%
rename from DataValues/includes/DataValueFactory.php
rename to DataValues/src/DataValueFactory.php
diff --git a/DataValues/includes/DataValueObject.php 
b/DataValues/src/DataValueObject.php
similarity index 100%
rename from DataValues/includes/DataValueObject.php
rename to DataValues/src/DataValueObject.php
diff --git a/DataValues/includes/values/GlobeCoordinateValue.php 
b/DataValues/src/GlobeCoordinateValue.php
similarity index 100%
rename from DataValues/includes/values/GlobeCoordinateValue.php
rename to DataValues/src/GlobeCoordinateValue.php
diff --git a/DataValues/includes/IllegalValueException.php 
b/DataValues/src/IllegalValueException.php
similarity index 100%
rename from DataValues/includes/IllegalValueException.php
rename to DataValues/src/IllegalValueException.php
diff --git a/DataValues/includes/values/IriValue.php 
b/DataValues/src/IriValue.php
similarity index 100%
rename from DataValues/includes/values/IriValue.php
rename to DataValues/src/IriValue.php
diff --git a/DataValues/includes/values/LatLongValue.php 
b/DataValues/src/LatLongValue.php
similarity index 100%
rename from DataValues/includes/values/LatLongValue.php
rename to DataValues/src/LatLongValue.php
diff --git a/DataValues/includes/values/MonolingualTextValue.php 
b/DataValues/src/MonolingualTextValue.php
similarity index 100%
rename from DataValues/includes/values/MonolingualTextValue.php
rename to DataValues/src/MonolingualTextValue.php
diff --git a/DataValues/includes/values/MultilingualTextValue.php 
b/DataValues/src/MultilingualTextValue.php
similarity index 100%
rename from DataValues/includes/values/MultilingualTextValue.php
rename to DataValues/src/MultilingualTextValue.php
diff --git a/DataValues/includes/values/NumberValue.php 
b/DataValues/src/NumberValue.php
similarity index 100%
rename from DataValues/includes/values/NumberValue.php
rename to DataValues/src/NumberValue.php
diff --git a/DataValues/includes/values/QuantityValue.php 
b/DataValues/src/QuantityValue.php
similarity index 100%
rename from DataValues/includes/values/QuantityValue.php
rename to DataValues/src/QuantityValue.php
diff --git a/DataValues/includes/values/StringValue.php 
b/DataValues/src/StringValue.php
similarity index 100%
rename from DataValues/includes/values/StringValue.php
rename to DataValues/src/StringValue.php
diff --git a/DataValues/includes/values/TimeValue.php 
b/DataValues/src/TimeValue.php
similarity index 100%
rename from DataValues/includes/values/TimeValue.php
rename to DataValues/src/TimeValue.php
diff --git a/DataValues/includes/values/UnDeserializableValue.php 
b/DataValues/src/UnDeserializableValue.php
similarity index 100%
rename from DataValues/includes/values/UnDeserializableValue.php
rename to DataValues/src/UnDeserializableValue.php
diff --git a/DataValues/includes/values/UnknownValue.php 
b/DataValues/src/UnknownValue.php
similarity index 100%
rename from DataValues/includes/values/UnknownValue.php
rename to DataValues/src/UnknownValue.php
diff --git a/DataValues/tests/phpunit/includes/values/BooleanValueTest.php 
b/DataValues/tests/phpunit/BooleanValueTest.php
similarity index 97%
rename from DataValues/tests/phpunit/includes/values/BooleanValueTest.php
rename to DataValues/tests/phpunit/BooleanValueTest.php
index 3ed3b06..1840ad7 100644
--- a/DataValues/tests/phpunit/includes/values/BooleanValueTest.php
+++ b/DataValues/tests/phpunit/BooleanValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\BooleanValue;
 
diff --git a/DataValues/tests/phpunit/includes/DataValueFactoryTest.php 
b/DataValues/tests/phpunit/DataValueFactoryTest.php
similarity index 99%
rename from DataValues/tests/phpunit/includes/DataValueFactoryTest.php
rename to DataValues/tests/phpunit/DataValueFactoryTest.php
index 9b9281b..3d17cba 100644
--- a/DataValues/tests/phpunit/includes/DataValueFactoryTest.php
+++ b/DataValues/tests/phpunit/DataValueFactoryTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\DataValueFactory;
 
diff --git a/DataValues/tests/phpunit/includes/DataValueTest.php 
b/DataValues/tests/phpunit/DataValueTest.php
similarity index 99%
rename from DataValues/tests/phpunit/includes/DataValueTest.php
rename to DataValues/tests/phpunit/DataValueTest.php
index 4584ac9..4b8e6fd 100644
--- a/DataValues/tests/phpunit/includes/DataValueTest.php
+++ b/DataValues/tests/phpunit/DataValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\DataValue;
 
diff --git 
a/DataValues/tests/phpunit/includes/values/GlobeCoordinateValueTest.php 
b/DataValues/tests/phpunit/GlobeCoordinateValueTest.php
similarity index 98%
rename from 
DataValues/tests/phpunit/includes/values/GlobeCoordinateValueTest.php
rename to DataValues/tests/phpunit/GlobeCoordinateValueTest.php
index 2e5521a..6009994 100644
--- a/DataValues/tests/phpunit/includes/values/GlobeCoordinateValueTest.php
+++ b/DataValues/tests/phpunit/GlobeCoordinateValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\GlobeCoordinateValue;
 use DataValues\LatLongValue;
diff --git a/DataValues/tests/phpunit/includes/values/IriValueTest.php 
b/DataValues/tests/phpunit/IriValueTest.php
similarity index 99%
rename from DataValues/tests/phpunit/includes/values/IriValueTest.php
rename to DataValues/tests/phpunit/IriValueTest.php
index dc084dd..96d7fdf 100644
--- a/DataValues/tests/phpunit/includes/values/IriValueTest.php
+++ b/DataValues/tests/phpunit/IriValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\IriValue;
 
diff --git a/DataValues/tests/phpunit/includes/values/LatLongValueTest.php 
b/DataValues/tests/phpunit/LatLongValueTest.php
similarity index 98%
rename from DataValues/tests/phpunit/includes/values/LatLongValueTest.php
rename to DataValues/tests/phpunit/LatLongValueTest.php
index 92ed97e..49ff480 100644
--- a/DataValues/tests/phpunit/includes/values/LatLongValueTest.php
+++ b/DataValues/tests/phpunit/LatLongValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\GlobeCoordinateValue;
 use DataValues\LatLongValue;
diff --git 
a/DataValues/tests/phpunit/includes/values/MonolingualTextValueTest.php 
b/DataValues/tests/phpunit/MonolingualTextValueTest.php
similarity index 98%
rename from 
DataValues/tests/phpunit/includes/values/MonolingualTextValueTest.php
rename to DataValues/tests/phpunit/MonolingualTextValueTest.php
index d096c23..3c3e68a 100644
--- a/DataValues/tests/phpunit/includes/values/MonolingualTextValueTest.php
+++ b/DataValues/tests/phpunit/MonolingualTextValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\MonolingualTextValue;
 
diff --git 
a/DataValues/tests/phpunit/includes/values/MultilingualTextValueTest.php 
b/DataValues/tests/phpunit/MultilingualTextValueTest.php
similarity index 98%
rename from 
DataValues/tests/phpunit/includes/values/MultilingualTextValueTest.php
rename to DataValues/tests/phpunit/MultilingualTextValueTest.php
index 24c2075..c68584a 100644
--- a/DataValues/tests/phpunit/includes/values/MultilingualTextValueTest.php
+++ b/DataValues/tests/phpunit/MultilingualTextValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\MonolingualTextValue;
 use DataValues\MultilingualTextValue;
diff --git a/DataValues/tests/phpunit/includes/values/NumberValueTest.php 
b/DataValues/tests/phpunit/NumberValueTest.php
similarity index 97%
rename from DataValues/tests/phpunit/includes/values/NumberValueTest.php
rename to DataValues/tests/phpunit/NumberValueTest.php
index e46ec5c..8046fe1 100644
--- a/DataValues/tests/phpunit/includes/values/NumberValueTest.php
+++ b/DataValues/tests/phpunit/NumberValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\NumberValue;
 
diff --git a/DataValues/tests/phpunit/includes/values/QuantityValueTest.php 
b/DataValues/tests/phpunit/QuantityValueTest.php
similarity index 98%
rename from DataValues/tests/phpunit/includes/values/QuantityValueTest.php
rename to DataValues/tests/phpunit/QuantityValueTest.php
index 54fa9aa..4b6b41f 100644
--- a/DataValues/tests/phpunit/includes/values/QuantityValueTest.php
+++ b/DataValues/tests/phpunit/QuantityValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\QuantityValue;
 
diff --git a/DataValues/tests/phpunit/includes/values/StringValueTest.php 
b/DataValues/tests/phpunit/StringValueTest.php
similarity index 97%
rename from DataValues/tests/phpunit/includes/values/StringValueTest.php
rename to DataValues/tests/phpunit/StringValueTest.php
index 10d34aa..1abf77f 100644
--- a/DataValues/tests/phpunit/includes/values/StringValueTest.php
+++ b/DataValues/tests/phpunit/StringValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\StringValue;
 
diff --git a/DataValues/tests/phpunit/includes/values/TimeValueTest.php 
b/DataValues/tests/phpunit/TimeValueTest.php
similarity index 99%
rename from DataValues/tests/phpunit/includes/values/TimeValueTest.php
rename to DataValues/tests/phpunit/TimeValueTest.php
index 3282da9..ef01fb4 100644
--- a/DataValues/tests/phpunit/includes/values/TimeValueTest.php
+++ b/DataValues/tests/phpunit/TimeValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\TimeValue;
 
diff --git 
a/DataValues/tests/phpunit/includes/values/UnDeserializableValueTest.php 
b/DataValues/tests/phpunit/UnDeserializableValueTest.php
similarity index 98%
rename from 
DataValues/tests/phpunit/includes/values/UnDeserializableValueTest.php
rename to DataValues/tests/phpunit/UnDeserializableValueTest.php
index d88aa84..800b523 100644
--- a/DataValues/tests/phpunit/includes/values/UnDeserializableValueTest.php
+++ b/DataValues/tests/phpunit/UnDeserializableValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\DataValue;
 use DataValues\StringValue;
diff --git a/DataValues/tests/phpunit/includes/values/UnknownValueTest.php 
b/DataValues/tests/phpunit/UnknownValueTest.php
similarity index 97%
rename from DataValues/tests/phpunit/includes/values/UnknownValueTest.php
rename to DataValues/tests/phpunit/UnknownValueTest.php
index 6130fe8..87e77c2 100644
--- a/DataValues/tests/phpunit/includes/values/UnknownValueTest.php
+++ b/DataValues/tests/phpunit/UnknownValueTest.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace DataValues\Test;
+namespace DataValues\Tests;
 
 use DataValues\UnknownValue;
 
diff --git a/DataValues/tests/phpunit/phpunit.php 
b/DataValues/tests/phpunit/phpunit.php
deleted file mode 100644
index 7c9b11d..0000000
--- a/DataValues/tests/phpunit/phpunit.php
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env php
-<?php
-
-require_once( 'PHPUnit/Runner/Version.php' );
-
-if ( PHPUnit_Runner_Version::id() !== '@package_version@'
-       && version_compare( PHPUnit_Runner_Version::id(), '3.7', '<' )
-) {
-       die( 'PHPUnit 3.7 or later required, you have ' . 
PHPUnit_Runner_Version::id() . ".\n" );
-}
-require_once( 'PHPUnit/Autoload.php' );
-
-define( 'DATAVALUES', true );
-require_once( __DIR__ . '/../../DataValues.php' );
-
-echo 'Running tests for DataValues version ' . DataValues_VERSION . ".\n";
-echo 'phpunit.php --group DataValueExtensions ' . __DIR__ .  "\n";
-
-$runner = new PHPUnit_TextUI_Command();
-$runner->run( array(
-       '--group',
-       'DataValueExtensions',
-       __DIR__
-) );
diff --git a/DataValues/tests/testLoader.php b/DataValues/tests/testLoader.php
index 6fcb1bf..8006f14 100644
--- a/DataValues/tests/testLoader.php
+++ b/DataValues/tests/testLoader.php
@@ -12,4 +12,23 @@
  * @author Jeroen De Dauw < jeroended...@gmail.com >
  */
 
-// TODO: move loading of test classes from classes file to a PSR-0 loader here
\ No newline at end of file
+spl_autoload_register( function ( $className ) {
+       $className = ltrim( $className, '\\' );
+       $fileName = '';
+       $namespace = '';
+
+       if ( $lastNsPos = strripos( $className, '\\') ) {
+               $namespace = substr( $className, 0, $lastNsPos );
+               $className = substr( $className, $lastNsPos + 1 );
+               $fileName  = str_replace( '\\', '/', $namespace ) . '/';
+       }
+
+       $fileName .= str_replace( '_', '/', $className ) . '.php';
+
+       $namespaceSegments = explode( '\\', $namespace );
+
+       if ( count( $namespaceSegments ) > 1 && $namespaceSegments[0] === 
'DataValues' && $namespaceSegments[1] === 'Tests' ) {
+               $fileName = substr( $fileName, 17 );
+               require_once __DIR__ . '/phpunit/' . $fileName;
+       }
+} );

-- 
To view, visit https://gerrit.wikimedia.org/r/80019
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I88aba9eb3da845e8d29f7daeabe0ed8954ba3028
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/DataValues
Gerrit-Branch: master
Gerrit-Owner: Jeroen De Dauw <jeroended...@gmail.com>
Gerrit-Reviewer: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: Daniel Werner <daniel.wer...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to