.
Январь 30, 2008

ACID3 готов!

Автор: Павел Ловцевич
Категории: Clientside
Метки: , , , , , , ,
3 Комментария(ев)

Сегодня известный разработчик синтетического теста браузеров на соответствие вебстанадртам ACID, а ныне работник Google, Иан Хиксон сообщил об официальном релизе ACID3. Кроме того, все версии тестов и новости проекта теперь доступны по адресу acidtests.org.

Мы уже рассказывали ранее о нововведениях в ACID3, но не лишним будет повторить, что в отличие от ACID1, проверка которого была сосредоточена на блочной модели, и ACID2, который проверял широкое разнообразие HTML и особенностей CSS, ACID3 осуществляет проверку 100 вероятно уязвимых мест в HTTP, HTML, CSS, ECMAScript, SVG и XML, а также проверяет работу с DOM’ом (без которого сложно представить себе современно веб-приложение).

  • DOM2 Core
  • DOM2 Events
  • DOM2 HTML
  • DOM2 Range
  • DOM2 Style (getComputedStyle, …)
  • DOM2 Traversal (NodeIterator, TreeWalker)
  • DOM2 Views (defaultView)
  • ECMAScript
  • HTML4 (&lgt;object&rgt;, &lgt;iframe&rgt;, …)
  • HTTP (Content-Type, 404, …)
  • Media Queries
  • Selectors (:lang, :nth-child(), combinators, dynamic changes, …)
  • SVG
  • XML
  • XHTML 1.0
  • CSS2 (@font-face)
  • CSS2.1 (’inline-block’, €?pre-wrap’, parsing…)
  • CSS3 Color (rgba(), hsla(), …)
  • CSS3 UI (’cursor’)
  • data: URIs
  • и прочее

Иан Хиксон является также одним из первых авторов спецификации HTML5, также известной как спецификация Web Apps 1.0, и ряда других разработок, как то хранение данных на стороне клиента (client‐side storage) и улучшенные формы (enhanced forms).

Иан написал 64 из 100 тестов, остальные 36 были разработаны совместными усилиями производителей браузеров и независимых веб-разработчиков. Работа над новым Acid3 началась практически в то время, когда разработчики IE8 сообщили о том, что их браузер успешно прошел Acid2. Правда, эта новость в сети была воспринята весьма критично, так как выяснилось, что для этого на стороне сервера пришлось подправить заголовки HTTP.

Обращаем ваше внимание, что для корректного тестирования вашего браузера, вы должны использовать настройки браузера по умолчанию. Изменяя масштабирование страницы, минимальный размер шрифта, применяя “fit-to-width”, или делая другие изменения можно изменить результаты прохождения теста.

Ссылки по теме:

  1. Официальный сайт тестов ACID
  2. Acid3 Browser Test
  3. Acid3 browser test completed, available now
  4. Acid3: Putting Browser Makers on Notice, Again
Январь 17, 2008

ВЕБОРУБ Ice 2008

Автор: Павел Ловцевич
Категории: Мероприятия
Метки: ,
21 Комментария(ев)

ВЕБОРУБ Ice 2008
ВЕБОРУБ – это звание, присваиваемое ведущим веб-разработчикам, либо людям, заслужившим признание других веб-разработчиков.

ВЕБОРУБ – это неконференция, проводимая для того, чтобы ВЕБОРУБы имели возможность в непринужденной обстановке обсудить волнующие их темы.

Формат ВЕБОРУБА нам представляется таким:

  • отсекаем (отрубаем) все лишнее;
  • ни одного спонсора;
  • не рассказывать очевидное, то, что можно найти в открытых источниках, т.е. рассказываем свое видение, мысли, идеи, опыт;
  • нет традиционных докладов – выступления длятся итерационно, до 10 минут (до 5 слайдов, если они нужны).

Основная идея в том – чтоб отдать время на то, что нужно, интересно каждому (что организаторы пытаются выведать в кулуарах).

ВЕБОРУБ Ice 2008 – пройдет 8-10 февраля 2008 года в подмосковном пансионате Бекасово.

Ссылки по теме:

  1. «Официальный сайт ВЕБОРУБа»
  2. Веборуб 2008 Ice – первая НЕконференция
Январь 12, 2008

Встречайте – ACID3

