aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/ui/ac/remotearraymatcher_test.html
blob: 91a451b78920462cd319e7cc5e09d77d3ea2749b (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<!DOCTYPE html>
<html>
<!--
Copyright 2009 The Closure Library Authors. All Rights Reserved.

Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<!--
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Closure Unit Tests - goog.ui.ac.RemoteArrayMatcher</title>
<script src="../../base.js"></script>
<script>
  goog.require('goog.events.KeyCodes');
  goog.require('goog.json');
  goog.require('goog.testing.MockControl');
  goog.require('goog.testing.jsunit');
  goog.require('goog.testing.net.XhrIo');
  goog.require('goog.ui.ac.RemoteArrayMatcher');
</script>
</head>
<body>
<script>

  var url = "http://www.google.com";
  var token = "goog";
  var maxMatches = 5;
  var fullToken = "google";

  var responseJsonText = "['eric', 'larry', 'sergey', 'marissa', 'pupius']";
  var responseJson = goog.json.unsafeParse(responseJsonText);

  var mockControl;
  var mockMatchHandler;


  function setUp() {
    goog.net.XhrIo = goog.testing.net.XhrIo;
    mockControl = new goog.testing.MockControl();
    mockMatchHandler = mockControl.createFunctionMock();
  }

  function testRequestMatchingRows_noSimilarTrue() {
    var matcher = new goog.ui.ac.RemoteArrayMatcher(url);
    mockMatchHandler(token, responseJson);
    mockControl.$replayAll();
    matcher.requestMatchingRows(token, maxMatches, mockMatchHandler, fullToken);
    matcher.xhr_.simulateResponse(200, responseJsonText);
    mockControl.$verifyAll();
    mockControl.$resetAll();
  }

  function testRequestMatchingRows_twoCalls() {
    var matcher = new goog.ui.ac.RemoteArrayMatcher(url);

    var dummyMatchHandler = mockControl.createFunctionMock();

    mockMatchHandler(token, responseJson);
    mockControl.$replayAll();

    matcher.requestMatchingRows(token, maxMatches, dummyMatchHandler,
        fullToken);

    matcher.requestMatchingRows(token, maxMatches, mockMatchHandler, fullToken);
    matcher.xhr_.simulateResponse(200, responseJsonText);
    mockControl.$verifyAll();
    mockControl.$resetAll();
  }
</script>
</body>
</html>