Skip to content

Commit

Permalink
Make TestIndex tolerate synthetic traits
Browse files Browse the repository at this point in the history
  • Loading branch information
JordonPhillips committed Apr 26, 2022
1 parent c3fc3bc commit 9ca8750
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,10 @@ private static void computeShapeTextInstances(
textInstances.add(TextInstance.createShapeInstance(shape));

for (Trait trait : shape.getAllTraits().values()) {
Shape traitShape = model.expectShape(trait.toShapeId());
computeTextInstancesForAppliedTrait(trait.toNode(), trait, shape, textInstances,
new ArrayDeque<>(), model, traitShape);
model.getShape(trait.toShapeId()).ifPresent(traitShape -> {
computeTextInstancesForAppliedTrait(trait.toNode(), trait, shape, textInstances,
new ArrayDeque<>(), model, traitShape);
});
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Copyright 2022 Amazon.com, Inc. or its affiliates. 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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 software.amazon.smithy.model.knowledge;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.empty;
import static org.hamcrest.Matchers.hasSize;

import org.junit.jupiter.api.Test;
import software.amazon.smithy.model.Model;

public class TextIndexTest {

@Test
public void handlesSyntheticTraits() {
Model model = Model.assembler()
.addImport(OperationIndexTest.class.getResource("text-index.smithy"))
.assemble()
.unwrap();

TextIndex index = TextIndex.of(model);
assertThat(index.getTextInstances(), hasSize(5));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
$version: "2.0"

namespace com.example

enum FooEnum {
/// Documentation
FOO
}

0 comments on commit 9ca8750

Please sign in to comment.