This directory contains sample files designed to demonstrate and test Dates-LE's date extraction capabilities across various formats and scenarios.
| File | Format | Dates | Description |
|---|---|---|---|
| api-response.json | JSON | ~50 | API response with ISO 8601 timestamps, timezones |
| application.log | LOG | ~50 | Application log with various timestamp formats |
| schedule.csv | CSV | ~45 | Project schedule with date columns |
| config.yaml | YAML | ~40 | Configuration file with date/time settings |
Total: ~185 dates across 4 files demonstrating multiple date formats.
- Open any sample file in VS Code
- Press
Cmd+Alt+D(macOS) orCtrl+Alt+D(Windows/Linux) - View extracted dates in a new editor tab
💡 First time? Try
api-response.jsonfirst—it has clean, well-formatted ISO 8601 dates perfect for getting started!
Goal: Verify core date extraction functionality across supported formats.
- Test File:
api-response.json - Expected Result: ~50 dates extracted
- What to Look For:
- ISO 8601 formats with various precisions
- Timezone-aware timestamps (UTC, offset)
- Date-only formats (YYYY-MM-DD)
- Millisecond precision timestamps
Goal: Test extraction across different date representation styles.
- Test File:
application.log - Expected Result: ~50 dates extracted
- What to Look For:
- Standard log timestamps (YYYY-MM-DD HH:MM:SS.sss)
- ISO 8601 formats
- RFC 2822 formats (Mon, DD MMM YYYY HH:MM:SS GMT)
- Unix-like timestamps
- Mixed precision levels
Goal: Verify date extraction from tabular data.
- Test File:
schedule.csv - Expected Result: ~45 dates extracted
- What to Look For:
- Date columns (YYYY-MM-DD)
- DateTime columns (YYYY-MM-DD HH:MM:SS)
- Multiple date columns per row
- Consistent format across rows
Goal: Test extraction from YAML configuration files.
- Test File:
config.yaml - Expected Result: ~40 dates extracted
- What to Look For:
- ISO 8601 timestamps in nested structures
- Date ranges (start/end pairs)
- Scheduled event timestamps
- Metadata dates
Goal: Verify date deduplication functionality.
Steps:
- Open
api-response.json - Enable deduplication:
Settings → dates-le.dedupeEnabled: true - Run extraction
- Expected: Fewer dates if duplicates exist
- Verify: No duplicate dates in output
Goal: Verify date sorting and chronological organization.
- Test File: Any sample file
- Expected Result: Dates sorted chronologically
- What to Look For:
- Earliest dates first
- Consistent ordering
- Proper timezone handling for sorting
Goal: Test safety warnings for large files.
Steps:
- Create a copy of
application.logand duplicate its contents 100x - Open the large file
- Run extraction
- Expected: File size warning before processing
- Verify: Can proceed or cancel
Goal: Verify side-by-side editor functionality.
Steps:
- Enable:
Settings → dates-le.openResultsSideBySide: true - Open any sample file
- Run extraction
- Expected: Results open in adjacent editor
- Verify: Source file remains visible
Goal: Test automatic clipboard integration.
Steps:
- Enable:
Settings → dates-le.copyToClipboardEnabled: true - Open
api-response.json - Run extraction
- Expected: Results copied to clipboard
- Verify: Paste results into another document
Goal: Test notification system behavior.
Test Sequence:
A. Silent Mode (default):
Settings → dates-le.notificationsLevel: "silent"- Run extraction on
api-response.json - Expected: No notifications (except errors)
B. Important Mode:
Settings → dates-le.notificationsLevel: "important"- Run extraction on very large file
- Expected: Warnings only
C. All Mode:
Settings → dates-le.notificationsLevel: "all"- Run extraction on
schedule.csv - Expected: Success notification with count
- Action: Create empty file
empty.json - Expected: No dates found, graceful handling
- Error: None
{
"name": "Test",
"count": 42,
"enabled": true
}- Expected: "No dates found" message
- Error: None
{
"broken": "json"
"missing": "comma"
}- Expected: Parse error (if
showParseErrorsenabled) - Error: Graceful error handling, no crash
- File: Create JSON with mix of valid ISO dates and invalid strings
- Expected: Only valid dates extracted
- Error: None (invalid dates skipped)
- Action: Create file with 100,000+ dates
- Expected: Warning before opening results
- Prompt: "Output size (100,000 lines) exceeds threshold. Continue?"
{
"utc": "2025-10-13T12:00:00Z",
"offset_positive": "2025-10-13T12:00:00+05:30",
"offset_negative": "2025-10-13T12:00:00-08:00",
"no_timezone": "2025-10-13T12:00:00"
}- Expected: All dates extracted with timezone info preserved
maintenance:
start: '2025-10-14T02:00:00Z'
end: '2025-10-14T04:00:00Z'- Expected: Both dates extracted separately
{
"shippedDate": null,
"deliveredDate": null
}- Expected: Null dates ignored (not extracted)
{
"isoString": "2025-10-13T12:00:00Z",
"unixTimestamp": 1728824400000,
"version": "1.0.0"
}- Expected: ISO string extracted, numbers (version/timestamp) may be filtered
- Test File: Create minimal JSON with 5 dates
- Expected: < 100ms extraction time
- Verify: No performance warnings
- Test Files: All provided samples
- Expected: < 1 second extraction time
- Verify: Smooth, responsive extraction
- Action: Duplicate
application.log100x - Expected: < 5 seconds extraction time
- Verify: Progress indicator shown
- Action: Create/open file exceeding safety threshold
- Expected: Safety warning before processing
- Verify: Can cancel operation
Possible Causes:
- File format not supported (only JSON, YAML, CSV)
- File not saved with correct extension
- No valid date formats in file
- Parse error (enable
showParseErrors)
Solution:
- Check file extension (.json, .yaml, .yml, .csv)
- Verify file contains valid date strings
- Check Output panel → "Dates-LE" for errors
Symptoms: Slow extraction, high memory usage
Solutions:
- Enable safety warnings:
dates-le.safety.enabled: true - Reduce file size threshold:
dates-le.safety.fileSizeWarnBytes: 500000 - Split large files into smaller chunks
- Close other extensions temporarily
Example: Expected 50 dates, got 48
Debugging:
- Check if deduplication is enabled
- Verify date formats are recognized
- Look for null values or invalid formats
- Enable telemetry:
dates-le.telemetryEnabled: true - Check Output panel for warnings
- Documentation: See
/docsdirectory - Configuration: Check
CONFIGURATION.md - Performance: Read
PERFORMANCE.md - Troubleshooting: Review
TROUBLESHOOTING.md
These sample files comprehensively test:
✅ Date Formats:
- ISO 8601 (various precisions)
- RFC 2822
- Simple dates (YYYY-MM-DD)
- DateTime strings (YYYY-MM-DD HH:MM:SS)
- Unix timestamps
✅ File Formats:
- JSON (nested structures, arrays)
- YAML (configurations, hierarchies)
- CSV (tabular data)
- LOG (mixed formats)
✅ Edge Cases:
- Null values
- Timezones (UTC, offsets)
- Millisecond precision
- Date ranges
- Large files
- Empty files
✅ Features:
- Deduplication
- Sorting
- Side-by-side view
- Clipboard copy
- Safety warnings
- Notification levels
Happy Testing! 🚀
If you discover any issues or have suggestions for additional test cases, please open an issue.