From ce5a621ee3f20b082b95a36807367c8ee8edff1d Mon Sep 17 00:00:00 2001
From: "Meredith L. Patterson" <mlp@thesmartpolitenerd.com>
Date: Sat, 30 Nov 2013 17:10:24 -0800
Subject: [PATCH] h_action test is written, but something is wrong with
 h_choice.

---
 src/bindings/php/Tests/ActionTest.php | 32 +++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 src/bindings/php/Tests/ActionTest.php

diff --git a/src/bindings/php/Tests/ActionTest.php b/src/bindings/php/Tests/ActionTest.php
new file mode 100644
index 00000000..699812cf
--- /dev/null
+++ b/src/bindings/php/Tests/ActionTest.php
@@ -0,0 +1,32 @@
+<?php
+include_once 'hammer.php';
+
+class ActionTest extends PHPUnit_Framework_TestCase
+{
+    protected $parser;
+
+    protected function actTest(string $token) 
+    {
+        return strtoupper($token);
+    }
+    protected function setUp()
+    {
+        $this->parser = h_action(h_sequence(h_choice(h_ch("a"), h_ch("A")), h_choice(h_ch("b"), h_ch("B"))), "actTest");
+    }
+    public function testSuccess()
+    {
+        $result1 = h_parse($this->parser, "ab");
+        $result2 = h_parse($this->parser, "AB");
+        $result3 = h_parse($this->parser, "aB");
+        $this->assertEquals("AB", $result1);
+        $this->assertEquals("AB", $result2);
+        $this->assertEquals("AB", $result3);
+    }
+    public function testFailure()
+    {
+        $result = h_parse($this->parser, "XX");
+        $this->assertEquals(NULL, $result);
+    }
+}
+
+?>
\ No newline at end of file
-- 
GitLab