1 package org.glom.web.client.place;
3 import static org.junit.Assert.*;
6 import com.googlecode.gwt.test.GwtModule;
7 import com.googlecode.gwt.test.GwtTest;
9 @GwtModule("org.glom.web.OnlineGlom")
10 public class GwtTestReportPlace extends GwtTest {
12 public GwtTestReportPlace() {
16 public void testGetPlaceNoParameters() {
17 checkTokenWithoutParameters("");
18 checkTokenWithoutParameters("something");
19 checkTokenWithoutParameters("list:a=1");
20 checkTokenWithoutParameters("value1=123");
24 public void testGetPlaceParameters() {
25 // Create a ReportPlace, testing getPlace():
26 final String documentId = "somedocument";
27 final String tableName = "sometable";
28 final String reportName = "somereport";
29 ReportPlace place = getReportPlaceFromToken("document=" + documentId + "&table=" + tableName + "&report=" + reportName);
30 checkParameters(place, documentId, tableName, reportName);
32 // Recreate it, testing getToken(),
33 // checking that the same parameters are read back:
34 final ReportPlace.Tokenizer tokenizer = new ReportPlace.Tokenizer();
35 final String token = tokenizer.getToken(place);
36 place = getReportPlaceFromToken(token);
37 checkParameters(place, documentId, tableName, reportName);
40 private void checkParameters(final ReportPlace place, final String documentID, final String tableName, final String reportName) {
41 assertTrue(place != null);
43 assertEquals(documentID, place.getDocumentID());
44 assertEquals(tableName, place.getTableName());
45 assertEquals(reportName, place.getReportName());
48 private ReportPlace getReportPlaceFromToken(final String token) {
49 final ReportPlace.Tokenizer tokenizer = new ReportPlace.Tokenizer();
50 final ReportPlace place = tokenizer.getPlace(token);
51 assertTrue(place != null);
55 private void checkTokenWithoutParameters(final String token) {
56 final ReportPlace place = getReportPlaceFromToken(token);
58 assertTrue(place.getDocumentID() != null);
59 assertTrue(place.getDocumentID().isEmpty());
61 assertTrue(place.getTableName() != null);
62 assertTrue(place.getTableName().isEmpty());
64 assertTrue(place.getReportName() != null);
65 assertTrue(place.getReportName().isEmpty());