OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "public/platform/WebDragData.h" | 6 #include "public/platform/WebDragData.h" |
7 | 7 |
8 #include "core/clipboard/DataObject.h" | 8 #include "core/clipboard/DataObject.h" |
9 #include "public/platform/WebVector.h" | 9 #include "public/platform/WebVector.h" |
10 #include <gtest/gtest.h> | 10 #include <gtest/gtest.h> |
11 | 11 |
12 namespace blink { | 12 namespace blink { |
13 | 13 |
14 TEST(WebDragDataTest, items) | 14 TEST(WebDragDataTest, items) |
15 { | 15 { |
16 WebDragData data(DataObject::create()); | 16 RefPtrWillBeRawPtr<DataObject> dataObject = DataObject::create(); |
17 | 17 |
18 // Native file. | 18 // Native file. |
19 data.getValue()->add(File::create("/native/path")); | 19 dataObject->add(File::create("/native/path")); |
20 | 20 |
21 // Blob file. | 21 // Blob file. |
22 const RefPtr<BlobDataHandle> blobDataHandle = BlobDataHandle::create(); | 22 const RefPtr<BlobDataHandle> blobDataHandle = BlobDataHandle::create(); |
23 data.getValue()->add(File::create("name", 0.0, blobDataHandle)); | 23 dataObject->add(File::create("name", 0.0, blobDataHandle)); |
24 | 24 |
25 // User visible snapshot file. | 25 // User visible snapshot file. |
26 { | 26 { |
27 FileMetadata metadata; | 27 FileMetadata metadata; |
28 metadata.platformPath = "/native/visible/snapshot"; | 28 metadata.platformPath = "/native/visible/snapshot"; |
29 data.getValue()->add(File::createForFileSystemFile("name", metadata, Fil
e::IsUserVisible)); | 29 dataObject->add(File::createForFileSystemFile("name", metadata, File::Is
UserVisible)); |
30 } | 30 } |
31 | 31 |
32 // Not user visible snapshot file. | 32 // Not user visible snapshot file. |
33 { | 33 { |
34 FileMetadata metadata; | 34 FileMetadata metadata; |
35 metadata.platformPath = "/native/not-visible/snapshot"; | 35 metadata.platformPath = "/native/not-visible/snapshot"; |
36 data.getValue()->add(File::createForFileSystemFile("name", metadata, Fil
e::IsNotUserVisible)); | 36 dataObject->add(File::createForFileSystemFile("name", metadata, File::Is
NotUserVisible)); |
37 } | 37 } |
38 | 38 |
39 // User visible file system URL file. | 39 // User visible file system URL file. |
40 { | 40 { |
41 FileMetadata metadata; | 41 FileMetadata metadata; |
42 metadata.length = 1234; | 42 metadata.length = 1234; |
43 KURL url(ParsedURLStringTag(), "filesystem:http://example.com/isolated/h
ash/visible-non-native-file"); | 43 KURL url(ParsedURLStringTag(), "filesystem:http://example.com/isolated/h
ash/visible-non-native-file"); |
44 data.getValue()->add(File::createForFileSystemFile(url, metadata, File::
IsUserVisible)); | 44 dataObject->add(File::createForFileSystemFile(url, metadata, File::IsUse
rVisible)); |
45 } | 45 } |
46 | 46 |
47 // Not user visible file system URL file. | 47 // Not user visible file system URL file. |
48 { | 48 { |
49 FileMetadata metadata; | 49 FileMetadata metadata; |
50 metadata.length = 1234; | 50 metadata.length = 1234; |
51 KURL url(ParsedURLStringTag(), "filesystem:http://example.com/isolated/h
ash/not-visible-non-native-file"); | 51 KURL url(ParsedURLStringTag(), "filesystem:http://example.com/isolated/h
ash/not-visible-non-native-file"); |
52 data.getValue()->add(File::createForFileSystemFile(url, metadata, File::
IsNotUserVisible)); | 52 dataObject->add(File::createForFileSystemFile(url, metadata, File::IsNot
UserVisible)); |
53 } | 53 } |
54 | 54 |
| 55 WebDragData data = dataObject->toWebDragData(); |
55 WebVector<WebDragData::Item> items = data.items(); | 56 WebVector<WebDragData::Item> items = data.items(); |
56 ASSERT_EQ(6u, items.size()); | 57 ASSERT_EQ(6u, items.size()); |
57 | 58 |
58 EXPECT_EQ(WebDragData::Item::StorageTypeFilename, items[0].storageType); | 59 EXPECT_EQ(WebDragData::Item::StorageTypeFilename, items[0].storageType); |
59 EXPECT_EQ("/native/path", items[0].filenameData); | 60 EXPECT_EQ("/native/path", items[0].filenameData); |
60 EXPECT_EQ("path", items[0].displayNameData); | 61 EXPECT_EQ("path", items[0].displayNameData); |
61 | 62 |
62 EXPECT_EQ(WebDragData::Item::StorageTypeString, items[1].storageType); | 63 EXPECT_EQ(WebDragData::Item::StorageTypeString, items[1].storageType); |
63 EXPECT_EQ("text/plain", items[1].stringType); | 64 EXPECT_EQ("text/plain", items[1].stringType); |
64 EXPECT_EQ("name", items[1].stringData); | 65 EXPECT_EQ("name", items[1].stringData); |
65 | 66 |
66 EXPECT_EQ(WebDragData::Item::StorageTypeFilename, items[2].storageType); | 67 EXPECT_EQ(WebDragData::Item::StorageTypeFilename, items[2].storageType); |
67 EXPECT_EQ("/native/visible/snapshot", items[2].filenameData); | 68 EXPECT_EQ("/native/visible/snapshot", items[2].filenameData); |
68 EXPECT_EQ("name", items[2].displayNameData); | 69 EXPECT_EQ("name", items[2].displayNameData); |
69 | 70 |
70 EXPECT_EQ(WebDragData::Item::StorageTypeFilename, items[3].storageType); | 71 EXPECT_EQ(WebDragData::Item::StorageTypeFilename, items[3].storageType); |
71 EXPECT_EQ("/native/not-visible/snapshot", items[3].filenameData); | 72 EXPECT_EQ("/native/not-visible/snapshot", items[3].filenameData); |
72 EXPECT_EQ("name", items[3].displayNameData); | 73 EXPECT_EQ("name", items[3].displayNameData); |
73 | 74 |
74 EXPECT_EQ(WebDragData::Item::StorageTypeFileSystemFile, items[4].storageType
); | 75 EXPECT_EQ(WebDragData::Item::StorageTypeFileSystemFile, items[4].storageType
); |
75 EXPECT_EQ("filesystem:http://example.com/isolated/hash/visible-non-native-fi
le", items[4].fileSystemURL); | 76 EXPECT_EQ("filesystem:http://example.com/isolated/hash/visible-non-native-fi
le", items[4].fileSystemURL); |
76 EXPECT_EQ(1234, items[4].fileSystemFileSize); | 77 EXPECT_EQ(1234, items[4].fileSystemFileSize); |
77 | 78 |
78 EXPECT_EQ(WebDragData::Item::StorageTypeFileSystemFile, items[5].storageType
); | 79 EXPECT_EQ(WebDragData::Item::StorageTypeFileSystemFile, items[5].storageType
); |
79 EXPECT_EQ("filesystem:http://example.com/isolated/hash/not-visible-non-nativ
e-file", items[5].fileSystemURL); | 80 EXPECT_EQ("filesystem:http://example.com/isolated/hash/not-visible-non-nativ
e-file", items[5].fileSystemURL); |
80 EXPECT_EQ(1234, items[5].fileSystemFileSize); | 81 EXPECT_EQ(1234, items[5].fileSystemFileSize); |
81 } | 82 } |
82 | 83 |
83 } // namespace blink | 84 } // namespace blink |
OLD | NEW |