diff options
author | 2015-12-22 07:42:11 +0000 | |
---|---|---|
committer | 2015-12-22 13:07:49 +0000 | |
commit | c934fad54ceb949084ab1c59254d1129febd89af (patch) | |
tree | ac697f96e4f262fb49be06b71b88c9d800658a01 /src/test/java/com/google/devtools/build/docgen/testutil | |
parent | 34c4fe7892d4155e04ab02163b3f839318ee1a9f (diff) |
Open source most of our docgen tests.
--
MOS_MIGRATED_REVID=110746503
Diffstat (limited to 'src/test/java/com/google/devtools/build/docgen/testutil')
-rw-r--r-- | src/test/java/com/google/devtools/build/docgen/testutil/TestData.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/docgen/testutil/TestData.java b/src/test/java/com/google/devtools/build/docgen/testutil/TestData.java new file mode 100644 index 0000000000..34d7d17007 --- /dev/null +++ b/src/test/java/com/google/devtools/build/docgen/testutil/TestData.java @@ -0,0 +1,78 @@ +// Copyright 2015 The Bazel Authors. All rights reserved. +// +// 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.devtools.build.docgen.testutil; + +import static com.google.devtools.build.lib.packages.Attribute.attr; +import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST; + +import com.google.devtools.build.lib.analysis.ConfiguredTarget; +import com.google.devtools.build.lib.analysis.RuleContext; +import com.google.devtools.build.lib.analysis.RuleDefinition; +import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; +import com.google.devtools.build.lib.packages.RuleClass; +import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; + +/** + * Rule definitions that can be used for testing. + */ +public class TestData { + public static class TestRule implements RuleDefinition { + @Override + public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment environment) { + return builder + .add(attr("foo", LABEL_LIST)) + .build(); + } + + @Override + public Metadata getMetadata() { + return RuleDefinition.Metadata.builder().name("testrule") + .factoryClass(DummyRuleFactory.class).ancestors(IntermediateRule.class).build(); + } + } + + public static class IntermediateRule implements RuleDefinition { + @Override + public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment environment) { + return builder.build(); + } + + @Override + public Metadata getMetadata() { + return RuleDefinition.Metadata.builder().name("testrule") + .factoryClass(DummyRuleFactory.class).ancestors(BaseRule.class).build(); + } + } + + public static class BaseRule implements RuleDefinition { + @Override + public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment environment) { + return builder.build(); + } + + @Override + public Metadata getMetadata() { + return RuleDefinition.Metadata.builder().name("base_rule") + .factoryClass(DummyRuleFactory.class).build(); + } + } + + public static class DummyRuleFactory implements RuleConfiguredTargetFactory { + @Override + public ConfiguredTarget create(RuleContext ruleContext) { + throw new IllegalStateException(); + } + } +} + |