!3 Empty cells should display the value of a field or property. If a cell contains ''"blank"'' or ''"null"'' then treat it as blank ("") or truly null.

Empty cells are automatically filled with the value of the field or property, and no check is performed. To explicitly set a value to empty string ("") or null, or to check for empty string or null, use the "blank" and "null" keywords.

This works in column fixtures...
|!-fitlibrary.spec.SpecifyFixture-!|
|!-<table border="1" cellspacing="0">

<tr><td colspan="5">string fixture</td>
</tr>
<tr><td>field</td>
<td>field</td>
<td>field?</td>
<td>field?</td>
<td>field?</td>
</tr>
<tr><td>null</td>
<td>&nbsp;</td>

<td>null</td>
<td>blank</td>
<td>joe</td>
</tr>
<tr><td>blank</td>
<td>&nbsp;</td>
<td>null</td>
<td>blank</td>
<td>joe</td>
</tr>

<tr><td>joe</td>
<td>&nbsp;</td>
<td>null</td>
<td>blank</td>
<td>joe</td>
</tr>
</table>-!|!-<table border="1" cellspacing="0">

<tr><td colspan="5">string fixture</td>
</tr>
<tr><td>field</td>
<td>field</td>
<td>field?</td>
<td>field?</td>
<td>field?</td>
</tr>
<tr><td>null</td>
<td>&nbsp; <span class="fit_grey">null</span></td>

<td class="pass">null</td>
<td class="fail">blank <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
<td class="fail">joe <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
</tr>
<tr><td>blank</td>
<td>&nbsp; <span class="fit_grey">blank</span></td>

<td class="fail">null <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
<td class="pass">blank</td>
<td class="fail">joe <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
</tr>
<tr><td>joe</td>
<td>&nbsp; <span class="fit_grey">joe</span></td>

<td class="fail">null <span class="fit_label">expected</span><hr>joe <span class="fit_label">actual</span></td>
<td class="fail">blank <span class="fit_label">expected</span><hr>joe <span class="fit_label">actual</span></td>
<td class="pass">joe</td>
</tr>
</table>-!|

...row fixtures...
|!-fitlibrary.spec.SpecifyFixture-!|
|!-<table border="1" cellspacing="0">
<tr><td colspan="9">blank and null keyword row fixture</td>
</tr>
<tr><td>field</td>
<td>property</td>
<td>get</td>

<td>field</td>
<td>property</td>
<td>get</td>
<td>field</td>
<td>property</td>
<td>get</td>
</tr>
<tr><td>null</td>
<td>null</td>

<td>null</td>
<td>blank</td>
<td>blank</td>
<td>blank</td>
<td>Joe</td>
<td>Joe</td>
<td>Joe</td>
</tr>
<tr><td>blank</td>

<td>blank</td>
<td>blank</td>
<td>Joe</td>
<td>Joe</td>
<td>Joe</td>
<td>null</td>
<td>null</td>
<td>null</td>
</tr>

<tr><td>Joe</td>
<td>Joe</td>
<td>Joe</td>
<td>null</td>
<td>null</td>
<td>null</td>
<td>blank</td>
<td>blank</td>
<td>blank</td>

</tr>
</table>-!|!-<table border="1" cellspacing="0">
<tr><td colspan="9">blank and null keyword row fixture</td>
</tr>
<tr><td>field</td>
<td>property</td>
<td>get</td>

<td>field</td>
<td>property</td>
<td>get</td>
<td>field</td>
<td>property</td>
<td>get</td>
</tr>
<tr><td class="pass">null</td>
<td class="pass">null</td>

<td class="pass">null</td>
<td class="fail">blank <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
<td class="fail">blank <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
<td class="fail">blank <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>

<td class="fail">Joe <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
<td class="fail">Joe <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
<td class="fail">Joe <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
</tr>
<tr><td class="pass">blank</td>

<td class="pass">blank</td>
<td class="pass">blank</td>
<td class="fail">Joe <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
<td class="fail">Joe <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
<td class="fail">Joe <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>

<td class="fail">null <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
<td class="fail">null <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
<td class="fail">null <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
</tr>
<tr><td class="pass">Joe</td>

<td class="pass">Joe</td>
<td class="pass">Joe</td>
<td class="fail">null <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>
<td class="fail">null <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>
<td class="fail">null <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>

<td class="fail">blank <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>
<td class="fail">blank <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>
<td class="fail">blank <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>
</tr>
</table>-!|

