<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>gem/spec/funfx/demo_app/element_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -5,33 +5,33 @@ package funfx {
     import custom.utilities.CSVUtility;
     import custom.utilities.FlexObjectLocatorUtility;
     import custom.utilities.FlexObjectLocatorUtilityHelper;
-    
+
     import flash.display.DisplayObject;
     import flash.external.ExternalInterface;
-    
+
     import funfx.flexlocator.FlexObjectLocator;
     import funfx.log.LogElement;
     import funfx.log.Logger;
-    
+
     import mx.automation.IAutomationManager;
     import mx.automation.IAutomationObject;
-    
+
     public class Proxy
     {
     	private var flexObjectlocator:FlexObjectLocator;
-    	
+
         public function Proxy()
         {
         	flexObjectlocator = new FlexObjectLocator();
         	flexObjectlocator.flexObjectLocatorUtility = new FlexObjectLocatorUtility();
         	flexObjectlocator.flexObjectLocatorUtility.flexLocatorhelper = new FlexObjectLocatorUtilityHelper();
-        	
+
 	        ExternalInterface.addCallback(&quot;fireFunFXEvent&quot;, fireFunFXEvent);
 	        ExternalInterface.addCallback(&quot;getFunFXPropertyValue&quot;, getFunFXPropertyValue);
 	        ExternalInterface.addCallback(&quot;getFunFXTabularPropertyValue&quot;, getFunFXTabularPropertyValue);
 	        ExternalInterface.addCallback(&quot;invokeFunFXTabularMethod&quot;, invokeFunFXTabularMethod);
         }
-        
+
         private function fireFunFXEvent(locator:Object, eventName:String, args:String) : String{
           Logger.addInfo(&quot;Started fire event&quot;, new LogElement(&quot;Locator&quot;, Logger.convertLocator(locator)), new LogElement(&quot;Event&quot;, eventName), new LogElement(&quot;Args&quot;, args));
         	return replayFunFXEvent(locator, eventName, convertArrayFromStringToAs(args));
@@ -57,7 +57,7 @@ package funfx {
                   Logger.addError(&quot;Target is not visible&quot;, new LogElement(&quot;Target&quot;, Logger.createComponentText(target as DisplayObject)), new LogElement(&quot;Locator&quot;, Logger.convertLocator(locator)));
                   throw new Error(&quot;Target is not visible: &quot; + flexObjectlocator.toString(locator[&quot;id&quot;]) + (locator[&quot;parent&quot;] != null ? &quot;, and parent: &quot; + flexObjectlocator.toString(locator[&quot;parent&quot;][&quot;id&quot;]) : &quot;&quot;));
                 }
-                
+
                 var result:Object = AQAdapter.aqAdapter.replay(target, eventName, args);
                 Logger.addInfo(&quot;Replay ended successfully&quot;);
                 return &quot;OK&quot;;
@@ -77,11 +77,14 @@ package funfx {
           try {
               var target:IAutomationObject = flexObjectlocator.findAutomationObject(locator);
               var o:Object = Object(target);
-              if (o.hasOwnProperty(fieldName))
+              if (o.hasOwnProperty(fieldName)) {
                   return o[fieldName];
-              else if(fieldName == &quot;null&quot;)
-                  return &quot;true&quot;;
-              else {
+              } else if(fieldName == &quot;null&quot;) {
+                  if (target == null)
+                      return &quot;true&quot;;
+
+                  return &quot;false&quot;;
+              } else {
                   Logger.addError(&quot;Field not found&quot;, new LogElement(&quot;Property&quot;, fieldName), new LogElement(&quot;Target&quot;, Logger.createComponentText(target as DisplayObject)), new LogElement(&quot;Locator&quot;, Logger.convertLocator(locator)));
                   throw new Error(&quot;Field not found: &quot; + target + &quot; doesn't have a field named '&quot; + fieldName + &quot;'&quot;);
               }
@@ -122,7 +125,7 @@ package funfx {
             }
 
             try {
-                var target:IAutomationObject = flexObjectlocator.findAutomationObject(locator);              
+                var target:IAutomationObject = flexObjectlocator.findAutomationObject(locator);
                 var tab:Object = target.automationTabularData;
                 if (tab.hasOwnProperty(methodName)) {
                 	var result:* = tab[methodName].apply(null, args);
@@ -140,7 +143,7 @@ package funfx {
             }
             return null;
         }
-        
+
         private function errorMessage(e:Error) : String {
             // We have to escape backslashes or else they get interpreted as meta characters on the Ruby side.
             Logger.addError(&quot;FunFX faild&quot;, new LogElement(&quot;Error&quot;, e.message), new LogElement(&quot;Stacktrace&quot;, e.getStackTrace()));</diff>
      <filename>gem/flex/src/main/flex/src/funfx/Proxy.as</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4c94be63d57576fb2da848dc77933806f6535ef1</id>
    </parent>
  </parents>
  <author>
    <name>David Leal</name>
    <email>dgleal@gmail.com</email>
  </author>
  <url>http://github.com/david/funfx/commit/66d5573895ee5d9fd3eca78bc8dbb2da9577048c</url>
  <id>66d5573895ee5d9fd3eca78bc8dbb2da9577048c</id>
  <committed-date>2009-05-05T08:05:24-07:00</committed-date>
  <authored-date>2009-05-05T08:05:24-07:00</authored-date>
  <message>null? actually tests whether an element is null.</message>
  <tree>0746fe46b78664fae1b7e2642ae2d36db02ac359</tree>
  <committer>
    <name>David Leal</name>
    <email>dgleal@gmail.com</email>
  </committer>
</commit>
