blob: a19623dd621d0fd8def25a83f16b27f53eedd798 [file] [log] [blame]
// Copyright 2010 Google Inc. All Rights Reserved.
package elemental.js.testing;
import com.google.gwt.junit.client.GWTTestCase;
import com.google.gwt.user.client.Timer;
/**
* Tests for {@link MockClock}
*/
public class MockClockTest extends GWTTestCase {
public void testClearTimeout() {
MockClock.run(new Runnable() {
public void run() {
TestTimer t = new TestTimer();
t.schedule(100);
t.cancel();
MockClock.tick(101);
assertFalse(t.hasRun);
}
});
}
public void testGetCurrentTime() {
MockClock.reset();
assertEquals(0.0, MockClock.getCurrentTime());
}
public void testGetTimeoutsMade() throws Exception {
MockClock.run(new Runnable() {
public void run() {
TestTimer t = new TestTimer();
assertEquals(0, MockClock.getTimeoutsMade());
t.schedule(100);
MockClock.tick(101);
assertEquals(1, MockClock.getTimeoutsMade());
}
});
}
public void testRun() {
MockClock.run(new Runnable() {
public void run() {
TestTimer t = new TestTimer();
t.schedule(100);
MockClock.tick(101);
assertTrue(t.hasRun);
}
});
}
public void testSetTimeoutDelay() {
MockClock.run(new Runnable() {
public void run() {
MockClock.setTimeoutDelay(30);
TestTimer t = new TestTimer() {
@Override
public void run() {
super.run();
assertTrue(MockClock.getCurrentTime() >= 130);
}
};
assertEquals(0, MockClock.getTimeoutsMade());
t.schedule(100);
assertEquals(1, MockClock.getTimeoutsMade());
MockClock.tick(100);
assertFalse(t.hasRun);
MockClock.tick(30);
assertTrue(t.hasRun);
}
});
}
public void testTick() {
MockClock.reset();
MockClock.tick(1234.0);
assertEquals(1234.0, MockClock.getCurrentTime());
}
@Override
public String getModuleName() {
return "elemental.Elemental";
}
private static class TestTimer extends Timer {
private boolean hasRun;
@Override
public void run() {
hasRun = true;
}
}
}