Автор: Павел Ловцевич
Категории: Clientside
Метки: , , , , ,
12 Комментария(ев)

Вчера известный вебразработчик автор теста ACID, для проверки браузеров на соответствие вебстандартам, Иан Хиксон, выложил предварительную новую версию в сеть для всеобщего ознакомления, которая доступна здесь. Автор теста сообщает, что разработка уже практически завершена.

Традиционно тест проверял парсинг HTML и CSS, причем часто не прямым тестированием свойства, а обходным путем, изучая результаты его работы в браузерах. Например, для того чтобы пройти «ужасный» padding/margin тест, браузерам, кроме корректной поддержки CSS, нужно иметь правильную боксовую модель (“box model”).

Что же нового несет в себе ACID3? В первую очередь он главным образом основывается на технологиях ECMAScript и DOM. Разберем, что же именно тестируется, особенно в отношении ECMAScript:

  • Элизия массивов – вещи подобно [,,] должны иметь нулевую длину, а для масива [0,,1] она должна быть равна 3.
  • Методы массива – проверяется возможность добавления нескольких элементов в массив (.unshift(0, 1, 2)) и объединение его с undefined (.join(undefined).)
  • Преобразования чисел – проверяется работа таких методов как .toFixed(), .toExponential() и .toPrecision(), в первую очередь, с дробными и отрицательными чилами.
  • Операции со строками – метод substr() должен уметь работать с отрицательными аргументами (.substr(-7, 3)), доступ к символам строки должен осуществляться по их позиции (”my string”[0]). (это часть спецификации ECMAScript4)
  • Работа с датами – удостовериться, что некоторые методы возвращают NaN (например, d.setMiliseconds() без аргументов), а также что происходит обязательное смещение +1900 лет.
  • Unicode символы в названиях переменных – их использование должно вызывать оÑ?ибку. Например,
    eval("test.i\\u002b= 1;");
  • Регулярные выражения – /[]/ должно соответствовать пустому массиву, а /[])]/ вызывать ошибку. Должны поддерживаться обратные ссылки (backreference) на несуществующие образы и отрицательные lookahed’ы – /(?!test)(test).exec(”test test”).
  • Перечисления (Enumeration) – нужно убедиться, что свойства объекта правильно перечисляются, что доступны свойства с определенными именами (toString, hasOwnProperty, etc)
  • Конструкторы – у пользователя должна быть возможность определять собственные конструктоы в свойстве .constructor, свойство .constructor не должно быть в перечислении, а свойство .prototype.constructor должно быть удаляемым.
  • Функции – возможность вызывать функцию по имени из самой себя, прямое изменение ее имени должно быть запрещено(только используя массивы функций). (function test(){ … })(); – «test» не должен быть виден в родительской области.
  • Ошибки – переменные в блоке catch(){} должны в первую очередь работать с аргументами catch(), а затем уже с родительскими. Например
    
    var e = "my name";
    try
    {
    ...//некий код
    }
    catch(e)
    {
    alert(e);
    }

    не должно выводить “my name”.

  • Операции присваивания – s = a.length = “123″; – a.length должно возвращать 123, а не 3
  • Кодировки – encodeURI() и encodeURIComponent() должны корректно работать с нулевыми байтами.

В общем и целом, это был широкий, однако достаточно поверхностный обзор суровых, но обязательных к исполнению требований спецификации ECMAScript. Открыв свой любимый браузер, вы просто обречены найти как минимум одно из этих требований невыполненным.

Подробности автор теста обещает представить уже в ближайшие дни.

И напоследок, предварительные результаты тестирования НЕЗАКОНЧЕННОГО Acid 3 над НЕЗАКОНЧЕННЫМИ? версиями наиболее популярных браузеров, которые предоставил автор. Мы проверили, все сходится! =)

Вот эталон, который должен показать браузер.

ACID3 Reference


Firefox 2.x

ACID3 Firefox 2.x


Firefox 3.0b2

ACID3 Firefox 3.0b2


Safari 3

ACID3 Safari 3


WebKit Nightly

ACID3 WebKit Nightly


Opera 9.5b1

ACID3 Opera 9.5b1


Internet Explorer 7

ACID3 Internet Explorer 7


Ссылки по теме:

  1. Предварительное зеркало теста.
  2. Запись автора Джона Резига в личном блоге.