summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2015-06-04 09:26:29 +0200
committerRemi Collet <fedora@famillecollet.com>2015-06-04 09:26:29 +0200
commit6fa1d9b032cd0432d35f34d183fa40591010706a (patch)
tree33a46376070fb1b05e61b15c07043b08921d47a0
php-zetacomponents-console-tools: 1.7 - New package
-rw-r--r--Makefile4
-rw-r--r--php-zetacomponents-console-tools-pr8.patch118
-rw-r--r--php-zetacomponents-console-tools-upstream.patch738
-rw-r--r--php-zetacomponents-console-tools.spec130
4 files changed, 990 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..13af741
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../../common/Makefile
+
diff --git a/php-zetacomponents-console-tools-pr8.patch b/php-zetacomponents-console-tools-pr8.patch
new file mode 100644
index 0000000..028dc32
--- /dev/null
+++ b/php-zetacomponents-console-tools-pr8.patch
@@ -0,0 +1,118 @@
+From 16164a2d09b5f0c5a973c74d4ba3f0c8425ed1a5 Mon Sep 17 00:00:00 2001
+From: Remi Collet <fedora@famillecollet.com>
+Date: Wed, 3 Jun 2015 17:42:06 +0200
+Subject: [PATCH] create a interactive group
+
+---
+ tests/menu_dialog_test.php | 12 ++++++++++++
+ tests/question_dialog_test.php | 18 ++++++++++++++++++
+ 2 files changed, 30 insertions(+)
+
+diff --git a/tests/menu_dialog_test.php b/tests/menu_dialog_test.php
+index a98a0fb..6efa24b 100644
+--- a/tests/menu_dialog_test.php
++++ b/tests/menu_dialog_test.php
+@@ -164,6 +164,9 @@ public function testBasicMethods()
+ $this->assertTrue( $exceptionCaught, "Excption not thrown on getResult() without result." );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog1()
+ {
+ $this->runDialog( __METHOD__ );
+@@ -180,6 +183,9 @@ public function testDialog1()
+ $this->assertEquals( $this->res, $res );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog2()
+ {
+ $this->runDialog( __METHOD__ );
+@@ -196,6 +202,9 @@ public function testDialog2()
+ $this->assertEquals( $this->res, $res );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog3()
+ {
+ $this->runDialog( __METHOD__ );
+@@ -221,6 +230,9 @@ public function testDialog3()
+ $this->assertEquals( $this->res, $res );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog4()
+ {
+ $this->runDialog( __METHOD__ );
+diff --git a/tests/question_dialog_test.php b/tests/question_dialog_test.php
+index a7217fd..2a0a0be 100644
+--- a/tests/question_dialog_test.php
++++ b/tests/question_dialog_test.php
+@@ -164,6 +164,9 @@ public function testBasicMethods()
+ $this->assertTrue( $exceptionCaught, "Excption not thrown on getResult() without result." );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testYesNoQuestionFactory()
+ {
+ $output = new ezcConsoleOutput();
+@@ -178,6 +181,9 @@ public function testYesNoQuestionFactory()
+ $this->assertEquals( ezcConsoleQuestionDialogCollectionValidator::CONVERT_LOWER, $dialog->options->validator->conversion );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog1()
+ {
+ $this->runDialog( __METHOD__ );
+@@ -194,6 +200,9 @@ public function testDialog1()
+ $this->assertEquals( $this->res, $res );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog2()
+ {
+ $this->runDialog( __METHOD__ );
+@@ -216,6 +225,9 @@ public function testDialog2()
+ $this->assertEquals( $this->res, $res );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog3()
+ {
+ $this->runDialog( __METHOD__ );
+@@ -232,6 +244,9 @@ public function testDialog3()
+ $this->assertEquals( $this->res, $res );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog4()
+ {
+ $this->runDialog( __METHOD__ );
+@@ -254,6 +269,9 @@ public function testDialog4()
+ $this->assertEquals( $this->res, $res );
+ }
+
++ /**
++ * @group interactive
++ */
+ public function testDialog5()
+ {
+ $this->runDialog( __METHOD__ );
diff --git a/php-zetacomponents-console-tools-upstream.patch b/php-zetacomponents-console-tools-upstream.patch
new file mode 100644
index 0000000..7cfcccf
--- /dev/null
+++ b/php-zetacomponents-console-tools-upstream.patch
@@ -0,0 +1,738 @@
+From 1821417daa9f9fa91836720f1d5d7f1a3e164123 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?David=20Pr=C3=A9vot?= <taffit@debian.org>
+Date: Sun, 28 Sep 2014 15:40:45 -0400
+Subject: [PATCH] Allow to compare arrays recursively
+
+Author: Marius Ghita <mhitza@gmail.com>
+Origin: other, https://stackoverflow.com/questions/3876435/recursive-array-diff#3877494
+---
+ tests/input_test.php | 34 +++++++++++++++++++++++++++++++++-
+ 1 file changed, 33 insertions(+), 1 deletion(-)
+
+diff --git a/tests/input_test.php b/tests/input_test.php
+index e0f58ee..07c84ca 100644
+--- a/tests/input_test.php
++++ b/tests/input_test.php
+@@ -2870,12 +2870,44 @@ public function testExclusionOptionNotSet()
+ 'ezcConsoleOptionExclusionViolationException'
+ );
+ }
++
++ private function arrayRecursiveDiff($aArray1, $aArray2)
++ {
++ $aReturn = array();
++
++ foreach ($aArray1 as $mKey => $mValue)
++ {
++ if (array_key_exists($mKey, $aArray2))
++ {
++ if (is_array($mValue))
++ {
++ $aRecursiveDiff = $this->arrayRecursiveDiff($mValue, $aArray2[$mKey]);
++ if (count($aRecursiveDiff))
++ {
++ $aReturn[$mKey] = $aRecursiveDiff;
++ }
++ }
++ else
++ {
++ if ($mValue != $aArray2[$mKey])
++ {
++ $aReturn[$mKey] = $mValue;
++ }
++ }
++ }
++ else
++ {
++ $aReturn[$mKey] = $mValue;
++ }
++ }
++ return $aReturn;
++ }
+
+ private function commonProcessTestSuccess( $args, $res )
+ {
+ $this->input->process( $args );
+ $values = $this->input->getOptionValues();
+- $this->assertTrue( count( array_diff( $res, $values ) ) == 0, 'Parameters processed incorrectly.' );
++ $this->assertTrue( count( $this->arrayRecursiveDiff( $res, $values ) ) == 0, 'Parameters processed incorrectly.' );
+ }
+
+ private function commonProcessTestFailure( $args, $exceptionClass, $message = null )
+From a0aba9dcf2570340e8c7d7a791f55ab1214dc040 Mon Sep 17 00:00:00 2001
+From: Guillaume LECERF <glecerf@gmail.com>
+Date: Mon, 20 Oct 2014 14:55:35 +0200
+Subject: [PATCH] Implement class autoloading for the unit tests
+
+---
+ composer.json | 5 +++++
+ tests/data/posix/ezcConsoleMenuDialogTest__testDialog1.php | 8 --------
+ tests/data/posix/ezcConsoleMenuDialogTest__testDialog2.php | 8 --------
+ tests/data/posix/ezcConsoleMenuDialogTest__testDialog3.php | 8 --------
+ tests/data/posix/ezcConsoleMenuDialogTest__testDialog4.php | 8 --------
+ tests/data/posix/ezcConsoleQuestionDialogTest__testDialog1.php | 8 --------
+ tests/data/posix/ezcConsoleQuestionDialogTest__testDialog2.php | 8 --------
+ tests/data/posix/ezcConsoleQuestionDialogTest__testDialog3.php | 8 --------
+ tests/data/posix/ezcConsoleQuestionDialogTest__testDialog4.php | 8 --------
+ tests/data/posix/ezcConsoleQuestionDialogTest__testDialog5.php | 8 --------
+ tests/data/windows/ezcConsoleMenuDialogTest__testDialog1.php | 8 --------
+ tests/data/windows/ezcConsoleMenuDialogTest__testDialog2.php | 8 --------
+ tests/data/windows/ezcConsoleMenuDialogTest__testDialog3.php | 8 --------
+ tests/data/windows/ezcConsoleMenuDialogTest__testDialog4.php | 8 --------
+ tests/data/windows/ezcConsoleQuestionDialogTest__testDialog1.php | 8 --------
+ tests/data/windows/ezcConsoleQuestionDialogTest__testDialog2.php | 8 --------
+ tests/data/windows/ezcConsoleQuestionDialogTest__testDialog3.php | 8 --------
+ tests/data/windows/ezcConsoleQuestionDialogTest__testDialog4.php | 8 --------
+ tests/data/windows/ezcConsoleQuestionDialogTest__testDialog5.php | 8 --------
+ tests/menu_dialog_test.php | 5 -----
+ tests/question_dialog_test.php | 5 -----
+ 21 files changed, 5 insertions(+), 154 deletions(-)
+
+diff --git a/composer.json b/composer.json
+index 2d207a4..67d27b3 100644
+--- a/composer.json
++++ b/composer.json
+@@ -36,6 +36,11 @@
+ "src"
+ ]
+ },
++ "autoload-dev": {
++ "classmap": [
++ "tests"
++ ]
++ },
+ "description": "A set of classes to do different actions with the console (also called shell). It can render a progress bar, tables and a status bar and contains a class for parsing command line options.",
+ "homepage": "https://github.com/zetacomponents",
+ "license": "Apache-2.0",
+diff --git a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog1.php b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog1.php
+index 859be22..a20ed59 100644
+--- a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog1.php
++++ b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog1.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog2.php b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog2.php
+index 72842fc..df4fd97 100644
+--- a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog2.php
++++ b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog2.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog3.php b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog3.php
+index 7ddf305..386af5f 100644
+--- a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog3.php
++++ b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog3.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog4.php b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog4.php
+index 048f278..2e19d38 100644
+--- a/tests/data/posix/ezcConsoleMenuDialogTest__testDialog4.php
++++ b/tests/data/posix/ezcConsoleMenuDialogTest__testDialog4.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog1.php b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog1.php
+index fe43b88..b0eea9c 100644
+--- a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog1.php
++++ b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog1.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once dirname( __FILE__ ) . "/../../../../Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog2.php b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog2.php
+index 6d76e37..a8ba2ec 100644
+--- a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog2.php
++++ b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog2.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog3.php b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog3.php
+index 175c8b7..f009fb2 100644
+--- a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog3.php
++++ b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog3.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $dialog = ezcConsoleQuestionDialog::YesNoQuestion( $out, "Is the answer to everything 42?", "y" );
+diff --git a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog4.php b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog4.php
+index cd0462f..92a54aa 100644
+--- a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog4.php
++++ b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog4.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once dirname( __FILE__ ) . "/../../../../Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog5.php b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog5.php
+index ea8f210..3508d66 100644
+--- a/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog5.php
++++ b/tests/data/posix/ezcConsoleQuestionDialogTest__testDialog5.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once dirname( __FILE__ ) . "/../../../../Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog1.php b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog1.php
+index 859be22..a20ed59 100644
+--- a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog1.php
++++ b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog1.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog2.php b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog2.php
+index 72842fc..df4fd97 100644
+--- a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog2.php
++++ b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog2.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog3.php b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog3.php
+index 7ddf305..386af5f 100644
+--- a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog3.php
++++ b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog3.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog4.php b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog4.php
+index 048f278..2e19d38 100644
+--- a/tests/data/windows/ezcConsoleMenuDialogTest__testDialog4.php
++++ b/tests/data/windows/ezcConsoleMenuDialogTest__testDialog4.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleMenuDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog1.php b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog1.php
+index fe43b88..b0eea9c 100644
+--- a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog1.php
++++ b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog1.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once dirname( __FILE__ ) . "/../../../../Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog2.php b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog2.php
+index 6d76e37..a8ba2ec 100644
+--- a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog2.php
++++ b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog2.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog3.php b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog3.php
+index 175c8b7..f009fb2 100644
+--- a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog3.php
++++ b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog3.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once "Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $dialog = ezcConsoleQuestionDialog::YesNoQuestion( $out, "Is the answer to everything 42?", "y" );
+diff --git a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog4.php b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog4.php
+index cd0462f..92a54aa 100644
+--- a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog4.php
++++ b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog4.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once dirname( __FILE__ ) . "/../../../../Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog5.php b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog5.php
+index ea8f210..3508d66 100644
+--- a/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog5.php
++++ b/tests/data/windows/ezcConsoleQuestionDialogTest__testDialog5.php
+@@ -24,14 +24,6 @@
+ * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+ */
+
+-
+-require_once dirname( __FILE__ ) . "/../../../../Base/src/base.php";
+-
+-function __autoload( $className )
+-{
+- ezcBase::autoload( $className );
+-}
+-
+ $out = new ezcConsoleOutput();
+
+ $opts = new ezcConsoleQuestionDialogOptions();
+diff --git a/tests/menu_dialog_test.php b/tests/menu_dialog_test.php
+index 8cdfee0..a98a0fb 100644
+--- a/tests/menu_dialog_test.php
++++ b/tests/menu_dialog_test.php
+@@ -26,11 +26,6 @@
+ */
+
+ /**
+- * Require generic test class for ezcConsoleDialog implementations.
+- */
+-require_once dirname( __FILE__ ) . "/dialog_test.php";
+-
+-/**
+ * Test suite for ezcConsoleToolsMenuDialog class.
+ *
+ * @package ConsoleTools
+diff --git a/tests/question_dialog_test.php b/tests/question_dialog_test.php
+index 9a66f87..a7217fd 100644
+--- a/tests/question_dialog_test.php
++++ b/tests/question_dialog_test.php
+@@ -26,11 +26,6 @@
+ */
+
+ /**
+- * Require generic test case for ezcConsoleDialog implementations.
+- */
+-require_once dirname( __FILE__ ) . "/dialog_test.php";
+-
+-/**
+ * Test suite for ezcConsoleQuestionDialog class.
+ *
+ * @package ConsoleTools
+From 5ac86f0de68c3eebdf0174ca0edda6328a035bc6 Mon Sep 17 00:00:00 2001
+From: Guillaume LECERF <glecerf@gmail.com>
+Date: Mon, 20 Oct 2014 14:58:00 +0200
+Subject: [PATCH] Fix unit tests: make ezcConsoleDialogTest abstract, as it is
+ never instanciated Fixes: There was 1 failure:
+
+1) Warning
+No tests found in class "ezcConsoleDialogTest".
+---
+ tests/dialog_test.php | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/dialog_test.php b/tests/dialog_test.php
+index cc78e0f..771be1c 100644
+--- a/tests/dialog_test.php
++++ b/tests/dialog_test.php
+@@ -31,7 +31,7 @@
+ * @package ConsoleTools
+ * @subpackage Tests
+ */
+-class ezcConsoleDialogTest extends ezcTestCase
++abstract class ezcConsoleDialogTest extends ezcTestCase
+ {
+ const PIPE_READ_SLEEP = 5000;
+
+From e89760722d7f99ef28cc61717cfa28e8d678c547 Mon Sep 17 00:00:00 2001
+From: Derick Rethans <github@derickrethans.nl>
+Date: Wed, 3 Jun 2015 10:25:39 -0400
+Subject: [PATCH] Added full Apache license into LICENSE file
+
+---
+ LICENSE | 11 ----
+ LICENSE.txt | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 215 insertions(+), 11 deletions(-)
+ delete mode 100644 LICENSE
+ create mode 100644 LICENSE.txt
+
+diff --git a/LICENSE.txt b/LICENSE.txt
+new file mode 100644
+index 0000000..4b88e0a
+--- /dev/null
++++ b/LICENSE.txt
+@@ -0,0 +1,215 @@
++Zeta Components
++Copyright 2011-2015 The Zeta Components development group
++
++Apache Zeta Components
++Copyright 2010-2011 The Apache Software Foundation
++
++This product includes software developed at
++The Apache Software Foundation (http://www.apache.org/).
++
++Originally developed by eZ Systems as eZ Components
++Copyright 2005-2010 eZ Systems AS (http://ez.no)
++
++-----
++
++ Apache License
++ Version 2.0, January 2004
++ http://www.apache.org/licenses/
++
++ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
++
++ 1. Definitions.
++
++ "License" shall mean the terms and conditions for use, reproduction,
++ and distribution as defined by Sections 1 through 9 of this document.
++
++ "Licensor" shall mean the copyright owner or entity authorized by
++ the copyright owner that is granting the License.
++
++ "Legal Entity" shall mean the union of the acting entity and all
++ other entities that control, are controlled by, or are under common
++ control with that entity. For the purposes of this definition,
++ "control" means (i) the power, direct or indirect, to cause the
++ direction or management of such entity, whether by contract or
++ otherwise, or (ii) ownership of fifty percent (50%) or more of the
++ outstanding shares, or (iii) beneficial ownership of such entity.
++
++ "You" (or "Your") shall mean an individual or Legal Entity
++ exercising permissions granted by this License.
++
++ "Source" form shall mean the preferred form for making modifications,
++ including but not limited to software source code, documentation
++ source, and configuration files.
++
++ "Object" form shall mean any form resulting from mechanical
++ transformation or translation of a Source form, including but
++ not limited to compiled object code, generated documentation,
++ and conversions to other media types.
++
++ "Work" shall mean the work of authorship, whether in Source or
++ Object form, made available under the License, as indicated by a
++ copyright notice that is included in or attached to the work
++ (an example is provided in the Appendix below).
++
++ "Derivative Works" shall mean any work, whether in Source or Object
++ form, that is based on (or derived from) the Work and for which the
++ editorial revisions, annotations, elaborations, or other modifications
++ represent, as a whole, an original work of authorship. For the purposes
++ of this License, Derivative Works shall not include works that remain
++ separable from, or merely link (or bind by name) to the interfaces of,
++ the Work and Derivative Works thereof.
++
++ "Contribution" shall mean any work of authorship, including
++ the original version of the Work and any modifications or additions
++ to that Work or Derivative Works thereof, that is intentionally
++ submitted to Licensor for inclusion in the Work by the copyright owner
++ or by an individual or Legal Entity authorized to submit on behalf of
++ the copyright owner. For the purposes of this definition, "submitted"
++ means any form of electronic, verbal, or written communication sent
++ to the Licensor or its representatives, including but not limited to
++ communication on electronic mailing lists, source code control systems,
++ and issue tracking systems that are managed by, or on behalf of, the
++ Licensor for the purpose of discussing and improving the Work, but
++ excluding communication that is conspicuously marked or otherwise
++ designated in writing by the copyright owner as "Not a Contribution."
++
++ "Contributor" shall mean Licensor and any individual or Legal Entity
++ on behalf of whom a Contribution has been received by Licensor and
++ subsequently incorporated within the Work.
++
++ 2. Grant of Copyright License. Subject to the terms and conditions of
++ this License, each Contributor hereby grants to You a perpetual,
++ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
++ copyright license to reproduce, prepare Derivative Works of,
++ publicly display, publicly perform, sublicense, and distribute the
++ Work and such Derivative Works in Source or Object form.
++
++ 3. Grant of Patent License. Subject to the terms and conditions of
++ this License, each Contributor hereby grants to You a perpetual,
++ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
++ (except as stated in this section) patent license to make, have made,
++ use, offer to sell, sell, import, and otherwise transfer the Work,
++ where such license applies only to those patent claims licensable
++ by such Contributor that are necessarily infringed by their
++ Contribution(s) alone or by combination of their Contribution(s)
++ with the Work to which such Contribution(s) was submitted. If You
++ institute patent litigation against any entity (including a
++ cross-claim or counterclaim in a lawsuit) alleging that the Work
++ or a Contribution incorporated within the Work constitutes direct
++ or contributory patent infringement, then any patent licenses
++ granted to You under this License for that Work shall terminate
++ as of the date such litigation is filed.
++
++ 4. Redistribution. You may reproduce and distribute copies of the
++ Work or Derivative Works thereof in any medium, with or without
++ modifications, and in Source or Object form, provided that You
++ meet the following conditions:
++
++ (a) You must give any other recipients of the Work or
++ Derivative Works a copy of this License; and
++
++ (b) You must cause any modified files to carry prominent notices
++ stating that You changed the files; and
++
++ (c) You must retain, in the Source form of any Derivative Works
++ that You distribute, all copyright, patent, trademark, and
++ attribution notices from the Source form of the Work,
++ excluding those notices that do not pertain to any part of
++ the Derivative Works; and
++
++ (d) If the Work includes a "NOTICE" text file as part of its
++ distribution, then any Derivative Works that You distribute must
++ include a readable copy of the attribution notices contained
++ within such NOTICE file, excluding those notices that do not
++ pertain to any part of the Derivative Works, in at least one
++ of the following places: within a NOTICE text file distributed
++ as part of the Derivative Works; within the Source form or
++ documentation, if provided along with the Derivative Works; or,
++ within a display generated by the Derivative Works, if and
++ wherever such third-party notices normally appear. The contents
++ of the NOTICE file are for informational purposes only and
++ do not modify the License. You may add Your own attribution
++ notices within Derivative Works that You distribute, alongside
++ or as an addendum to the NOTICE text from the Work, provided
++ that such additional attribution notices cannot be construed
++ as modifying the License.
++
++ You may add Your own copyright statement to Your modifications and
++ may provide additional or different license terms and conditions
++ for use, reproduction, or distribution of Your modifications, or
++ for any such Derivative Works as a whole, provided Your use,
++ reproduction, and distribution of the Work otherwise complies with
++ the conditions stated in this License.
++
++ 5. Submission of Contributions. Unless You explicitly state otherwise,
++ any Contribution intentionally submitted for inclusion in the Work
++ by You to the Licensor shall be under the terms and conditions of
++ this License, without any additional terms or conditions.
++ Notwithstanding the above, nothing herein shall supersede or modify
++ the terms of any separate license agreement you may have executed
++ with Licensor regarding such Contributions.
++
++ 6. Trademarks. This License does not grant permission to use the trade
++ names, trademarks, service marks, or product names of the Licensor,
++ except as required for reasonable and customary use in describing the
++ origin of the Work and reproducing the content of the NOTICE file.
++
++ 7. Disclaimer of Warranty. Unless required by applicable law or
++ agreed to in writing, Licensor provides the Work (and each
++ Contributor provides its Contributions) on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
++ implied, including, without limitation, any warranties or conditions
++ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
++ PARTICULAR PURPOSE. You are solely responsible for determining the
++ appropriateness of using or redistributing the Work and assume any
++ risks associated with Your exercise of permissions under this License.
++
++ 8. Limitation of Liability. In no event and under no legal theory,
++ whether in tort (including negligence), contract, or otherwise,
++ unless required by applicable law (such as deliberate and grossly
++ negligent acts) or agreed to in writing, shall any Contributor be
++ liable to You for damages, including any direct, indirect, special,
++ incidental, or consequential damages of any character arising as a
++ result of this License or out of the use or inability to use the
++ Work (including but not limited to damages for loss of goodwill,
++ work stoppage, computer failure or malfunction, or any and all
++ other commercial damages or losses), even if such Contributor
++ has been advised of the possibility of such damages.
++
++ 9. Accepting Warranty or Additional Liability. While redistributing
++ the Work or Derivative Works thereof, You may choose to offer,
++ and charge a fee for, acceptance of support, warranty, indemnity,
++ or other liability obligations and/or rights consistent with this
++ License. However, in accepting such obligations, You may act only
++ on Your own behalf and on Your sole responsibility, not on behalf
++ of any other Contributor, and only if You agree to indemnify,
++ defend, and hold each Contributor harmless for any liability
++ incurred by, or claims asserted against, such Contributor by reason
++ of your accepting any such warranty or additional liability.
++
++ END OF TERMS AND CONDITIONS
++
++ APPENDIX: How to apply the Apache License to your work.
++
++ To apply the Apache License to your work, attach the following
++ boilerplate notice, with the fields enclosed by brackets "[]"
++ replaced with your own identifying information. (Don't include
++ the brackets!) The text should be enclosed in the appropriate
++ comment syntax for the file format. We also recommend that a
++ file or class name and description of purpose be included on the
++ same "printed page" as the copyright notice for easier
++ identification within third-party archives.
++
++ Copyright [yyyy] [name of copyright owner]
++
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++
++ http://www.apache.org/licenses/LICENSE-2.0
++
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
diff --git a/php-zetacomponents-console-tools.spec b/php-zetacomponents-console-tools.spec
new file mode 100644
index 0000000..c275618
--- /dev/null
+++ b/php-zetacomponents-console-tools.spec
@@ -0,0 +1,130 @@
+# remirepo/fedora spec file for php-zetacomponents-console-tools
+#
+# Copyright (c) 2015 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+
+%global gh_commit 30d67e9d04f458ac8cae4c49e50f81061460ff2c
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global gh_owner zetacomponents
+%global gh_project ConsoleTools
+%global cname console-tools
+%global ezcdir %{_datadir}/php/ezc
+%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
+
+Name: php-%{gh_owner}-%{cname}
+Version: 1.7
+Release: 2%{?dist}
+Summary: Zeta %{gh_project} Component
+
+Group: Development/Libraries
+License: ASL 2.0
+URL: http://zetacomponents.org/
+Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz
+
+# Upstream patches
+Patch0: %{name}-upstream.patch
+# https://github.com/zetacomponents/ConsoleTools/pull/8
+Patch1: %{name}-pr8.patch
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildArch: noarch
+BuildRequires: %{_bindir}/phpab
+%if %{with_tests}
+BuildRequires: %{_bindir}/phpunit
+BuildRequires: php-gd
+BuildRequires: php-composer(%{gh_owner}/base) >= 1.8
+BuildRequires: php-composer(%{gh_owner}/unit-test)
+%endif
+
+# From composer.json, "require": {
+# "zetacomponents/base": "~1.8"
+Requires: php-composer(%{gh_owner}/base) >= 1.8
+Requires: php-composer(%{gh_owner}/base) < 2
+# From phpcompatinfo report for 1.7
+Requires: php(language) > 5.3
+Requires: php-iconv
+Requires: php-pcre
+Requires: php-spl
+
+Provides: php-composer(%{gh_owner}/%{cname}) = %{version}
+
+
+%description
+A set of classes to do different actions with the console, also called shell.
+It can render a progress bar, tables and a status bar and contains a class for
+parsing command line options.
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit}
+
+%patch0 -p1
+%patch1 -p1
+
+
+%build
+: Generate a simple autoloader
+%{_bindir}/phpab \
+ --output src/autoloader.php \
+ src
+cat <<EOF | tee -a src/autoloader.php
+# Dependencies
+require_once 'ezc/Base/autoloader.php';
+EOF
+
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{ezcdir}/autoload
+
+: The library
+cp -pr src \
+ %{buildroot}%{ezcdir}/%{gh_project}
+: For ezcBase autoloader
+cp -pr src/*_autoload.php \
+ %{buildroot}%{ezcdir}/autoload
+
+
+%check
+%if %{with_tests}
+: Create test autoloader
+mkdir vendor
+cat <<EOF | tee vendor/autoload.php
+<?php
+require '%{ezcdir}/UnitTest/autoloader.php';
+require '$PWD/src/autoloader.php';
+EOF
+
+: Run test test suite
+%{_bindir}/phpunit --exclude-group interactive
+%else
+: Test suite disabled
+%endif
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%files
+%defattr(-,root,root,-)
+%{!?_licensedir:%global license %%doc}
+%license LICENSE* CREDITS
+%doc ChangeLog
+%doc composer.json
+%doc docs design
+%{ezcdir}/autoload/*
+%{ezcdir}/%{gh_project}
+
+
+%changelog
+* Thu Jun 4 2015 Remi Collet <remi@fedoraproject.org> - 1.7-2
+- fix summary
+
+* Wed Jun 3 2015 Remi Collet <remi@fedoraproject.org> - 1.7-1
+- initial package
+- open https://github.com/zetacomponents/ConsoleTools/pull/8 interactive \ No newline at end of file