~rpadovani/oxide/type-info

« back to all changes in this revision

Viewing changes to qt/tests/qmltests/api/tst_ScriptMessageRequest.qml

  • Committer: Riccardo Padovani
  • Date: 2015-10-19 07:56:29 UTC
  • mfrom: (1088.1.131 oxide)
  • Revision ID: riccardo@rpadovani.com-20151019075629-z0mlhwlb9xflkovw
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
    id: spy
14
14
  }
15
15
 
16
 
 
17
16
  TestCase {
18
17
    id: test
19
18
    name: "ScriptMessageRequest"
25
24
             "Timed out waiting for successful load");
26
25
    }
27
26
 
28
 
    function test_ScriptMessageRequest1_onreply() {
 
27
    function test_ScriptMessageRequest1_set_onreply() {
29
28
      var req = webView.rootFrame.sendMessage("http://foo/", "FOO", {});
30
29
      spy.target = req;
31
30
      spy.signalName = "replyCallbackChanged";
49
48
      compare(req.onreply, null, "Unexpected handler");
50
49
    }
51
50
 
52
 
    function test_ScriptMessageRequest2_onerror() {
 
51
    function test_ScriptMessageRequest2_set_onerror() {
53
52
      var req = webView.rootFrame.sendMessage("http://foo/", "FOO", {});
54
53
      spy.target = req;
55
54
      spy.signalName = "errorCallbackChanged";
72
71
      compare(spy.count, 2, "Should have had a signal");
73
72
      compare(req.onerror, null, "Unexpected handler");
74
73
    }
75
 
 
76
 
    function test_ScriptMessageRequest3_invalid_dest() {
77
 
      var req = webView.rootFrame.sendMessage("http://foo/", "GET-DOCUMENT-URI", {});
78
 
      var hasError = false;
79
 
      var errorCode;
80
 
      req.onerror = function(code, msg) {
81
 
        hasError = true;
82
 
        errorCode = code;
83
 
      };
84
 
 
85
 
      verify(webView.waitFor(function() { return hasError; }),
86
 
             "Timed out waiting for error");
87
 
      compare(errorCode, ScriptMessageRequest.ErrorDestinationNotFound,
88
 
              "Unexpected error code");
89
 
    }
90
 
 
91
 
    function test_ScriptMessageRequest4_handler_throws() {
92
 
      var req = webView.rootFrame.sendMessage("oxide://testutils/", "GENERATE-JS-EXCEPTION", {});
93
 
      var hasError = false;
94
 
      var errorCode;
95
 
      req.onerror = function(code, msg) {
96
 
        hasError = true;
97
 
        errorCode = code;
98
 
      };
99
 
 
100
 
      verify(webView.waitFor(function() { return hasError; }),
101
 
             "Timed out waiting for error");
102
 
      compare(errorCode, ScriptMessageRequest.ErrorUncaughtException,
103
 
              "Unexpected error code");
104
 
    }
105
 
 
106
 
    function test_ScriptMessageRequest5_no_handler() {
107
 
      var req = webView.rootFrame.sendMessage("oxide://testutils/", "BLAAAAAAAAAAAAAH", {});
108
 
      var hasError = false;
109
 
      var errorCode;
110
 
      req.onerror = function(code, msg) {
111
 
        hasError = true;
112
 
        errorCode = code;
113
 
      };
114
 
 
115
 
      verify(webView.waitFor(function() { return hasError; }),
116
 
             "Timed out waiting for error");
117
 
      compare(errorCode, ScriptMessageRequest.ErrorNoHandler,
118
 
              "Unexpected error code");
119
 
    }
120
 
 
121
 
    function test_ScriptMessageRequest6_handler_report_error() {
122
 
      var req = webView.rootFrame.sendMessage("oxide://testutils/", "EVALUATE-CODE", { code: "foo" });
123
 
      var hasError = false;
124
 
      var errorCode;
125
 
      req.onerror = function(code, msg) {
126
 
        hasError = true;
127
 
        errorCode = code;
128
 
      };
129
 
 
130
 
      verify(webView.waitFor(function() { return hasError; }),
131
 
             "Timed out waiting for error");
132
 
      compare(errorCode, ScriptMessageRequest.ErrorHandlerReportedError,
133
 
              "Unexpected error code");
134
 
    }
135
 
 
136
 
    function test_ScriptMessageRequest7_handler_no_response() {
137
 
      skip("Currently times out because the renderer side object is never collected");
138
 
      return;
139
 
 
140
 
      var req = webView.rootFrame.sendMessage("oxide://testutils/", "DONT-RESPOND", {});
141
 
      var hasError = false;
142
 
      var errorCode;
143
 
      req.onerror = function(code, msg) {
144
 
        hasError = true;
145
 
        errorCode = code;
146
 
      };
147
 
 
148
 
      verify(webView.waitFor(function() { return hasError; }),
149
 
             "Timed out waiting for error");
150
 
      compare(errorCode, ScriptMessageRequest.ErrorHandlerDidNotRespond,
151
 
              "Unexpected error code");
152
 
    }
153
74
  }
154
75
}