Revision: 10559
Author:   gwt.mirror...@gmail.com
Date:     Mon Aug 22 09:48:40 2011
Log:      Add bootstrap tests
159 of 257 (61.87%) Pass with 32 Failures and 7 Errors.

Review at http://gwt-code-reviews.appspot.com/1526804

Review by: rchan...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=10559

Added:
 /trunk/user/test/com/google/gwt/validation/tck/BootstrapGwtSuite.java
 /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap
/trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/ConfigurationGwtTest.java /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/CustomMessageInterpolatorGwtTest.java
 /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/TckTest.gwt.xml
/trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/TckTestValidatorFactory.java /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/ValidationProviderGwtTest.java /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/ValidationProviderResolverGwtTest.java /trunk/user/test-super/org/hibernate/jsr303/tck/super/org/hibernate/jsr303/tck/tests/bootstrap /trunk/user/test-super/org/hibernate/jsr303/tck/super/org/hibernate/jsr303/tck/tests/bootstrap/CustomMessageInterpolatorTest.java

=======================================
--- /dev/null
+++ /trunk/user/test/com/google/gwt/validation/tck/BootstrapGwtSuite.java Mon Aug 22 09:48:40 2011
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.validation.tck;
+
+import junit.framework.Test;
+
+import org.hibernate.jsr303.tck.tests.bootstrap.ConfigurationGwtTest;
+import org.hibernate.jsr303.tck.tests.bootstrap.CustomMessageInterpolatorGwtTest;
+import org.hibernate.jsr303.tck.tests.bootstrap.ValidationProviderGwtTest;
+import org.hibernate.jsr303.tck.tests.bootstrap.ValidationProviderResolverGwtTest;
+import org.hibernate.jsr303.tck.util.TckTestSuiteWrapper;
+
+/**
+ * Tck Tests for the {@code bootstrap} package.
+ */
+public class BootstrapGwtSuite {
+  public static Test suite() {
+    TckTestSuiteWrapper suite = new TckTestSuiteWrapper(
+        "TCK for GWT Validation, constraints bootstrap package");
+    suite.addTestSuite(ConfigurationGwtTest.class);
+    suite.addTestSuite(CustomMessageInterpolatorGwtTest.class);
+    suite.addTestSuite(ValidationProviderGwtTest.class);
+    suite.addTestSuite(ValidationProviderResolverGwtTest.class);
+    return suite;
+  }
+}
=======================================
--- /dev/null
+++ /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/ConfigurationGwtTest.java Mon Aug 22 09:48:40 2011
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.Failing;
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+
+/**
+ * Wraps {@link ConfigurationTest} .
+ */
+public class ConfigurationGwtTest extends GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return "org.hibernate.jsr303.tck.tests.bootstrap.TckTest";
+  }
+
+  @Failing(issue = 6663)
+  public void testProviderUnderTestDefinesSubInterfaceOfConfiguration() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
=======================================
--- /dev/null
+++ /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/CustomMessageInterpolatorGwtTest.java Mon Aug 22 09:48:40 2011
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.Failing;
+
+/**
+ * Wraps {@link CustomMessageInterpolatorTest} .
+ */
+public class CustomMessageInterpolatorGwtTest extends GWTTestCase {
+ CustomMessageInterpolatorTest delegate = new CustomMessageInterpolatorTest();
+
+  @Override
+  public String getModuleName() {
+    return "org.hibernate.jsr303.tck.tests.bootstrap.TckTest";
+  }
+
+  @Failing(issue = 6663)
+  public void testCustomMessageInterpolatorViaConfiguration() {
+    delegate.testCustomMessageInterpolatorViaConfiguration();
+  }
+
+  public void testCustomMessageInterpolatorViaValidatorContext() {
+    delegate.testCustomMessageInterpolatorViaValidatorContext();
+  }
+}
=======================================
--- /dev/null
+++ /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/TckTest.gwt.xml Mon Aug 22 09:48:40 2011
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd";>
+<!--
+  Copyright 2010 Google Inc.
+
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not + use this file except in compliance with the License. You may obtain a copy of
+  the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ License for the specific language governing permissions and limitations under
+  the License.
+-->
+<module>
+  <inherits name="org.hibernate.jsr303.tck.tests.ValidationTck" />
+  <source path="">
+    <include name="*.java" />
+  </source>
+ <replace-with class="org.hibernate.jsr303.tck.tests.bootstrap.TckTestValidatorFactory">
+    <when-type-is class="javax.validation.ValidatorFactory"/>
+  </replace-with>
+</module>
=======================================
--- /dev/null
+++ /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/TckTestValidatorFactory.java Mon Aug 22 09:48:40 2011
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
+import com.google.gwt.validation.client.GwtValidation;
+import com.google.gwt.validation.client.impl.AbstractGwtValidator;
+
+import org.hibernate.jsr303.tck.tests.bootstrap.CustomMessageInterpolatorTest.Person;
+
+import javax.validation.Validator;
+
+/**
+ * {@link AbstractGwtValidatorFactory} implementation that uses
+ * {@link com.google.gwt.validation.client.GwtValidation GwtValidation}.
+ */
+public final class TckTestValidatorFactory extends AbstractGwtValidatorFactory {
+  /**
+   * Marker Interface for {@link GWT#create(Class)}.
+   */
+  @GwtValidation(value = {Person.class})
+  public static interface GwtValidator extends Validator {
+  }
+
+  @Override
+  public AbstractGwtValidator createValidator() {
+    return GWT.create(GwtValidator.class);
+  }
+}
=======================================
--- /dev/null
+++ /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/ValidationProviderGwtTest.java Mon Aug 22 09:48:40 2011
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.Failing;
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+
+/**
+ * Wraps {@link ValidationProviderTest} .
+ */
+public class ValidationProviderGwtTest extends GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return "org.hibernate.jsr303.tck.tests.bootstrap.TckTest";
+  }
+
+  @Failing(issue = 6663)
+ public void testByDefaultProviderUsesTheFirstProviderReturnedByValidationProviderResolver() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+
+  @Failing(issue = 6663)
+  public void testFirstMatchingValidationProviderResolverIsReturned() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest(){}
+
+  @Failing(issue = 6663)
+ public void testValidationExceptionIsThrownInCaseValidatorFactoryCreationFails() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+
+  @Failing(issue = 6663)
+  public void testValidationProviderContainsNoArgConstructor() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+}
=======================================
--- /dev/null
+++ /trunk/user/test/org/hibernate/jsr303/tck/tests/bootstrap/ValidationProviderResolverGwtTest.java Mon Aug 22 09:48:40 2011
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.Failing;
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+
+/**
+ * Wraps {@link ValidationProviderResolverTest} .
+ */
+public class ValidationProviderResolverGwtTest extends GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return "org.hibernate.jsr303.tck.tests.bootstrap.TckTest";
+  }
+
+  @Failing(issue = 6663)
+  public void testServiceFileExists() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest(){}
+}
=======================================
--- /dev/null
+++ /trunk/user/test-super/org/hibernate/jsr303/tck/super/org/hibernate/jsr303/tck/tests/bootstrap/CustomMessageInterpolatorTest.java Mon Aug 22 09:48:40 2011
@@ -0,0 +1,134 @@
+// $Id: CustomMessageInterpolatorTest.java 17620 2009-10-04 19:19:28Z hardy.ferentschik $
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package org.hibernate.jsr303.tck.tests.bootstrap;
+
+import com.google.gwt.i18n.shared.GwtLocale;
+
+import java.util.Set;
+import javax.validation.Configuration;
+import javax.validation.ConstraintViolation;
+import javax.validation.MessageInterpolator;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+import javax.validation.constraints.Digits;
+import javax.validation.constraints.NotNull;
+
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+import org.jboss.testharness.AbstractTest;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ArtifactType;
+import org.jboss.testharness.impl.packaging.Classes;
+import static org.testng.Assert.assertFalse;
+import org.testng.annotations.Test;
+
+import org.hibernate.jsr303.tck.util.TestUtil;
+import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectConstraintViolationMessages; +import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectNumberOfViolations;
+
+/**
+ * @author Hardy Ferentschik
+ */
+@Artifact(artifactType = ArtifactType.JSR303)
+@Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
+public class CustomMessageInterpolatorTest extends AbstractTest {
+
+  @Test
+  @SpecAssertion(section = "4.3.2", id = "b")
+  public void testCustomMessageInterpolatorViaConfiguration() {
+    Configuration config = Validation.byDefaultProvider().configure();
+    config = config.messageInterpolator( new DummyMessageInterpolator() );
+    Validator validator = config.buildValidatorFactory().getValidator();
+
+    assertCustomMessageInterpolatorUsed( validator );
+  }
+
+  @Test
+  @SpecAssertions({
+      @SpecAssertion(section = "4.4.2", id = "a"),
+      @SpecAssertion(section = "4.4.2", id = "b"),
+      @SpecAssertion(section = "4.3.2", id = "b")
+  })
+  public void testCustomMessageInterpolatorViaValidatorContext() {
+    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+ DummyMessageInterpolator dummyMessageInterpolator = new DummyMessageInterpolator(); + Validator validator = factory.usingContext().messageInterpolator( dummyMessageInterpolator ).getValidator();
+    assertCustomMessageInterpolatorUsed( validator );
+    assertFalse(
+ factory.getMessageInterpolator().equals( dummyMessageInterpolator ), + "getMessageInterpolator() should return the default message interpolator."
+    );
+  }
+
+  private void assertCustomMessageInterpolatorUsed(Validator validator) {
+    Person person = new Person();
+    person.setFirstName( "John" );
+    person.setPersonalNumber( 1234567890l );
+
+ Set<ConstraintViolation<Person>> constraintViolations = validator.validate( person );
+    assertCorrectNumberOfViolations( constraintViolations, 1 );
+ assertCorrectConstraintViolationMessages( constraintViolations, "my custom message" );
+  }
+
+ private static class DummyMessageInterpolator implements MessageInterpolator {
+    public String interpolate(String message, Context context) {
+      return "my custom message";
+    }
+
+ public String interpolate(String message, Context context, GwtLocale locale) { + throw new UnsupportedOperationException( "No specific locale is possible" );
+    }
+  }
+
+  public class Person {
+    @NotNull
+    private String firstName;
+
+    @NotNull
+    private String lastName;
+
+    @Digits(integer = 10, fraction = 0)
+    private long personalNumber;
+
+
+    public String getFirstName() {
+      return firstName;
+    }
+
+    public void setFirstName(String firstName) {
+      this.firstName = firstName;
+    }
+
+    public String getLastName() {
+      return lastName;
+    }
+
+    public void setLastName(String lastName) {
+      this.lastName = lastName;
+    }
+
+    public long getPersonalNumber() {
+      return personalNumber;
+    }
+
+    public void setPersonalNumber(long personalNumber) {
+      this.personalNumber = personalNumber;
+    }
+  }
+}

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to