Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / third_party / mock4js / examples / PriceServiceTest.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3
4 <html>
5   <head>
6         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7     <title>Tests</title>
8     <link rel="stylesheet" type="text/css" href="jsunit/css/jsUnitStyle.css">
9     <script language="JavaScript" type="text/javascript" src="../../jsunit/app/jsUnitCore.js"></script>
10     <script language="JavaScript" type="text/javascript" src="../mock4js.js"></script>
11     <script language="JavaScript" type="text/javascript" src="PriceService.js"></script>
12     <script language="JavaScript" type="text/javascript">
13
14                 Mock4JS.addMockSupport(this);
15
16                 var mockPriceFetcher;
17                 var mockPriceCache;
18                 var priceService;
19
20                 function setUp() {
21                         Mock4JS.clearMocksToVerify();
22                         mockPriceFetcher = mock(PriceFetcher);
23                         mockPriceCache = mock(PriceCache);
24                         priceService = new PriceService(mockPriceFetcher.proxy(), mockPriceCache.proxy());
25                 }
26
27                 function tearDown() {
28                         Mock4JS.verifyAllMocks();
29                 }
30
31         function testGetsPriceFromFetcherWhenPriceNotInCache() {
32                 mockPriceCache.expects(once()).getCachedPrice("USDGBP").will(returnValue(null));
33                 mockPriceFetcher.expects(once()).getPriceFromServer("USDGBP").will(returnValue(123.4));
34                 mockPriceCache.expects(once()).setCachedPrice("USDGBP", 123.4);
35
36                 var result = priceService.getPrice("USDGBP");
37
38                 assertEquals("Should have returned price from server", 123.4, result);
39                 }
40
41         function testDoesntGetsPriceFromFetcherWhenPriceAlreadyInCache() {
42                 mockPriceCache.expects(once()).getCachedPrice("USDGBP").will(returnValue(123.4));
43                 mockPriceCache.expects(never()).setCachedPrice();
44                 mockPriceFetcher.expects(never()).getPriceFromServer("USDGBP");
45
46                 var result = priceService.getPrice("USDGBP");
47
48                 assertEquals("Should have returned price from cache", 123.4, result);
49                 }
50
51       </script>
52   </head>
53
54   <body>
55     <h1>JsUnit Tests</h1>
56
57     <p>This page contains some JsUnit tests. To see them, take a look at the source.</p>
58   </body>
59 </html>
60