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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
<!DOCTYPE html>
<html>
<!--
Copyright 2011 The Closure Library Authors. All Rights Reserved.
Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<!--
-->
<head>
<title>Closure Unit Tests - goog.testing.fs.FileEntry</title>
<script src="../../base.js"></script>
<script>
goog.require('goog.fs.DirectoryEntry.Behavior');
goog.require('goog.testing.AsyncTestCase');
goog.require('goog.testing.MockClock');
goog.require('goog.testing.fs.FileSystem');
goog.require('goog.testing.jsunit');
</script>
</head>
<body>
<script>
var asyncTestCase = goog.testing.AsyncTestCase.createAndInstall();
var fs, file, fileEntry, mockClock, currentTime;
function setUp() {
mockClock = new goog.testing.MockClock(true);
fs = new goog.testing.fs.FileSystem();
fileEntry = fs.getRoot().createDirectorySync('foo').createFileSync('bar');
}
function tearDown() {
mockClock.uninstall();
}
function testIsFile() {
assertTrue(fileEntry.isFile());
}
function testIsDirectory() {
assertFalse(fileEntry.isDirectory());
}
function testFile() {
var testFile = new goog.testing.fs.FileEntry(fs, fs.getRoot(),
'test', 'hello world');
testFile.file().addCallback(function(f) {
assertEquals('test', f.name);
assertEquals('hello world', f.toString());
asyncTestCase.continueTesting();
});
waitForAsync('testFile');
}
function testGetLastModified() {
// Advance the clock to a known time.
mockClock.tick(53);
var testFile = new goog.testing.fs.FileEntry(fs, fs.getRoot(),
'timeTest', 'hello world');
mockClock.tick();
testFile.getLastModified().addCallback(function(date) {
assertEquals(53, date.getTime());
asyncTestCase.continueTesting();
});
waitForAsync('testGetLastModified');
}
function testGetMetadata() {
// Advance the clock to a known time.
mockClock.tick(54);
var testFile = new goog.testing.fs.FileEntry(fs, fs.getRoot(),
'timeTest', 'hello world');
mockClock.tick();
testFile.getMetadata().addCallback(function(metadata) {
assertEquals(54, metadata.modificationTime.getTime());
asyncTestCase.continueTesting();
});
waitForAsync('testGetMetadata');
}
function waitForAsync(msg) {
asyncTestCase.waitForAsync(msg);
mockClock.tick();
}
</script>
</body>
</html>
|