tel8618217223380 / oasychev-moodle-plugins

Automatically exported from code.google.com/p/oasychev-moodle-plugins
0 stars 0 forks source link

Баги в athoring tool #235

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Начал тестировать перед релизом, нашлись 
баги/замечания/вещи, по поводу которых 
стоит посоветоваться. Не знал, куда 
написать, ибо баги касались и дерева и 
графа и описания.

Original issue reported on code.google.com by grvl...@gmail.com on 12 Oct 2013 at 4:57

GoogleCodeExporter commented 9 years ago
38. при выделении \b в графе исчезает 
подмаска с модификатором
ab((?i))\b\scd
39. на графе никак не отображается 
модификатор, и если его взять в скобки тоже. 
даже при выделении, хотя в 38 тесте он 
успешно выделяется
ab(?i)cd
40. при выделении модификатора в графе в 
подмаску попадают лишние узлы слева
ab((?i)3+)cd
http://prntscr.com/20cpqs
41. в графе в подмаску попадают лишние узлы 
слева
a((?i)?3)b
http://prntscr.com/20cr6h
42. элемента лезут друг на друга при 
выделении пустоты в 4ой подмаске
(a|((())|()|)(a)(\b))b
http://prntscr.com/20ctss
43. при выделении ассертов, кроме 2х 
последних, появляются лишние точки
(^$^^$$)+
http://prntscr.com/20cwr1
44. при выделении символа w (он тут один, всё 
остальное символьные классы) граф 
отрисовывается странно, хотя, вроде, 
правильно
($((|||||||||||||||\w\w\ww\w\w\w\w|||||||||||)3+)$)*
http://prntscr.com/20czdi
45. в графе визуально не различимы 
модификатор и пустота, если они в одной 
подмаске
((?i)|)
http://prntscr.com/20d1c6
46. в дереве пустые узлы
\Q(\G\\\1)+\E
http://prntscr.com/20d46a
47.при выделении \ в графе отображается 
пустой узел
\Q\A|3A3\E
http://prntscr.com/20d5je
48. при выделении всего регулярного 
выражения в самом регулярном выражении и 
нажатии на кнопку "отобразить" выделение 
пропадает. при выделении всего, кроме \Q всё 
выделяется
\Q\"A|3A3

Original comment by grvl...@gmail.com on 28 Oct 2013 at 8:11

GoogleCodeExporter commented 9 years ago
39 на графе модификаторы отображаться не 
должны, сколько об этом говорить? Они могут 
влиять на цвет вершин, еще некоторые вещи - 
но напрямую не отображаются...

Original comment by oasyc...@gmail.com on 28 Oct 2013 at 8:17

GoogleCodeExporter commented 9 years ago
46,47,48 пофикшено

Original comment by vostreltsov@gmail.com on 28 Oct 2013 at 9:20

GoogleCodeExporter commented 9 years ago
49
 (||a||b|c||)(|e)
в дереве выделяем пустоту - самую правую у 
левой альтернативы
в выражении выделяется вертикальная черта

Original comment by oasyc...@gmail.com on 28 Oct 2013 at 10:35

GoogleCodeExporter commented 9 years ago
38, 40, 41 и ещё вчера исправлено.

Original comment by ZluMYO@gmail.com on 29 Oct 2013 at 3:40

GoogleCodeExporter commented 9 years ago
50
регулярное выражение:
\A(a|)
тестовая строка:
0ab
результат тестирования не отображается в 
списке строк

результаты матчинга это строки:
object(qtype_preg_matching_results)#201 (9) {
  ["full"]=>
  bool(true)
  ["indexfirst"]=>
  array(3) {
    [-2]=>
    int(0)
    [0]=>
    int(0)
    [1]=>
    int(0)
  }
  ["length"]=>
  array(3) {
    [-2]=>
    int(0)
    [0]=>
    int(0)
    [1]=>
    int(0)
  }
  ["left"]=>
  int(0)
  ["extendedmatch"]=>
  NULL
  ["extensionstart"]=>
  int(0)
  ["str":protected]=>
  object(qtype_poasquestion_string)#62 (2) {
    ["fstring":"qtype_poasquestion_string":private]=>
    string(3) "0ab"
    ["flength":"qtype_poasquestion_string":private]=>
    int(3)
  }
  ["maxsubexpr":protected]=>
  int(1)
  ["subexprmap":protected]=>
  array(0) {
  }
}

