Jsdom: document.activeElement دائمًا ما يكون فارغًا بعد الترقية إلى jsdom 15/16 (jest 25)

تم إنشاؤها على ٢٧ مارس ٢٠٢٠  ·  3تعليقات  ·  مصدر: jsdom/jsdom

معلومات أساسية:

نستخدم اختبارات الدعابة بنمط expect(document.activeElement).toBe(myElement) لتحديد ما إذا كان العنصر قد تم تركيزه بشكل صحيح بعد التفاعل. بعد الترقية إلى jest 25 (jsdom 15) ، تعطلت جميع هذه الاختبارات ، يبدو أن document.activeElement دائمًا فارغ. هذا هو الحال أيضًا إذا قمنا بتشغيله باستخدام jsDom 16.

نصحني فريق Jest بفتح مشكلة هنا.

  • إصدار Node.js: 10.19.0
  • إصدار jsdom: 15 و 16
  • نسخة الدعابة: 25.1.0

حالة التكاثر الأدنى

import * as React from 'react';

it('should find active element', () => {
    const wrapper = mount(<input />);
    const inputNode = wrapper.find('input').getDOMNode();
    expect(document.activeElement).not.toBe(inputNode);
    inputNode.focus();
    expect(document.activeElement).toBe(inputNode); // fails here with expected being null
});

كيف تتصرف التعليمات البرمجية المماثلة في المتصفحات؟

يجب أن ينعكس العنصر المركز في document.activeElement

ال 3 كومينتر

هذا لا يتبع قالب القضية ؛ يستخدم بناء جملة JavaScript غير صالح ، ويشير إلى وظائف غير محددة.

يرجى تحرير المنشور لاتباع نموذج المشكلة ، وإنتاج نموذج يمكننا تشغيله في Node.js كملف واحد ، ثم إضافة تعليق. أود أيضًا أن أقترح بشدة ارتباطًا بـ jsbin أو ما شابه. في ذلك الوقت يمكننا إعادة فتح هذه المشكلة والنظر فيها.

ومن المثير للاهتمام ، أنه بدون الأشياء المتعلقة بالإنزيم ، فإنه يعمل بشكل جيد:

https://runkit.com/wojtekmaj/jsdom-15-2-16-document-activeelement-issue-ok

ومع ذلك ، أعتقد أنه قد يكون مقترنًا بإحكام بـ # 2586 والذي لا يزال يمثل تراجعًا منذ الإصدار 15.2:

https://runkit.com/wojtekmaj/jsdom-15-2-16-document-activeelement-issue

ذات صلة: إنزيم / إنزيم # 2337

يبدو أن سبب الفاصل هو زيادة صرامة jsdom بشأن عدم تعيين activeElement لعنصر خارج document . يتم الإصلاح من جانب العميل ، باستخدام الوسيطة attachTo لاستدعاء التحميل.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

philipwalton picture philipwalton  ·  4تعليقات

mitar picture mitar  ·  4تعليقات

lehni picture lehni  ·  4تعليقات

drewish picture drewish  ·  4تعليقات

vsemozhetbyt picture vsemozhetbyt  ·  4تعليقات