1 # Copyright 2012 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.
9 from telemetry
.page
import page
10 from telemetry
.page
import page_set
11 from telemetry
.util
import cloud_storage
14 class TestPageSet(unittest
.TestCase
):
16 def testServingDirs(self
):
17 directory_path
= tempfile
.mkdtemp()
19 ps
= page_set
.PageSet(serving_dirs
=['a/b'], file_path
=directory_path
)
20 ps
.AddUserStory(page
.Page('file://c/test.html', ps
, ps
.base_dir
))
21 ps
.AddUserStory(page
.Page('file://c/test.js', ps
, ps
.base_dir
))
22 ps
.AddUserStory(page
.Page('file://d/e/../test.html', ps
, ps
.base_dir
))
24 os
.rmdir(directory_path
)
26 real_directory_path
= os
.path
.realpath(directory_path
)
27 expected_serving_dirs
= set([os
.path
.join(real_directory_path
, 'a', 'b'),
28 os
.path
.join(real_directory_path
, 'c'),
29 os
.path
.join(real_directory_path
, 'd')])
30 self
.assertEquals(ps
.serving_dirs
, expected_serving_dirs
)
31 self
.assertEquals(ps
[0].serving_dir
, os
.path
.join(real_directory_path
, 'c'))
32 self
.assertEquals(ps
[2].serving_dir
, os
.path
.join(real_directory_path
, 'd'))
34 def testAbsoluteServingDir(self
):
35 directory_path
= tempfile
.mkdtemp()
37 absolute_dir
= os
.path
.join(directory_path
, 'a', 'b')
38 ps
= page_set
.PageSet(file_path
=directory_path
,
39 serving_dirs
=['', directory_path
, absolute_dir
])
40 real_directory_path
= os
.path
.realpath(directory_path
)
41 real_absolute_dir
= os
.path
.realpath(absolute_dir
)
42 self
.assertEquals(ps
.serving_dirs
, set([real_directory_path
,
45 os
.rmdir(directory_path
)