Насмешливый FileReference.data с mockolate?

Я пытаюсь смоделировать FileReference в проекте Flex, над которым я работаю.

Удаление некоторых свойств, таких как имя и размер, работает нормально, но данные просто отказываются работать. Вот код, который иллюстрирует проблему:

[Test]
public function FileReferenceMockTest():void {
    var frMock:FileReference = nice(FileReference);
    var bytes:ByteArray = new ByteArray();
    stub(frMock).getter("data").returns(bytes);
    stub(frMock).getter("name").returns("filename");
    assertThat(frMock.name, equalTo("filename")); // works
    assertThat(frMock.data, sameInstance(bytes)); // Fails and says that frMock.data is null
}

Если я устанавливаю точку останова и проверяю frMock в отладчике, это выглядит так:

frMock
    [inherited]
        data = null
    creationDate = null
    creator = null
    modificationDate = null
    name = "filename"
    __proxy__ = InterceptorProxyListener
    ...

Как видите, макет обрабатывает данные по-разному.

Я уже несколько часов бьюсь головой об этой проблеме и действительно могу использовать некоторую помощь, чтобы понять это.

Обновить:
Код работает при запуске в виде проекта библиотеки Flex или проекта Flex (Air). Когда код запускается в плагине браузера, происходит сбой. Проверка в отладчике в проекте библиотеки также показывает, что свойство данных не вложено в [Inherited], а находится на том же уровне, что и другие свойства.

Обновить:
Я столкнулся с той же проблемой с URLLoader, но на этот раз наоборот. Пересмешивание URLLoader работает только при запуске тестов в плагине браузера.
Поскольку я создаю класс для локальной и удаленной загрузки файлов, используя FileReference или URLLoader, в зависимости от ввода, я фактически не могу полностью протестировать этот класс.:(

0 ответов

Другие вопросы по тегам