Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: third_party/pkg/angular/playback_middleware/spec/middleware_spec.js

Issue 124053002: Adding Angular and dependent packages for testing (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 var middleware = require('../lib/middleware.js');
2
3 describe('middleware', function() {
4 var m, next, playImpl;
5 beforeEach(function() {
6 playImpl = { burn: false,
7 record: jasmine.createSpy('record'),
8 playback: jasmine.createSpy('playback')
9 };
10 m = middleware.endpoint({
11 playbackImpl: playImpl
12 });
13 next = jasmine.createSpy('next');
14 });
15
16
17 it('should call next() for requests it does not handle', function() {
18 m({url: '/notrecord'}, undefined, next);
19 expect(next).toHaveBeenCalled();
20 });
21
22 it('should call playback.record for POST requests', function() {
23 var req = jasmine.createSpy('req');
24 var res = {
25 writeHead: jasmine.createSpy('writeHead'),
26 end: jasmine.createSpy('end')
27 };
28
29 req.url = '/record';
30 req.method = 'POST';
31 var dataCb, endCb;
32 req.on = function(type, cb) {
33 if (type == 'data') dataCb = cb;
34 else if (type == 'end') endCb = cb;
35 else throw "Unknown type " + type;
36 };
37
38 m(req, res, next);
39
40 dataCb('{"key": "K",');
41 dataCb('"data": "V"}');
42 endCb();
43
44 expect(next).not.toHaveBeenCalled();
45 expect(playImpl.record).toHaveBeenCalledWith('K', 'V');
46 expect(res.writeHead).toHaveBeenCalledWith(200);
47 expect(res.end).toHaveBeenCalled();
48 });
49
50
51 it('should call playback.playback for GET requests', function() {
52 var req = {
53 url: '/record',
54 method: 'GET'
55 };
56
57 var res = {
58 writeHead: jasmine.createSpy('writeHead'),
59 end: jasmine.createSpy('end')
60 };
61
62 playImpl.playback.andReturn('data from a dart file');
63
64 m(req, res, next);
65
66 expect(next).not.toHaveBeenCalled();
67 expect(playImpl.playback).toHaveBeenCalled();
68 expect(res.writeHead).toHaveBeenCalledWith(200, {
69 'Content-Type' : 'application/dart',
70 'Content-Length' : 21 });
71 expect(res.end).toHaveBeenCalledWith('data from a dart file');
72 });
73 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698