в связи с этим рендерер возвращает 
следующую строку:
<img 
src="http://localhost/moodle/theme/image.php/standard/core/1391459339/i/grade_co
rrect" alt="Correct" class="questioncorrectnessicon" /><br />

Original comment by grvl...@gmail.com on 7 Feb 2014 at 4:41

GoogleCodeExporter commented 9 years ago
50 - fixed; в вопросе это сделано нарочно - 
ситуация больно странная для студента - 
ответ правильный, но все буквы - 
неправильные.... Это рождает немое 
изумление, лучше строку не показывать. 
Тестирование теперь отрабатывает это 
отдельно.

Original comment by oasyc...@gmail.com on 15 Feb 2014 at 3:58

GoogleCodeExporter commented 9 years ago
Случайно нашёл такую ситуацию в отрисовке 
дерева.
http://i.imgur.com/tEPqT0q.png
Вроде бы показывать квадратные скобки 
можно и явно...

Original comment by ZluMYO@gmail.com on 21 Feb 2014 at 10:24

GoogleCodeExporter commented 9 years ago
Извиняюсь, после прочтения требований к 
графвизу в последнем коммите проблема 
отпала.

Original comment by ZluMYO@gmail.com on 21 Feb 2014 at 10:29

GoogleCodeExporter commented 9 years ago
51. стрелки шалят в графе
http://prntscr.com/34wz7k
(a|b)|(((a|b)+)+)+

Original comment by grvl...@gmail.com on 28 Mar 2014 at 6:24

GoogleCodeExporter commented 9 years ago
52. Рекурсия (и вообще вызов подвыражения) в 
дереве отображается огромной надписью 
прямо в узле, что не соответствует общей 
политике дерева на показ символического 
отображения в узле и объяснения в тултипе 
(да и некрасива в дереве такая надпись).
Григорий - по идее ваше, исправьте.

53. Кстати, всем. Вызовы подвыражений  (?1) и 
т.д. могут быть как рекурсивными, так и нет - 
все зависит от того, находятся ли они 
внутри соответствующих подвыражений. По 
идее все надписи должны включать слово 
"рекурсивный" только если вызов и впрямь 
рекурсивный, иначе это просто вместо 
копирования подвыражения используется. 
Надо проверить строки и исправить если что 
не так. (?R) конечно всегда рекурсивно, т.к. 
это вызов всего выражения, оно внутри по 
определению.

Original comment by oasyc...@gmail.com on 3 Apr 2014 at 11:01

GoogleCodeExporter commented 9 years ago
Предлагаю тогда leaf_recursion переименовать в 
leaf_subexpr_call и добавить ему поле isrecursive, 
вычисляемое парсером.
Тогда в lang добавить одну строку типа 
"(recursive)" и прилеплять ее к рекурсивным 
вызовам.
При построении автомата тогда копипастить 
подвыражения для нерекурсивных вызовов

Original comment by vostreltsov@gmail.com on 4 Apr 2014 at 6:36

GoogleCodeExporter commented 9 years ago
Насчет узла/поля согласен. Насчет строки не 
думаю, что нужны скобки - слово 
"рекурсивный" можно встроить в фразу и без 
них.
В автомате да, можно копипастить...

Original comment by oasyc...@gmail.com on 4 Apr 2014 at 12:50

GoogleCodeExporter commented 9 years ago
Узел\поле сделал.

Предлагаю еще кстати в узлы обратной 
ссылки, вызова подвыражения и подобных 
добавить поле name, чтобы можно было легко 
получить и номер, и имя. Сейчас там всякие 
выкрутасы типа is_string($node->number) во многих 
местах, можно было бы проверять просто name !== 
null

Original comment by vostreltsov@gmail.com on 4 Apr 2014 at 2:56

GoogleCodeExporter commented 9 years ago
Может все-таки всегда заносить номер в number - 
а имя, если нужно, по карте искать? А то 
дублирование информации выходит, лучше бы 
ее аккуратно в одном месте иметь. Номер 
есть всегда. А в карте наверное придется 
тогда имя по номеру сделать, если сейчас не 
так....

Original comment by oasyc...@gmail.com on 4 Apr 2014 at 3:05

GoogleCodeExporter commented 9 years ago
Теперь в графе есть надпись для случая 
рекурсивного вызова подмаски.

Original comment by ZluMYO@gmail.com on 7 Apr 2014 at 6:42

GoogleCodeExporter commented 9 years ago
дерево тоже поправлено на случай 
рекурсивного вызова подмаски

