From f7aae69455c8a7aa4dabe0715d72eeffb6881b5b Mon Sep 17 00:00:00 2001
From: "Meredith L. Patterson" <mlp@thesmartpolitenerd.com>
Date: Wed, 20 Nov 2013 02:13:41 -0600
Subject: [PATCH] scons runs a minimal unit test, which errors. debugging
 typemaps commences.

---
 src/bindings/php/SConscript     |  9 ++++++++-
 src/bindings/php/TestHammer.php | 24 ++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 src/bindings/php/TestHammer.php

diff --git a/src/bindings/php/SConscript b/src/bindings/php/SConscript
index f45b4381..b2194d69 100644
--- a/src/bindings/php/SConscript
+++ b/src/bindings/php/SConscript
@@ -1,5 +1,6 @@
 # -*- python -*-
-Import('env')
+import os.path
+Import('env libhammer_shared')
 
 phpenv = env.Clone(IMPLICIT_COMMAND_DEPENDENCIES = 0)
 
@@ -14,3 +15,9 @@ phpenv.Command("hammer.i", "../swig/hammer.i", Copy("$TARGET", "$SOURCE"))
 swig = ['hammer.i']
 
 libhammer_php = phpenv.SharedLibrary('hammer', swig)
+
+phptestenv = phpenv.Clone()
+phptestenv['ENV']['LD_LIBRARY_PATH'] = os.path.dirname(str(libhammer_shared[0]))
+phptestenv.Command(None, ['TestHammer.php', libhammer_php], "phpunit $SOURCE")
+
+Clean('.', ['hammer.php', 'TestHammer.php'])
diff --git a/src/bindings/php/TestHammer.php b/src/bindings/php/TestHammer.php
new file mode 100644
index 00000000..34fdde93
--- /dev/null
+++ b/src/bindings/php/TestHammer.php
@@ -0,0 +1,24 @@
+<?php
+
+require("hammer.php");
+
+class TestHammer extends PHPUnit_Framework_TestCase 
+{
+    protected $parser;
+
+    protected function setUp() 
+    {
+        $this->parser = hammer::h_token("95\xa2", 3);
+    }
+    public function testSuccess() 
+    {
+        $result = hammer::h_parse($this->parser, "95\xa2", 3);
+        $this->assertEquals($result->ast->token_data->bytes, "95\xa2");
+    }     
+    public function testFailure()
+    {
+        $result = hammer::h_parse($this->parser, "95", 2);
+        $this->assertEquals($result, NULL);
+    }
+}
+?>
\ No newline at end of file
-- 
GitLab