예제 #1
0
 def testVariableValueIsStableInASinglePath(self):
   """Test it keeps variable value stable in a single path."""
   processor = windows.EnvVarsPostProcessor({"foo": ["bar", "blah"]})
   self.assertEqual(
       set(processor.Process(r"C:\WINDOWS\%foo%\%foo%\something")),
       set([
           r"C:\WINDOWS\bar\bar\something", r"C:\WINDOWS\blah\blah\something"
       ]))
예제 #2
0
 def testReplacesTwoVariables(self):
     """Test it correctly replaces two variables."""
     processor = windows.EnvVarsPostProcessor({
         "foo": "bar",
         "blah": "blahblah"
     })
     self.assertEqual(
         processor.Process(r"C:\WINDOWS\%foo%\%blah%\something"),
         [r"C:\WINDOWS\bar\blahblah\something"])
예제 #3
0
 def testGeneratesProductIfTwoReplacementsHaveMultipleValues(self):
     """Test it generates a product if two replacements have multiple values."""
     processor = windows.EnvVarsPostProcessor({
         "foo": ["bar1", "bar2"],
         "blah": ["blah1", "blah2"]
     })
     self.assertEqual(
         set(processor.Process(r"C:\WINDOWS\%foo%\%blah%\something")),
         set([
             r"C:\WINDOWS\bar1\blah1\something",
             r"C:\WINDOWS\bar1\blah2\something",
             r"C:\WINDOWS\bar2\blah1\something",
             r"C:\WINDOWS\bar2\blah2\something"
         ]))
예제 #4
0
 def testGeneratesMultipleReplacementsIfReplacementIsList(self):
     """Test it generates multiple replacements if replacement is a list."""
     processor = windows.EnvVarsPostProcessor({"foo": ["bar", "blah"]})
     self.assertEqual(
         set(processor.Process(r"C:\WINDOWS\%foo%\something")),
         set([r"C:\WINDOWS\bar\something", r"C:\WINDOWS\blah\something"]))
예제 #5
0
 def testVariableReplacementIsCaseInsensitive(self):
     """Test variable replacement is case insensitive."""
     processor = windows.EnvVarsPostProcessor({"foo": "bar"})
     self.assertEqual(processor.Process(r"C:\WINDOWS\%FoO%\something"),
                      [r"C:\WINDOWS\bar\something"])
예제 #6
0
 def testReplacesOneVariable(self):
     """Test it correctly replaces one variable."""
     processor = windows.EnvVarsPostProcessor({"foo": "bar"})
     self.assertEqual(processor.Process(r"C:\WINDOWS\%foo%\something"),
                      [r"C:\WINDOWS\bar\something"])
예제 #7
0
 def testDoesNothingIfMappingIsEmpty(self):
     """Test it does nothing if the mapping is empty."""
     processor = windows.EnvVarsPostProcessor({})
     self.assertEqual(processor.Process("a"), ["a"])
예제 #8
0
 def testReplacesSystem32PrefixWithSystemRootVariable(self):
     """Test it replaces system32 prefix with a system root variable."""
     processor = windows.EnvVarsPostProcessor({"systemroot": "blah"})
     self.assertEqual(processor.Process(r"System32\foo\bar"),
                      [r"blah\system32\foo\bar"])