UNPKG

claude-statusline-powerline

Version:

Beautiful powerline-style statusline for Claude Code with git integration, session tracking, and cost monitoring

93 lines (82 loc) โ€ข 2 kB
#!/usr/bin/env node /** * Test icon customization functionality * This script tests the new icon override feature */ const fs = require('fs'); const path = require('path'); // Mock data const mockData = { session_id: "test-123", model: { display_name: "Claude Sonnet 4" }, workspace: { current_dir: "/home/test/project" } }; // Test config with custom icons const testConfig = { "color_theme": "dark", "theme": "minimal", "font_profile": "powerline", "segments": { "model": true, "directory": true, "git": true, "session": false }, "segment_config": { "segments": [ { "type": "model", "enabled": true, "order": 1, "style": { "icons": { "ai": "๐Ÿค–" } } }, { "type": "directory", "enabled": true, "order": 2, "style": { "icons": { "folder": "๐Ÿ—‚๏ธ" } } } ] } }; console.log('๐Ÿงช Testing Icon Customization'); console.log('=============================='); // Write test config const configPath = path.join(__dirname, '..', '.statusline-test.json'); fs.writeFileSync(configPath, JSON.stringify(testConfig, null, 2)); // Import and test our statusline try { const { build_statusline } = require('./statusline'); const result = build_statusline(mockData, configPath); console.log('โœ… Icon customization test passed!'); console.log('๐Ÿ“Š Result:', result); // Check if custom icons appear in the result if (result.includes('๐Ÿค–') && result.includes('๐Ÿ—‚๏ธ')) { console.log('โœ… Custom icons (๐Ÿค– ๐Ÿ—‚๏ธ) detected in output!'); } else { console.log('โš ๏ธ Custom icons not found in output'); console.log('๐Ÿ” Looking for default icons...'); if (result.includes('โšก') && result.includes('๐Ÿ“')) { console.log('โ„น๏ธ Default icons found - check icon override logic'); } } } catch (error) { console.error('โŒ Test failed:', error.message); } finally { // Clean up test config if (fs.existsSync(configPath)) { fs.unlinkSync(configPath); } }