Move php to php5 and add a php7 example that uses composer

This commit is contained in:
Kevin Boyd committed 2019-04-23 14:56:30 -07:00
1 parent d86e26b192
commit d1b6306324
19 files changed
+1653

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
<buildpathentry kind="src" path="src"/>
<buildpathentry kind="src" path="test"/>
<buildpathentry kind="con" path="org.eclipse.dltk.USER_LIBRARY/PEAR"/>
</buildpath>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>GildedRose.php</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.dltk.core.scriptbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.php.core.PHPNature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,10 @@
cakephp_app_path=
cakephp_core_path=
ciunit_config_file=
ciunit_path=
eclipse.preferences.version=1
phpunit_config_file=/GildedRose.php/phpunit.xml
preload_script=
test_file_pattern=.*test\\.php$
test_folders=/GildedRose.php/test
testing_framework=PHPUnit
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
include_path=0;/GildedRose.php/test\u00050;/GildedRose.php/src\u00055;org.eclipse.dltk.USER_LIBRARY/PEAR
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="php.component"/>
<fixed facet="php.core.component"/>
<installed facet="php.core.component" version="1"/>
<installed facet="php.component" version="5.4"/>
</faceted-project>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/3.7/phpunit.xsd"
backupGlobals="false"
bootstrap="test/bootstrap.php"
colors="false"
strict="true"
verbose="true">
<testsuites>
<testsuite name="AllTests">
<directory suffix="_test.php">test</directory>
</testsuite>
</testsuites>
</phpunit>
+79
View File
@@ -0,0 +1,79 @@
<?php
class GildedRose {
private $items;
function __construct($items) {
$this->items = $items;
}
function update_quality() {
foreach ($this->items as $item) {
if ($item->name != 'Aged Brie' and $item->name != 'Backstage passes to a TAFKAL80ETC concert') {
if ($item->quality > 0) {
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
$item->quality = $item->quality - 1;
}
}
} else {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
if ($item->name == 'Backstage passes to a TAFKAL80ETC concert') {
if ($item->sell_in < 11) {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
}
}
if ($item->sell_in < 6) {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
}
}
}
}
}
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
$item->sell_in = $item->sell_in - 1;
}
if ($item->sell_in < 0) {
if ($item->name != 'Aged Brie') {
if ($item->name != 'Backstage passes to a TAFKAL80ETC concert') {
if ($item->quality > 0) {
if ($item->name != 'Sulfuras, Hand of Ragnaros') {
$item->quality = $item->quality - 1;
}
}
} else {
$item->quality = $item->quality - $item->quality;
}
} else {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
}
}
}
}
}
}
class Item {
public $name;
public $sell_in;
public $quality;
function __construct($name, $sell_in, $quality) {
$this->name = $name;
$this->sell_in = $sell_in;
$this->quality = $quality;
}
public function __toString() {
return "{$this->name}, {$this->sell_in}, {$this->quality}";
}
}
+35
View File
@@ -0,0 +1,35 @@
<?php
require_once 'gilded_rose.php';
echo "OMGHAI!\n";
$items = array(
new Item('+5 Dexterity Vest', 10, 20),
new Item('Aged Brie', 2, 0),
new Item('Elixir of the Mongoose', 5, 7),
new Item('Sulfuras, Hand of Ragnaros', 0, 80),
new Item('Sulfuras, Hand of Ragnaros', -1, 80),
new Item('Backstage passes to a TAFKAL80ETC concert', 15, 20),
new Item('Backstage passes to a TAFKAL80ETC concert', 10, 49),
new Item('Backstage passes to a TAFKAL80ETC concert', 5, 49),
// this conjured item does not work properly yet
new Item('Conjured Mana Cake', 3, 6)
);
$app = new GildedRose($items);
$days = 2;
if (count($argv) > 1) {
$days = (int) $argv[1];
}
for ($i = 0; $i < $days; $i++) {
echo("-------- day $i --------\n");
echo("name, sellIn, quality\n");
foreach ($items as $item) {
echo $item . PHP_EOL;
}
echo PHP_EOL;
$app->update_quality();
}
+2
View File
@@ -0,0 +1,2 @@
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__.'/../src');
+14
View File
@@ -0,0 +1,14 @@
<?php
require_once 'gilded_rose.php';
class GildedRoseTest extends PHPUnit_Framework_TestCase {
function testFoo() {
$items = array(new Item("foo", 0, 0));
$gildedRose = new GildedRose($items);
$gildedRose->update_quality();
$this->assertEquals("fixme", $items[0]->name);
}
}