js client-side test framework without dom