Skip to content

Development Setup ar

Hammad Maqbool edited this page Oct 29, 2026 · 1 revision

English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt

إعداد بيئة التطوير: تشغيل اختبارات docxi وأدواتها

تساعدك هذه الصفحة على تشغيل نسخة عمل من docxi، وتشرح الاختبارات والمستندات النموذجية وإعداد CI.

الحصول على الشيفرة

git clone https://github.com/hammad417/docxi.git
cd docxi
bundle install
bundle exec rake test

يصلح أي إصدار من Ruby بدءًا من 2.5 للتطوير. اعتماديات التطوير هي minitest وrake.

مهام Rake

الأمر ما يفعله
bundle exec rake test يشغّل مجموعة الاختبارات (المهمة الافتراضية)
bundle exec rake samples يكتب المستندات النموذجية في tmp/samples/*.docx لفتحها في Word أو LibreOffice أو Google Docs
bundle exec rake golden يعيد كتابة test/golden من الشيفرة الحالية. استخدمه فقط بعد تغيير مقصود في المخرجات
bundle exec rake build يبني الحزمة في pkg/

تشغيل الاختبارات مع تحميل Rails

يحتوي المجلد gemfiles/ على ملف Gemfile لكل إصدار من Rails، إضافة إلى بعض الملفات لإصدارات أقدم من rubyzip وnokogiri:

BUNDLE_GEMFILE=gemfiles/rails_8.1.gemfile bundle install
BUNDLE_GEMFILE=gemfiles/rails_8.1.gemfile DOCXI_WITH_RAILS=1 bundle exec rake test

يحمّل DOCXI_WITH_RAILS=1 إطار العمل كاملًا قبل الاختبارات، ويقارن أيضًا قواعد blank? في docxi بقواعد ActiveSupport.

ما تغطيه الاختبارات

الملف ما يتحقق منه
test/test_golden_output.rb كل جزء من المستندين النموذجيين يطابق ما ولّده الإصدار 0.0.6
test/test_package.rb سلامة بنية XML، وإشارة العلاقات إلى أجزاء موجودة، ووجود نوع محتوى لكل جزء، وعدم وجود سجلات Zip64
test/test_media.rb الصور من المسارات وكائنات IO وعناوين URL، وأن السلسلة التي تبدأ بـ | لا تُنفَّذ أبدًا كأمر
test/test_fixed_features.rb الدوال tab وframe وأرقام الصفحات في رؤوس الصفحات
test/test_util.rb اتباع Docxi::Util.blank? لقواعد ActiveSupport
test/test_rails_independence.rb عمل docxi دون ActiveSupport
test/test_warnings.rb عدم صدور أي تحذيرات إهمال (deprecation) من lib/ أثناء التوليد

توجد المستندات النموذجية في test/support/sample_documents.rb، ويقرأ test/support/package.rb ملف .docx مباشرة من بنى zip الخاصة به.

التكامل المستمر

يعمل .github/workflows/ci.yml مع كل دفع إلى master ومع كل طلب سحب، ويغطي:

  • إصدارات Ruby 2.5 و2.6 و4.0 دون Rails
  • إصدارات Rails 5.2 ‏(Ruby 2.5) و6.0 ‏(2.7) و6.1 ‏(3.0) و7.0 ‏(3.1) و7.1 ‏(3.2) و7.2 ‏(3.3) و8.0 ‏(3.4) و8.1 ‏(4.0)
  • الفرع main من Rails، ويُسمح له بالفشل
  • مكتبة rubyzip 1.3 و2.4، ومكتبة nokogiri 1.11
  • مهمة تحوّل المستندات النموذجية إلى PDF باستخدام LibreOffice

الإصدارات مشروحة في صفحة النشر.

صفحات ذات صلة


→ الصفحة الرئيسية للويكي · README

Clone this wiki locally