"Fossies" - the Fresh Open Source Software Archive

Member "Atom/resources/app/apm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py" (8 Mar 2017, 1970 Bytes) of archive /windows/misc/atom-windows.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/usr/bin/env python
    2 
    3 # Copyright (c) 2012 Google Inc. All rights reserved.
    4 # Use of this source code is governed by a BSD-style license that can be
    5 # found in the LICENSE file.
    6 
    7 """Unit tests for the common.py file."""
    8 
    9 import gyp.common
   10 import unittest
   11 import sys
   12 
   13 
   14 class TestTopologicallySorted(unittest.TestCase):
   15   def test_Valid(self):
   16     """Test that sorting works on a valid graph with one possible order."""
   17     graph = {
   18         'a': ['b', 'c'],
   19         'b': [],
   20         'c': ['d'],
   21         'd': ['b'],
   22         }
   23     def GetEdge(node):
   24       return tuple(graph[node])
   25     self.assertEqual(
   26       gyp.common.TopologicallySorted(graph.keys(), GetEdge),
   27       ['a', 'c', 'd', 'b'])
   28 
   29   def test_Cycle(self):
   30     """Test that an exception is thrown on a cyclic graph."""
   31     graph = {
   32         'a': ['b'],
   33         'b': ['c'],
   34         'c': ['d'],
   35         'd': ['a'],
   36         }
   37     def GetEdge(node):
   38       return tuple(graph[node])
   39     self.assertRaises(
   40       gyp.common.CycleError, gyp.common.TopologicallySorted,
   41       graph.keys(), GetEdge)
   42 
   43 
   44 class TestGetFlavor(unittest.TestCase):
   45   """Test that gyp.common.GetFlavor works as intended"""
   46   original_platform = ''
   47 
   48   def setUp(self):
   49     self.original_platform = sys.platform
   50 
   51   def tearDown(self):
   52     sys.platform = self.original_platform
   53 
   54   def assertFlavor(self, expected, argument, param):
   55     sys.platform = argument
   56     self.assertEqual(expected, gyp.common.GetFlavor(param))
   57 
   58   def test_platform_default(self):
   59     self.assertFlavor('freebsd', 'freebsd9' , {})
   60     self.assertFlavor('freebsd', 'freebsd10', {})
   61     self.assertFlavor('openbsd', 'openbsd5' , {})
   62     self.assertFlavor('solaris', 'sunos5'   , {});
   63     self.assertFlavor('solaris', 'sunos'    , {});
   64     self.assertFlavor('linux'  , 'linux2'   , {});
   65     self.assertFlavor('linux'  , 'linux3'   , {});
   66 
   67   def test_param(self):
   68     self.assertFlavor('foobar', 'linux2' , {'flavor': 'foobar'})
   69 
   70 
   71 if __name__ == '__main__':
   72   unittest.main()