EtherDelta works with on-chain orders and off-chain orders:
if (!(
(orders[user][hash] || ecrecover(sha3("\x19Ethereum Signed Message:\n32", hash),v,r,s) == user) &&
block.number <= expires &&
safeAdd(orderFills[user][hash], amount) <= amountGet
)) throw;
The EtherDelta wrapper test only works for on-chain orders.