{{{
public class BlankAndNullKeywordRowFixture : RowFixture
{
	public override object[] Query()
	{
		StringFixture fixture1 = new StringFixture();
		fixture1.Field = null;
		fixture1.Property = null;
		fixture1.Set(null);
		StringFixture fixture2 = new StringFixture();
		fixture2.Field = "";
		fixture2.Property = "";
		fixture2.Set("");
		StringFixture fixture3 = new StringFixture();
		fixture3.Field = "Joe";
		fixture3.Property = "Joe";
		fixture3.Set("Joe");
		return new object[]{fixture1, fixture2, fixture3};
	}

	public override Type GetTargetClass()
	{
		return typeof(StringFixture);
	}
}
}}}

...and action fixtures...
|!-fitlibrary.spec.SpecifyFixture-!|
|!-<table border="1" cellspacing="0">
<tr><td colspan="3">action fixture</td>
</tr>
<tr><td>start</td>
<td colspan="2">string fixture</td>
</tr>
<tr><td>enter</td>

<td>field</td>
<td>null</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>&nbsp;</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>null</td>

</tr>
<tr><td>check</td>
<td>field</td>
<td>blank</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>Joe</td>
</tr>
</table>-!|!-<table border="1" cellspacing="0">
<tr><td colspan="3">action fixture</td>
</tr>
<tr><td>start</td>

<td colspan="2">string fixture</td>
</tr>
<tr><td>enter</td>
<td>field</td>
<td>null</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>&nbsp; <span class="fit_grey">null</span></td>

</tr>
<tr><td>check</td>
<td>field</td>
<td class="pass">null</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td class="fail">blank <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>

</tr>
<tr><td>check</td>
<td>field</td>
<td class="fail">Joe <span class="fit_label">expected</span><hr>null <span class="fit_label">actual</span></td>
</tr>
</table>-!|

|!-fitlibrary.spec.SpecifyFixture-!|
|!-<table border="1" cellspacing="0">
<tr><td colspan="3">action fixture</td>
</tr>
<tr><td>start</td>
<td colspan="2">string fixture</td>
</tr>
<tr><td>enter</td>

<td>field</td>
<td>blank</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>&nbsp;</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>null</td>

</tr>
<tr><td>check</td>
<td>field</td>
<td>blank</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>Joe</td>
</tr>
</table>-!|!-<table border="1" cellspacing="0">
<tr><td colspan="3">action fixture</td>

</tr>
<tr><td>start</td>
<td colspan="2">string fixture</td>
</tr>
<tr><td>enter</td>
<td>field</td>
<td>blank</td>
</tr>
<tr><td>check</td>
<td>field</td>

<td>&nbsp; <span class="fit_grey">blank</span></td>
</tr>
<tr><td>check</td>
<td>field</td>
<td class="fail">null <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
</tr>
<tr><td>check</td>
<td>field</td>

<td class="pass">blank</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td class="fail">Joe <span class="fit_label">expected</span><hr> <span class="fit_label">actual</span></td>
</tr>
</table>-!|

|!-fitlibrary.spec.SpecifyFixture-!|
|!-<table border="1" cellspacing="0">
<tr><td colspan="3">action fixture</td>
</tr>
<tr><td>start</td>
<td colspan="2">string fixture</td>
</tr>
<tr><td>enter</td>

<td>field</td>
<td>Joe</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>&nbsp;</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>null</td>

</tr>
<tr><td>check</td>
<td>field</td>
<td>blank</td>
</tr>
<tr><td>check</td>
<td>field</td>
<td>Joe</td>
</tr>
</table>-!|!-<table border="1" cellspacing="0">

<tr><td colspan="3">action fixture</td>
</tr>
<tr><td>start</td>
<td colspan="2">string fixture</td>
</tr>
<tr><td>enter</td>
<td>field</td>
<td>Joe</td>
</tr>
<tr><td>check</td>

<td>field</td>
<td>&nbsp; <span class="fit_grey">Joe</span></td>
</tr>
<tr><td>check</td>
<td>field</td>
<td class="fail">null <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>
</tr>
<tr><td>check</td>

<td>field</td>
<td class="fail">blank <span class="fit_label">expected</span><hr>Joe <span class="fit_label">actual</span></td>
</tr>
<tr><td>check</td>
<td>field</td>
<td class="pass">Joe</td>
</tr>
</table>-!|
