26 صيغة ملف، كلٌّ منها يُولَّد بحجم دقيق
كلٌّ منها ملف حقيقي من تلك الصيغة. يُفتح في البرنامج الذي يملكه، وعدد بايتاته هو ما طلبته بالضبط. ولا واحد منها أصفار حشوية أُلصق بها امتداد.
| الصيغة | الاسم | الامتداد | أصغر ملف | الاكتمال | يُتحقق منه بواسطة |
|---|---|---|---|---|---|
avif |
AV1 Image File Format | .avif |
311 | full | pillow |
bmp |
Windows Bitmap | .bmp |
58 | full | pillow |
csv |
Comma-Separated Values | .csv |
115 | full | python-csv |
docx |
Word (Office Open XML) | .docx |
1220 | full | libreoffice |
gif |
Graphics Interchange Format | .gif |
114 | full | pillow |
html |
HyperText Markup Language | .html |
118 | full | python-html |
ico |
Windows Icon | .ico |
70 | full | pillow |
jpg |
JPEG | .jpg |
602 | full | pillow |
json |
JavaScript Object Notation | .json |
219 | full | node-json |
jxl |
JPEG XL | .jxl |
147 | full | pillow-jxl |
log |
Server and application log | .log |
155 | full | غير منطبق |
md |
Markdown | .md |
0 | full | غير منطبق |
pdf |
Portable Document Format | .pdf |
3415 | full | pdftotext |
png |
Portable Network Graphics | .png |
74 | full | pillow |
pptx |
PowerPoint (Office Open XML) | .pptx |
4809 | full | libreoffice |
svg |
Scalable Vector Graphics | .svg |
194 | full | inkscape |
targz |
tar + gzip | .tar.gz |
9790 | full | 7z |
tiff |
Tagged Image File Format | .tiff |
183 | full | pillow |
toml |
TOML | .toml |
212 | full | python-toml |
txt |
Plain text | .txt |
0 | full | غير منطبق |
wav |
Waveform Audio | .wav |
98 | full | ffprobe |
webp |
WebP | .webp |
148 | full | pillow |
xlsx |
Excel (Office Open XML) | .xlsx |
1726 | full | libreoffice |
xml |
Extensible Markup Language | .xml |
264 | full | python-xml |
yaml |
YAML | .yaml |
241 | full | python-yaml |
zip |
ZIP | .zip |
8382 | full | 7z |
معنى الأعمدة
-
أصغر ملف
أقل عدد من البايتات تقبله هذه الأداة لتلك الصيغة، شاملًا الوسم الذي تكتبه داخل الملف. اطلب أقل فتحصل على خطأ يذكر الحد الأدنى وسببه، لا ملفًا بحجم خاطئ أبدًا.
-
الاكتمال
مدى اكتمال الملف. تعني
fullأن قارئًا يحلل الصيغة فعلًا يقبله، لا أن الامتداد يطابق فحسب. -
يُتحقق منه بواسطة
القارئ المستقل الذي يفتح كل ملف مولَّد قبل إصدار الصيغة، وهو تنفيذ منفصل، لا شيفرتنا نحن تصحّح واجباتها بنفسها.
وتتكرر كل صيغة حتى البايت أيضًا: الوصفة نفسها والبذرة نفسها تنتجان ملفات متطابقة على أي جهاز، وهذا ما يجعل إيداع وصفة بدل بيانات الاختبار نفسها أمرًا آمنًا.
الإعدادات التي تقبلها كل صيغة
لمعظم الصيغ إعدادات خاصة بها: أبعاد الصورة، وجودة JPEG، وعدد صفحات PDF، والصفوف والأعمدة في جدول
بيانات، وعدد العناصر داخل الأرشيف. اضبطها بـ --set key=value في سطر الأوامر أو تحت
properties: في وصفة.
tfg generate --format jpg --size 500kb --set width=1920 --set height=1080 --set quality=85
| الصيغة | الإعداد | القيم المقبولة |
|---|---|---|
avif |
width |
1 - 16384 بكسل |
height |
1 - 16384 بكسل | |
quality |
1 - 100 | |
bmp |
width |
1 - 20000 بكسل |
height |
1 - 20000 بكسل | |
csv |
delimiter |
comma, pipe, semicolon, tab |
line_ending |
crlf, lf | |
header |
صحيح أو خاطئ | |
quote_style |
all, minimal, none | |
columns |
2 - 32768 أعمدة | |
docx |
paragraphs |
1 - 50000 فقرات |
gif |
width |
1 - 20000 بكسل |
height |
1 - 20000 بكسل | |
frames |
1 - 60 | |
html |
structure |
document, fragment |
ico |
width |
1 - 256 بكسل |
height |
1 - 256 بكسل | |
embed |
bmp, png | |
jpg |
width |
1 - 20000 بكسل |
height |
1 - 20000 بكسل | |
quality |
1 - 100 | |
json |
formatting |
indented, minified, record-per-line |
jxl |
width |
1 - 16384 بكسل |
height |
1 - 16384 بكسل | |
quality |
1 - 100 | |
log |
entry_format |
apache-combined, apache-common, json-lines, nginx, plain, syslog |
timestamps |
advancing, fixed | |
rate |
1 - 1000000 إدخال في الثانية | |
methods |
get, mixed, read | |
status_mix |
client-errors, realistic, server-errors, success | |
level_mix |
debug, errors, quiet, realistic | |
ip_version |
mixed, v4, v6 | |
line_ending |
crlf, lf | |
md |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
صحيح أو خاطئ | |
pdf |
pages |
1 - 5000 |
page_size |
a3, a4, a5, legal, letter, mixed | |
orientation |
landscape, mixed, portrait | |
rotate |
0, 90, 180, 270 | |
pdf_version |
1.4, 1.7 | |
title |
أي نص | |
author |
أي نص | |
subject |
أي نص | |
keywords |
أي نص | |
creator |
أي نص | |
producer |
أي نص | |
created |
تاريخ مثل 2024-02-29 أو 2024-02-29T13:45:00+02:00، أو none | |
modified |
تاريخ مثل 2024-02-29 أو 2024-02-29T13:45:00+02:00، أو none | |
png |
width |
1 - 20000 بكسل |
height |
1 - 20000 بكسل | |
pptx |
slides |
1 - 500 شرائح |
svg |
width |
1 - 20000 بكسل |
height |
1 - 20000 بكسل | |
targz |
entries |
0 - 10000 |
entry_format |
معرّف صيغة، كما يسردها tfg formats | |
entry_size |
حجم مثل 2mb | |
compression |
best, default, fast, none | |
depth |
0 - 50 | |
directory_entries |
صحيح أو خاطئ | |
entry_mode |
000, 400, 444, 600, 644, 664, 666, 700, 755, 777 | |
entry_owner |
root, unset, user | |
tiff |
width |
1 - 20000 بكسل |
height |
1 - 20000 بكسل | |
txt |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
صحيح أو خاطئ | |
wav |
sample_rate |
8000 - 192000 هرتز |
bit_depth |
8, 16, 24, 32 | |
channels |
1 - 8 | |
content |
noise, silence, sweep, tone | |
webp |
width |
1 - 16383 بكسل |
height |
1 - 16383 بكسل | |
xlsx |
rows |
1 - 200000 صفوف |
columns |
1 - 32768 أعمدة | |
xml |
encoding |
utf-16be, utf-16le, utf-8 |
bom |
صحيح أو خاطئ | |
zip |
entries |
0 - 10000 |
entry_format |
معرّف صيغة، كما يسردها tfg formats | |
entry_size |
حجم مثل 2mb | |
compression |
best, default, fast, none | |
depth |
0 - 50 | |
directory_entries |
صحيح أو خاطئ | |
password |
كلمة المرور، كنص عادي | |
encryption |
aes-128, aes-192, aes-256, none, zipcrypto |
القيمة الواقعة خارج ما يقبله الإعداد تُرفض برسالة تسمّي الإعداد والنطاق المسموح وما يُستخدم بدلًا منه. والإعداد المجهول خطأ أيضًا، وليس قيمة افتراضية صامتة أبدًا، فخطأ مطبعي يُقبل بصمت يعطي ملفًا بإعدادات خاطئة وساعة من التساؤل عن سبب نجاح اختبار كان ينبغي ألا ينجح.
شغّل tfg formats <id> لترى بالضبط ما تقبله صيغة واحدة في الإصدار الذي لديك.
الأرشيفات تحتوي ملفات حقيقية
targz وzip يمكن
ملؤها بعناصر بدل تركها قشرة فارغة. الأرشيف المولَّد يحتوي فعلًا على المستندات التي يدّعي
احتواءها، فكل ما يفكّه أثناء اختبار يجد بداخله ملفات حقيقية.
targets:
- id: bundle
format: zip
contains:
- format: txt
count: 200
size: 4kb