In #37957, parts of the testing guide were broken out into separate guides. As part of that work, the `<live-example>` tags were also copied to the new guides. These `<live-example>` tags did not specify the targeted example project via the `name` attribute, thus they were implicitly targeting the example with the same name as the guide they were in. See the [Docs style guide][1] for more info. However, there is only one example project (`testing/`) and all `<live-example>` tags were supposed to target that. This worked fine on the `testing.md` guide, but it broke on other guides (which tried to target non-existing example projects based on their names). This commit fixes it by explicitly specifying which example is targeted by the `<live-example>` tags. It also removes the `embedded-style` attribute that has no effect. [1]: https://angular.io/guide/docs-style-guide#live-examples Fixes #38036 PR Close #38038
1.6 KiB
Testing Pipes
You can test pipes without the Angular testing utilities.
For the sample app that the testing guides describe, see the sample app.
For the tests features in the testing guides, see tests.
Testing the TitleCasePipe
A pipe class has one method, transform
, that manipulates the input
value into a transformed output value.
The transform
implementation rarely interacts with the DOM.
Most pipes have no dependence on Angular other than the @Pipe
metadata and an interface.
Consider a TitleCasePipe
that capitalizes the first letter of each word.
Here's an implementation with a regular expression.
Anything that uses a regular expression is worth testing thoroughly. Use simple Jasmine to explore the expected cases and the edge cases.
{@a write-tests}
Writing DOM tests to support a pipe test
These are tests of the pipe in isolation.
They can't tell if the TitleCasePipe
is working properly as applied in the application components.
Consider adding component tests such as this one: