99- Catalog stack (multi-catalog support)
1010"""
1111
12- import re
1312import pytest
1413import json
1514import tempfile
1615import shutil
1716from pathlib import Path
1817from datetime import datetime , timezone
1918
19+ from tests .conftest import strip_ansi
2020from specify_cli .extensions import (
2121 CatalogEntry ,
2222 CORE_COMMAND_NAMES ,
3434)
3535
3636
37- def _strip_ansi (text : str ) -> str :
38- """Remove ANSI escape codes from Rich-formatted CLI output."""
39- return re .sub (r'\x1b\[[0-9;]*m' , '' , text )
40-
41-
4237# ===== Fixtures =====
4338
4439@pytest .fixture
@@ -3132,7 +3127,7 @@ def test_list_shows_extension_id(self, extension_dir, project_dir):
31323127 result = runner .invoke (app , ["extension" , "list" ])
31333128
31343129 assert result .exit_code == 0 , result .output
3135- plain = _strip_ansi (result .output )
3130+ plain = strip_ansi (result .output )
31363131 # Verify the extension ID is shown in the output
31373132 assert "test-ext" in plain
31383133 # Verify name and version are also shown
@@ -3367,7 +3362,7 @@ def test_list_shows_priority(self, extension_dir, project_dir):
33673362 result = runner .invoke (app , ["extension" , "list" ])
33683363
33693364 assert result .exit_code == 0 , result .output
3370- plain = _strip_ansi (result .output )
3365+ plain = strip_ansi (result .output )
33713366 assert "Priority: 7" in plain
33723367
33733368 def test_set_priority_changes_priority (self , extension_dir , project_dir ):
@@ -3389,7 +3384,7 @@ def test_set_priority_changes_priority(self, extension_dir, project_dir):
33893384 result = runner .invoke (app , ["extension" , "set-priority" , "test-ext" , "5" ])
33903385
33913386 assert result .exit_code == 0 , result .output
3392- plain = _strip_ansi (result .output )
3387+ plain = strip_ansi (result .output )
33933388 assert "priority changed: 10 → 5" in plain
33943389
33953390 # Reload registry to see updated value
@@ -3412,7 +3407,7 @@ def test_set_priority_same_value_no_change(self, extension_dir, project_dir):
34123407 result = runner .invoke (app , ["extension" , "set-priority" , "test-ext" , "5" ])
34133408
34143409 assert result .exit_code == 0 , result .output
3415- plain = _strip_ansi (result .output )
3410+ plain = strip_ansi (result .output )
34163411 assert "already has priority 5" in plain
34173412
34183413 def test_set_priority_invalid_value (self , extension_dir , project_dir ):
0 commit comments