diff --git a/js/TexttestFixture.html b/js/TexttestFixture.html
new file mode 100644
index 00000000..cf453495
--- /dev/null
+++ b/js/TexttestFixture.html
@@ -0,0 +1,54 @@
+
+
+
+
+Gilded Rose Texttest Fixture
+
+
+
+
+
+
+
+
+
+
+
diff --git a/js/src/gilded_rose.js b/js/src/gilded_rose.js
index c6517b3c..4d28da89 100644
--- a/js/src/gilded_rose.js
+++ b/js/src/gilded_rose.js
@@ -6,13 +6,6 @@ function Item(name, sell_in, quality) {
var items = []
-items.push(new Item('+5 Dexterity Vest', 10, 20));
-items.push(new Item('Aged Brie', 2, 0));
-items.push(new Item('Elixir of the Mongoose', 5, 7));
-items.push(new Item('Sulfuras, Hand of Ragnaros', 0, 80));
-items.push(new Item('Backstage passes to a TAFKAL80ETC concert', 15, 20));
-items.push(new Item('Conjured Mana Cake', 3, 6));
-
function update_quality() {
for (var i = 0; i < items.length; i++) {
if (items[i].name != 'Aged Brie' && items[i].name != 'Backstage passes to a TAFKAL80ETC concert') {
diff --git a/plsql/item.sql b/plsql/item.sql
index 199acd73..97bd9e83 100644
--- a/plsql/item.sql
+++ b/plsql/item.sql
@@ -1,5 +1,14 @@
PROMPT Creating Table 'ITEM'
-DROP TABLE item;
+
+BEGIN
+ EXECUTE IMMEDIATE 'DROP TABLE item';
+EXCEPTION
+ WHEN OTHERS THEN
+ IF SQLCODE != -942 THEN
+ RAISE;
+ END IF;
+END;
+
CREATE TABLE item
(
name VARCHAR2(100) NOT NULL,
@@ -7,3 +16,5 @@ CREATE TABLE item
quality NUMBER(6) NOT NULL
);
/
+
+SHOW ERRORS;
diff --git a/plsql/item_with_id.sql b/plsql/item_with_id.sql
index 7d78aedf..8d431257 100644
--- a/plsql/item_with_id.sql
+++ b/plsql/item_with_id.sql
@@ -1,5 +1,14 @@
PROMPT Creating Table 'ITEM' with auto-increment primary key 'ID'
-DROP TABLE item;
+
+BEGIN
+ EXECUTE IMMEDIATE 'DROP TABLE item';
+EXCEPTION
+ WHEN OTHERS THEN
+ IF SQLCODE != -942 THEN
+ RAISE;
+ END IF;
+END;
+
CREATE TABLE item
(
id NUMBER(6) NOT NULL,
@@ -13,19 +22,29 @@ ALTER TABLE item ADD (
CONSTRAINT item_pk PRIMARY KEY (ID));
/
-DROP SEQUENCE item_id_seq;
-CREATE SEQUENCE item_id_seq
- INCREMENT BY 1
- START WITH 1
+BEGIN
+ EXECUTE IMMEDIATE 'DROP SEQUENCE item_id_seq';
+EXCEPTION
+ WHEN OTHERS THEN
+ IF SQLCODE != -2289 THEN
+ RAISE;
+ END IF;
+END;
+
+CREATE SEQUENCE item_id_seq
+ INCREMENT BY 1
+ START WITH 1
MAXVALUE 999999
- MINVALUE 1
+ MINVALUE 1
NOCYCLE;
/
-CREATE OR REPLACE TRIGGER item_bis_trg
- BEFORE INSERT ON item
- FOR EACH ROW
+CREATE OR REPLACE TRIGGER item_bis_trg
+ BEFORE INSERT ON item
+ FOR EACH ROW
BEGIN
SELECT item_id_seq.NEXTVAL INTO :new.id FROM dual;
END;
/
+
+SHOW ERRORS;
diff --git a/plsql/texttest_fixture.sql b/plsql/texttest_fixture.sql
index 59a8f39c..6d2bbeef 100644
--- a/plsql/texttest_fixture.sql
+++ b/plsql/texttest_fixture.sql
@@ -1,13 +1,15 @@
+SET SERVEROUTPUT ON;
+
DELETE FROM item;
DECLARE
l_days NUMBER(3);
- CURSOR c_items IS
+ CURSOR c_items IS
SELECT name, sell_in, quality FROM item;
l_item c_items%ROWTYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('OMGHAI!');
-
+
new_item('+5 Dexterity Vest', 10, 20);
new_item('Aged Brie', 2, 0);
new_item('Elixir of the Mongoose', 5, 7);
@@ -18,7 +20,7 @@ BEGIN
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);
-
+
l_days := 2;
FOR i IN 0 .. l_days - 1
diff --git a/plsql/update_quality.sql b/plsql/update_quality.sql
index c1f2febe..372b6bdb 100644
--- a/plsql/update_quality.sql
+++ b/plsql/update_quality.sql
@@ -12,10 +12,10 @@ BEGIN
l_name := l_item.name;
l_sell_in := l_item.sell_in;
l_quality := l_item.quality;
-
- IF l_name != 'Aged Brie' AND l_name != 'Backstage passes to a TAFKAL80ETC concert' THEN
+
+ IF l_name <> 'Aged Brie' AND l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
IF l_quality > 0 THEN
- IF l_name != 'Sulfuras, Hand of Ragnaros' THEN
+ IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
l_quality := l_quality - 1;
END IF;
END IF;
@@ -36,16 +36,16 @@ BEGIN
END IF;
END IF;
END IF;
-
- IF l_name != 'Sulfuras, Hand of Ragnaros' THEN
+
+ IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
l_sell_in := l_sell_in - 1;
END IF;
-
+
IF l_sell_in < 0 THEN
- IF l_name != 'Aged Brie' THEN
- IF l_name != 'Backstage passes to a TAFKAL80ETC concert' THEN
+ IF l_name <> 'Aged Brie' THEN
+ IF l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
IF l_quality > 0 THEN
- IF l_name != 'Sulfuras, Hand of Ragnaros' THEN
+ IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
l_quality := l_quality - 1;
END IF;
END IF;
@@ -58,7 +58,7 @@ BEGIN
END IF;
END IF;
END IF;
-
+
UPDATE item
SET name = l_name, sell_in = l_sell_in, quality = l_quality WHERE CURRENT OF c_items;
END LOOP;