Changeset 1918 for trunk/autoquest-core-usability-test/src/test/java/de/ugoe/cs/autoquest/usability/TextInputStatisticsRuleTest.java
- Timestamp:
- 03/12/15 15:50:28 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-usability-test/src/test/java/de/ugoe/cs/autoquest/usability/TextInputStatisticsRuleTest.java
r1335 r1918 15 15 package de.ugoe.cs.autoquest.usability; 16 16 17 import static de.ugoe.cs.autoquest.usability.UsabilityDefectDescription.TEXT_FIELD_INPUT_RATIO; 18 import static de.ugoe.cs.autoquest.usability.UsabilityDefectDescription.TEXT_FIELD_INPUT_REPETITIONS; 19 import static de.ugoe.cs.autoquest.usability.UsabilityDefectDescription.TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO; 20 import static de.ugoe.cs.autoquest.usability.UsabilityDefectSeverity.HIGH; 21 import static de.ugoe.cs.autoquest.usability.UsabilityDefectSeverity.INFO; 22 import static de.ugoe.cs.autoquest.usability.UsabilityDefectSeverity.LOW; 23 import static de.ugoe.cs.autoquest.usability.UsabilityDefectSeverity.MEDIUM; 17 import static de.ugoe.cs.autoquest.usability.UsabilitySmellDescription.TEXT_FIELD_INPUT_RATIO; 18 import static de.ugoe.cs.autoquest.usability.UsabilitySmellDescription.TEXT_FIELD_INPUT_REPETITIONS; 19 import static de.ugoe.cs.autoquest.usability.UsabilitySmellDescription.TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO; 24 20 25 21 import org.junit.Test; 26 22 27 import de.ugoe.cs.autoquest.usability.Usability Defect;23 import de.ugoe.cs.autoquest.usability.UsabilitySmell; 28 24 29 25 /** … … 45 41 "}"; 46 42 47 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 48 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO) }; 49 50 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 43 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 44 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 45 TEXT_FIELD_INPUT_RATIO) }; 46 47 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 51 48 52 49 } … … 68 65 "}"; 69 66 70 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 71 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO) }; 72 73 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 67 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 68 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 69 TEXT_FIELD_INPUT_RATIO) }; 70 71 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 74 72 75 73 } … … 92 90 "}"; 93 91 94 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 95 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO) }; 96 97 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 92 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 93 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 94 TEXT_FIELD_INPUT_RATIO) }; 95 96 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 98 97 99 98 } … … 115 114 "}"; 116 115 117 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 118 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO) }; 119 120 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 116 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 117 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 118 TEXT_FIELD_INPUT_RATIO) }; 119 120 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 121 121 122 122 } … … 177 177 "}"; 178 178 179 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 180 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO) }; 181 182 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 179 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 180 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 181 TEXT_FIELD_INPUT_RATIO) }; 182 183 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 183 184 } 184 185 … … 202 203 "}"; 203 204 204 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 205 { new UsabilityDefect(LOW, TEXT_FIELD_INPUT_RATIO) }; 206 207 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 205 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 206 { new UsabilitySmell(/*LOW*/ UsabilitySmellIntensity.getIntensity(0), 207 TEXT_FIELD_INPUT_RATIO) }; 208 209 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 208 210 } 209 211 … … 227 229 "}"; 228 230 229 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 230 { new UsabilityDefect(INFO, TEXT_FIELD_INPUT_RATIO) }; 231 232 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 231 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 232 { new UsabilitySmell(/*INFO*/ UsabilitySmellIntensity.getIntensity(0), 233 TEXT_FIELD_INPUT_RATIO) }; 234 235 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 233 236 234 237 } … … 254 257 "}"; 255 258 256 Usability Defect[] expectedDefects = new UsabilityDefect[0];257 258 assertUsabilityEvaluationResult(expected Defects, rule.evaluate(createTaskModel(spec)));259 UsabilitySmell[] expectedSmells = new UsabilitySmell[0]; 260 261 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 259 262 260 263 } … … 276 279 "}"; 277 280 278 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 279 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO) }; 280 281 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 281 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 282 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 283 TEXT_FIELD_INPUT_RATIO) }; 284 285 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 282 286 283 287 } … … 342 346 "}"; 343 347 344 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 345 { new UsabilityDefect(LOW, TEXT_FIELD_INPUT_RATIO) }; 346 347 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 348 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 349 { new UsabilitySmell(/*LOW*/ UsabilitySmellIntensity.getIntensity(0), 350 TEXT_FIELD_INPUT_RATIO) }; 351 352 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 348 353 349 354 } … … 408 413 "}"; 409 414 410 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 411 { new UsabilityDefect(INFO, TEXT_FIELD_INPUT_RATIO) }; 412 413 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 415 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 416 { new UsabilitySmell(/*INFO*/ UsabilitySmellIntensity.getIntensity(0), 417 TEXT_FIELD_INPUT_RATIO) }; 418 419 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 414 420 } 415 421 … … 430 436 "}"; 431 437 432 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 433 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 434 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 435 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS) }; 436 437 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 438 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 439 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 440 TEXT_FIELD_INPUT_RATIO), 441 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 442 TEXT_FIELD_INPUT_REPETITIONS), 443 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 444 TEXT_FIELD_INPUT_REPETITIONS) }; 445 446 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 438 447 } 439 448 … … 462 471 "}"; 463 472 464 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 465 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 466 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 467 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 468 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 469 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 470 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 471 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 472 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 473 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 474 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 475 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 476 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 477 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS) }; 478 479 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 473 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 474 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 475 TEXT_FIELD_INPUT_RATIO), 476 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 477 TEXT_FIELD_INPUT_REPETITIONS), 478 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 479 TEXT_FIELD_INPUT_REPETITIONS), 480 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 481 TEXT_FIELD_INPUT_REPETITIONS), 482 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 483 TEXT_FIELD_INPUT_REPETITIONS), 484 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 485 TEXT_FIELD_INPUT_REPETITIONS), 486 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 487 TEXT_FIELD_INPUT_REPETITIONS), 488 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 489 TEXT_FIELD_INPUT_REPETITIONS), 490 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 491 TEXT_FIELD_INPUT_REPETITIONS), 492 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 493 TEXT_FIELD_INPUT_REPETITIONS), 494 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 495 TEXT_FIELD_INPUT_REPETITIONS), 496 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 497 TEXT_FIELD_INPUT_REPETITIONS), 498 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 499 TEXT_FIELD_INPUT_REPETITIONS) }; 500 501 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 480 502 481 503 } … … 501 523 "}"; 502 524 503 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 504 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 505 new UsabilityDefect(MEDIUM, TEXT_FIELD_INPUT_REPETITIONS), 506 new UsabilityDefect(MEDIUM, TEXT_FIELD_INPUT_REPETITIONS) }; 507 508 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 525 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 526 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 527 TEXT_FIELD_INPUT_RATIO), 528 new UsabilitySmell(/*MEDIUM*/ UsabilitySmellIntensity.getIntensity(0), 529 TEXT_FIELD_INPUT_REPETITIONS), 530 new UsabilitySmell(/*MEDIUM*/ UsabilitySmellIntensity.getIntensity(0), 531 TEXT_FIELD_INPUT_REPETITIONS) }; 532 533 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 509 534 510 535 } … … 530 555 "}"; 531 556 532 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 533 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 534 new UsabilityDefect(LOW, TEXT_FIELD_INPUT_REPETITIONS), 535 new UsabilityDefect(LOW, TEXT_FIELD_INPUT_REPETITIONS) }; 536 537 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 557 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 558 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 559 TEXT_FIELD_INPUT_RATIO), 560 new UsabilitySmell(/*LOW*/ UsabilitySmellIntensity.getIntensity(0), 561 TEXT_FIELD_INPUT_REPETITIONS), 562 new UsabilitySmell(/*LOW*/ UsabilitySmellIntensity.getIntensity(0), 563 TEXT_FIELD_INPUT_REPETITIONS) }; 564 565 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 538 566 539 567 } … … 565 593 "}"; 566 594 567 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 568 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 569 new UsabilityDefect(INFO, TEXT_FIELD_INPUT_REPETITIONS), 570 new UsabilityDefect(INFO, TEXT_FIELD_INPUT_REPETITIONS) }; 571 572 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 595 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 596 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 597 TEXT_FIELD_INPUT_RATIO), 598 new UsabilitySmell(/*INFO*/ UsabilitySmellIntensity.getIntensity(0), 599 TEXT_FIELD_INPUT_REPETITIONS), 600 new UsabilitySmell(/*INFO*/ UsabilitySmellIntensity.getIntensity(0), 601 TEXT_FIELD_INPUT_REPETITIONS) }; 602 603 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 573 604 574 605 } … … 595 626 "}"; 596 627 597 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 598 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 599 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 600 new UsabilityDefect(MEDIUM, TEXT_FIELD_INPUT_REPETITIONS) }; 601 602 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 628 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 629 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 630 TEXT_FIELD_INPUT_RATIO), 631 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 632 TEXT_FIELD_INPUT_REPETITIONS), 633 new UsabilitySmell(/*MEDIUM*/ UsabilitySmellIntensity.getIntensity(0), 634 TEXT_FIELD_INPUT_REPETITIONS) }; 635 636 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 603 637 } 604 638 … … 623 657 "}"; 624 658 625 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 626 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 627 new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_REPETITIONS), 628 new UsabilityDefect(LOW, TEXT_FIELD_INPUT_REPETITIONS) }; 629 630 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 659 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 660 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 661 TEXT_FIELD_INPUT_RATIO), 662 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 663 TEXT_FIELD_INPUT_REPETITIONS), 664 new UsabilitySmell(/*LOW*/ UsabilitySmellIntensity.getIntensity(0), 665 TEXT_FIELD_INPUT_REPETITIONS) }; 666 667 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 631 668 } 632 669 … … 646 683 "}"; 647 684 648 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 649 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 650 new UsabilityDefect(HIGH, TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 651 652 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 685 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 686 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 687 TEXT_FIELD_INPUT_RATIO), 688 new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 689 TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 690 691 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 653 692 654 693 } … … 669 708 "}"; 670 709 671 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 672 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 673 new UsabilityDefect(MEDIUM, TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 674 675 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 710 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 711 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 712 TEXT_FIELD_INPUT_RATIO), 713 new UsabilitySmell(/*MEDIUM*/ UsabilitySmellIntensity.getIntensity(0), 714 TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 715 716 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 676 717 677 718 } … … 692 733 "}"; 693 734 694 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 695 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 696 new UsabilityDefect(LOW, TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 697 698 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 735 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 736 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 737 TEXT_FIELD_INPUT_RATIO), 738 new UsabilitySmell(/*LOW*/ UsabilitySmellIntensity.getIntensity(0), 739 TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 740 741 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 699 742 700 743 } … … 716 759 "}"; 717 760 718 UsabilityDefect[] expectedDefects = new UsabilityDefect[] 719 { new UsabilityDefect(HIGH, TEXT_FIELD_INPUT_RATIO), 720 new UsabilityDefect(INFO, TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 721 722 assertUsabilityEvaluationResult(expectedDefects, rule.evaluate(createTaskModel(spec))); 761 UsabilitySmell[] expectedSmells = new UsabilitySmell[] 762 { new UsabilitySmell(/*HIGH*/ UsabilitySmellIntensity.getIntensity(0), 763 TEXT_FIELD_INPUT_RATIO), 764 new UsabilitySmell(/*INFO*/ UsabilitySmellIntensity.getIntensity(0), 765 TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO) }; 766 767 assertUsabilityEvaluationResult(expectedSmells, rule.evaluate(createTaskModel(spec))); 723 768 724 769 }
Note: See TracChangeset
for help on using the changeset viewer.