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