Home | History | Annotate | Download | only in jingle_glue
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "remoting/jingle_glue/network_settings.h"
      6 #include "testing/gtest/include/gtest/gtest.h"
      7 
      8 namespace remoting {
      9 
     10 TEST(ParsePortRange, Basic) {
     11   int min, max;
     12 
     13   // Valid range
     14   EXPECT_TRUE(NetworkSettings::ParsePortRange("1-65535", &min, &max));
     15   EXPECT_EQ(1, min);
     16   EXPECT_EQ(65535, max);
     17 
     18   EXPECT_TRUE(NetworkSettings::ParsePortRange(" 1 - 65535 ", &min, &max));
     19   EXPECT_EQ(1, min);
     20   EXPECT_EQ(65535, max);
     21 
     22   EXPECT_TRUE(NetworkSettings::ParsePortRange("12400-12400", &min, &max));
     23   EXPECT_EQ(12400, min);
     24   EXPECT_EQ(12400, max);
     25 
     26   // Invalid
     27   EXPECT_FALSE(NetworkSettings::ParsePortRange("", &min, &max));
     28   EXPECT_FALSE(NetworkSettings::ParsePortRange("-65535", &min, &max));
     29   EXPECT_FALSE(NetworkSettings::ParsePortRange("1-", &min, &max));
     30   EXPECT_FALSE(NetworkSettings::ParsePortRange("-", &min, &max));
     31   EXPECT_FALSE(NetworkSettings::ParsePortRange("-1-65535", &min, &max));
     32   EXPECT_FALSE(NetworkSettings::ParsePortRange("1--65535", &min, &max));
     33   EXPECT_FALSE(NetworkSettings::ParsePortRange("1-65535-", &min, &max));
     34   EXPECT_FALSE(NetworkSettings::ParsePortRange("0-65535", &min, &max));
     35   EXPECT_FALSE(NetworkSettings::ParsePortRange("1-65536", &min, &max));
     36   EXPECT_FALSE(NetworkSettings::ParsePortRange("1-4294967295", &min, &max));
     37   EXPECT_FALSE(NetworkSettings::ParsePortRange("10-1", &min, &max));
     38   EXPECT_FALSE(NetworkSettings::ParsePortRange("1foo-2bar", &min, &max));
     39 }
     40 
     41 }  // namespace remoting
     42