11e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// found in the LICENSE file.
41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "net/websockets/websocket_deflate_predictor_impl.h"
61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
71e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "base/basictypes.h"
81e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "base/memory/scoped_vector.h"
91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "net/websockets/websocket_frame.h"
101e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace net {
131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
141e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace {
151e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)typedef WebSocketDeflatePredictor::Result Result;
171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)TEST(WebSocketDeflatePredictorImpl, Predict) {
191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  WebSocketDeflatePredictorImpl predictor;
201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  ScopedVector<WebSocketFrame> frames;
211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  frames.push_back(new WebSocketFrame(WebSocketFrameHeader::kOpCodeText));
221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  Result result = predictor.Predict(frames, 0);
231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
241e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  EXPECT_EQ(WebSocketDeflatePredictor::DEFLATE, result);
251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}  // namespace
281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}  // namespace net
30