Blame view

vendor/ezyang/htmlpurifier/smoketests/innerHTML.js 1.29 KB
abf1649b   andryeyev   Чистая установка ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  var alphabet = 'a!`=[]\\;\':"/<> &';
  
  var out             = document.getElementById('out');
  var testContainer   = document.getElementById('testContainer');
  
  function print(s) {
      out.value += s + "\n";
  }
  
  function testImage() {
      return testContainer.firstChild;
  }
  
  function test(input) {
      var count = 0;
      var oldInput, newInput;
      testContainer.innerHTML = "<img />";
      testImage().setAttribute("alt", input);
      print("------");
      print("Test input: " + input);
      do {
          oldInput = testImage().getAttribute("alt");
          var intermediate = testContainer.innerHTML;
          print("Render: " + intermediate);
          testContainer.innerHTML = intermediate;
          if (testImage() == null) {
              print("Image disappeared...");
              break;
          }
          newInput = testImage().getAttribute("alt");
          print("New value: " + newInput);
          count++;
      } while (count < 5 && newInput != oldInput);
      if (count == 5) {
          print("Failed to achieve fixpoint");
      }
      testContainer.innerHTML = "";
  }
  
  print("Go!");
  
  test("`` ");
  test("'' ");
  
  for (var i = 0; i < alphabet.length; i++) {
      for (var j = 0; j < alphabet.length; j++) {
          test(alphabet.charAt(i) + alphabet.charAt(j));
      }
  }
  
  // document.getElementById('out').textContent = alphabet;