Original comment by grvl...@gmail.com on 9 Apr 2014 at 7:37

GoogleCodeExporter commented 9 years ago
54. При выделении части части регулярного 
выражения в тестировании на строках ничего 
не выделяется

Original comment by grvl...@gmail.com on 10 Apr 2014 at 7:27

GoogleCodeExporter commented 9 years ago
55. на относительно большой регулярке dot 
начинает строить свои выкрутасы
http://prntscr.com/3iwmmo
a|bваыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы�
�ыыыыыыыыыыывввввввввввввввввввввввввввв�
�ввввввввввввввввввввввввввввввввввввввв�
�ввввввввввввв

Original comment by grvl...@gmail.com on 13 May 2014 at 6:50

GoogleCodeExporter commented 9 years ago
54 сейчас вроде работает, у вас - нет?

Original comment by oasyc...@gmail.com on 13 May 2014 at 10:52

GoogleCodeExporter commented 9 years ago
56. проблемы дота с кучей альтернатив
http://prntscr.com/44lrc9
A|A|A|A||A|||||A||A|A||A|A||||||A|A|A|A||A

57. нет возможности выделить парочку 
простых ассертов по серединке в графе
http://prntscr.com/44lsyk
^$^^^^$$$$$$

58. проблемы с выделением подряд идущих 
простых ассертов в графе
http://prntscr.com/44ltu4
^$^^^^$$$$$$

Original comment by grvl...@gmail.com on 21 Jul 2014 at 5:40

GoogleCodeExporter commented 9 years ago
Ну 6 это скорее проблемы дота, 57 мы тоже 
врядли сделаем - а вот 58 надо бы срочно 
пофиксить, явный баг...

Original comment by oasyc...@gmail.com on 21 Jul 2014 at 6:00

GoogleCodeExporter commented 9 years ago
Иванову - еще обратите внимание, короткий 
десятичный номер ревизии - внутренний для 
вашего репозитория (т.е. у других этот номер 
может иметь совсем не та ревизия - это 
особенность дистанционного контроля 
версий), упоминать его нигде не следует. 
Если нужно в сообщении упомянуть ревизию - 
необходимо использовать длинный 
шестнадцатеричный номер, он уникален для 
ревизии и во всех репозиториях будет 
одинаков для нее.

когда исправите 58? 

Original comment by oasyc...@gmail.com on 21 Jul 2014 at 6:03

GoogleCodeExporter commented 9 years ago
Баг 58 частично исправлен: промежуточные 
стрелки между простыми ассертами не 
выделяются. Решение оставшейся части 
оказалось не столь тривиальным и потребует 
некоторого перелопачивания кода...

Original comment by ZluMYO@gmail.com on 21 Jul 2014 at 8:54

GoogleCodeExporter commented 9 years ago
59. при выделении самой верхней в дереве 
конкатенации граф исчезает
a{2}(?:ba){2}b

60. не понятно откуда взялось два 
прямоугольника
http://prntscr.com/4l8u9z
cbbababa

61. не могу выделить зажав левую кнопку мыши 
часть регулярного выражения в самом 
регулярном выражении: автоматически 
выделяется полностью

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

Original comment by grvl...@gmail.com on 9 Sep 2014 at 6:38

GoogleCodeExporter commented 9 years ago
59 и 60 исправлены.

Original comment by ZluMYO@gmail.com on 10 Sep 2014 at 5:40

GoogleCodeExporter commented 9 years ago
Ну а 61 м 62 мы собираемся исправлять?! Чего 
тянем то?

Original comment by oasyc...@gmail.com on 18 Sep 2014 at 6:13

GoogleCodeExporter commented 9 years ago
После последних обновлений 61 работает, 62 
исправлено

Original comment by grvl...@gmail.com on 19 Sep 2014 at 12:59

GoogleCodeExporter commented 9 years ago
Авторинг на 2.8 падает вот с такими ошибками 
в консоли chrome:
Uncaught TypeError: undefined is not a function 
preg_authoring_tools_script.js:formatted:175
Uncaught TypeError: undefined is not a function 
preg_authoring_tools_script.js:formatted:186

Original comment by grvl...@gmail.com on 17 Nov 2014 at 9:10

GoogleCodeExporter commented 9 years ago
Хватит уже, на новые релизы будем новые issue 
заводить...

Original comment by oasyc...@gmail.com on 1 Mar 2015 at 10:34