1 //  Copyright (c) 2020 650 Industries, Inc. All rights reserved.
2 
3 import ExpoModulesTestCore
4 
5 @testable import EXUpdates
6 
7 import EXManifests
8 
9 class UpdateAssetSpec : ExpoSpec {
specnull10   override func spec() {
11     describe("filename") {
12       it("is overridable") {
13         let asset1 = UpdateAsset(key: nil, type: "bundle")
14         let asset2 = UpdateAsset(key: nil, type: "bundle")
15         expect(asset1) != asset2
16 
17         let assetSetFilename = UpdateAsset(key: nil, type: "bundle")
18         let filenameFromDatabase = "filename.png"
19         assetSetFilename.filename = filenameFromDatabase
20         expect(assetSetFilename.filename) == filenameFromDatabase
21       }
22 
23       it("works with extension") {
24         let assetWithDotPrefix = UpdateAsset(key: "cat", type: ".jpeg")
25         expect(assetWithDotPrefix.filename) == "cat.jpeg"
26 
27         let assetWithoutDotPrefix = UpdateAsset(key: "cat", type: "jpeg")
28         expect(assetWithoutDotPrefix.filename) == "cat.jpeg"
29 
30         let assetWithoutKey = UpdateAsset(key: nil, type: "jpeg")
31         expect(assetWithoutKey.filename.dropFirst(assetWithoutKey.filename.count - 5)) == ".jpeg"
32       }
33 
34       it("works without extension") {
35         let assetWithDotPrefix = UpdateAsset(key: "cat", type: nil)
36         expect(assetWithDotPrefix.filename) == "cat"
37       }
38     }
39   }
40 }
41