text: // Copyright 2015 The Chromium Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  #include "tools/gn/source_file.h"
  
  #include "util/test/test.h"
  
  // The SourceFile object should normalize the input passed to the constructor.
  // The normalizer unit test checks for all the weird edge cases for normalizing
  // so here just check that it gets called.
  TEST(SourceFile, Normalize) {
    SourceFile a("//foo/../bar.cc");
    EXPECT_EQ("//bar.cc", a.value());
  
    std::string b_str("//foo/././../bar.cc");
    SourceFile b(std::move(b_str));
    EXPECT_TRUE(b_str.empty());  // Should have been swapped in.
    EXPECT_EQ("//bar.cc", b.value());
  }
  