diff --git a/packages/vector_graphics_compiler/test/parser_test.dart b/packages/vector_graphics_compiler/test/parser_test.dart
index 934cee62ac52..761300fe46c2 100644
--- a/packages/vector_graphics_compiler/test/parser_test.dart
+++ b/packages/vector_graphics_compiler/test/parser_test.dart
@@ -29,6 +29,160 @@ class _TestOpacityColorMapper implements ColorMapper {
}
void main() {
+ test('Circular Mask Loop Avoidance', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+
+ expect(instructions.paths.isNotEmpty, true);
+ });
+
+ test('Unreferenced Circular Mask Loop resolves successfully', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+
+ expect(instructions.paths.length, 1);
+ });
+
+ test('Multi-hop Referenced Circular Mask Loop Avoidance', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+
+ expect(instructions.paths.isNotEmpty, true);
+ });
+
+ test('Circular Deferred Node Loop Avoidance', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+
+ expect(instructions.paths.isEmpty, true);
+ });
+
+ test('Unreferenced Circular Use Loop resolves successfully', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+
+ expect(instructions.paths.length, 1);
+ });
+
+ test('Multi-hop Referenced Circular Use Loop Avoidance', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+
+ expect(instructions.paths.isEmpty, true);
+ });
+
+ test('Circular Pattern Loop Avoidance', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+
+ expect(instructions.paths.isNotEmpty, true);
+ });
+
+ test('Circular ClipPath Loop Avoidance', () {
+ final VectorInstructions instructions = parseWithoutOptimizers('''
+
+''');
+ expect(instructions.paths.length, 1);
+ expect(
+ instructions.commands.any((c) => c.type == DrawCommandType.clip),
+ false,
+ );
+ });
+
test('Reuse ID self-referentially', () {
final VectorInstructions instructions = parseWithoutOptimizers('''