summaryrefslogtreecommitdiff
path: root/deps/gyp/test/msvs/filters/gyptest-filters-2008.py
blob: 41ca085823a9bdf74056f16d298dcbd46498b47a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env python

# Copyright (c) 2014 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""
Verifies that extra filters are pruned correctly for Visual Studio 2008.
"""

import re
import TestGyp


def strip_ws(str):
    return re.sub('^ +', '', str, flags=re.M).replace('\n', '')


test = TestGyp.TestGyp(formats=['msvs'])

test.run_gyp('filters.gyp', '-G', 'standalone', '-G', 'msvs_version=2008')

test.must_contain('no_source_files.vcproj', '<Files/>')

test.must_contain('one_source_file.vcproj', strip_ws('''\
<Files>
  <File RelativePath="..\\folder\\a.c"/>
</Files>
'''))

test.must_contain('two_source_files.vcproj', strip_ws('''\
<Files>
  <File RelativePath="..\\folder\\a.c"/>
  <File RelativePath="..\\folder\\b.c"/>
</Files>
'''))

test.must_contain('three_files_in_two_folders.vcproj', strip_ws('''\
<Files>
  <Filter Name="folder1">
    <File RelativePath="..\\folder1\\a.c"/>
    <File RelativePath="..\\folder1\\b.c"/>
  </Filter>
  <Filter Name="folder2">
    <File RelativePath="..\\folder2\\c.c"/>
  </Filter>
</Files>
'''))

test.must_contain('nested_folders.vcproj', strip_ws('''\
<Files>
  <Filter Name="folder1">
    <Filter Name="nested">
      <File RelativePath="..\\folder1\\nested\\a.c"/>
      <File RelativePath="..\\folder1\\nested\\b.c"/>
    </Filter>
    <Filter Name="other">
      <File RelativePath="..\\folder1\\other\\c.c"/>
    </Filter>
  </Filter>
  <Filter Name="folder2">
    <File RelativePath="..\\folder2\\d.c"/>
  </Filter>
</Files>
'''))


test.pass_test()