Conversation
|
@markitosha давай сделаем пулл на wbr ветку? |
|
|
||
| it('should parse "<DIV><a><img/></A><p></P></div>.." fast', function() { | ||
|
|
||
| console.time('timer'); |
|
|
||
| describe('Matcher', function() { | ||
|
|
||
| it('should match corrent elements', function() { |
There was a problem hiding this comment.
Потому что я целиком убрала класс Matcher. Он нужен был для работы querySelector, но так как мы проходимся по всему дереву когда собираем html, то им мы не пользуемся
| return makeState(IS_SELF_CLOSING, match, bracketStack); | ||
| } | ||
|
|
||
| match[3] += sym; |
There was a problem hiding this comment.
потому что символ '/' вполне себе может оказаться внутри атрибутов. Если у нас счетчик открытых скобок не равен 1, значит он точно лежит внутри атрибута и надо его добавить в строку атрибутов
| default: | ||
| match[3] += sym; | ||
| return makeState(READ_ATTRIBUTES, match, bracketStack); | ||
| } |
There was a problem hiding this comment.
@markitosha тут точно нужно что бы в случае case '<' выполнялся default
There was a problem hiding this comment.
да, добавила комментарий
| exec: function (str) { | ||
| var state = { | ||
| state: INITIAL, | ||
| match: ['', '', '', '', ''], |
There was a problem hiding this comment.
@markitosha наверно будет неплохо написать, что именно ты ожидаешь в этих 5 элементах в итоге. Вообще будет неплохо, если ты напишешь доку, что именно тут переделано и почему.
There was a problem hiding this comment.
@markitosha давай зададим эти элементы иначе
сделай 5 констант, обзови их ожидаемыми результатами и обращайся к ним по этим константам
| var lastIndex = 0; | ||
|
|
||
| function makeState(state, match, bracketStack ) { | ||
| return { |
| return { | ||
| exec: function (str) { | ||
| var state = { | ||
| state: INITIAL, |
There was a problem hiding this comment.
@markitosha не очень-то у объекта state делать поле state
| var state = { | ||
| state: INITIAL, | ||
| match: ['', '', '', '', ''], | ||
| bracketStack: 0 |
There was a problem hiding this comment.
@markitosha ну еще я привык, что стэк это какой-то массив или список... тут скорее counter в имени применить... openedBracketCounter
|
|
||
| /** | ||
| * Make state object from params | ||
| * @param {string} status next parcer status |
| } | ||
| } | ||
|
|
||
| // Status functions that determine the processing of the next character |
There was a problem hiding this comment.
@markitosha "processing of the next character" читаю как обработку следующего символа, а других статусов для обработки следующего символа не бывает что ли?
|
👍 |
No description provided.