158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "net/websockets/websocket_errors.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
7b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "net/base/net_errors.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace net {
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace {
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
13b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Confirm that the principle classes of errors are converted correctly. We
14b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// don't exhaustively test every error code, as it would be long, repetitive,
15b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// and add little value.
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(WebSocketErrorToNetErrorTest, ResultsAreCorrect) {
17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  EXPECT_EQ(OK, WebSocketErrorToNetError(kWebSocketNormalClosure));
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  EXPECT_EQ(ERR_WS_PROTOCOL_ERROR,
19b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)            WebSocketErrorToNetError(kWebSocketErrorProtocolError));
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  EXPECT_EQ(ERR_MSG_TOO_BIG,
21b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)            WebSocketErrorToNetError(kWebSocketErrorMessageTooBig));
22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  EXPECT_EQ(ERR_CONNECTION_CLOSED,
23b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)            WebSocketErrorToNetError(kWebSocketErrorNoStatusReceived));
24b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  EXPECT_EQ(ERR_SSL_PROTOCOL_ERROR,
25b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)            WebSocketErrorToNetError(kWebSocketErrorTlsHandshake));
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace net
30