1+ const chai = require ( 'chai' ) ;
2+ chai . use ( require ( 'chai-as-promised' ) ) ;
3+ const SDL = require ( '../../config.js' ) . node ;
4+
5+ // Mocking framework
6+ // Used to stub an RPC call so that it isn't actually sent to Core
7+ const Validator = require ( '../../Validator' ) ;
8+
9+ module . exports = function ( appClient ) {
10+ describe ( 'SdlFileTests' , function ( ) {
11+ it ( 'testFileEquality' , function ( ) {
12+ const fileName = 'testFile' ;
13+ const fileData = 'it is wednesday' ;
14+ const filePath = './doesnt_go_anywhere.txt' ;
15+ const file = new SDL . manager . file . filetypes . SdlFile ( fileName , SDL . rpc . enums . FileType . BINARY , fileData , true )
16+ . setFilePath ( filePath )
17+ . setStaticIcon ( true )
18+ . setOverwrite ( true ) ;
19+ const file2 = new SDL . manager . file . filetypes . SdlFile ( fileName , SDL . rpc . enums . FileType . BINARY , fileData , true )
20+ . setFilePath ( filePath )
21+ . setStaticIcon ( true )
22+ . setOverwrite ( true ) ;
23+ Validator . assertTrue ( file . equals ( file2 ) ) ;
24+
25+ const fileClone = file . clone ( ) ;
26+ Validator . assertTrue ( file !== fileClone ) ;
27+ Validator . assertTrue ( file . equals ( file2 ) ) ;
28+
29+ fileClone . setName ( 'something else' ) ;
30+ fileClone . setFilePath ( './goes_nowhere.txt' ) ;
31+ fileClone . setFileData ( 'my dudes' ) ;
32+ fileClone . setType ( SDL . rpc . enums . FileType . JSON ) ;
33+ fileClone . setPersistent ( false ) ;
34+ fileClone . setStaticIcon ( false ) ;
35+ fileClone . setOverwrite ( false ) ;
36+
37+ Validator . assertTrue ( file !== fileClone ) ;
38+ Validator . assertTrue ( ! file . equals ( fileClone ) ) ;
39+ Validator . assertNotEquals ( file . getName ( ) , fileClone . getName ( ) ) ;
40+ Validator . assertNotEquals ( file . getFilePath ( ) , fileClone . getFilePath ( ) ) ;
41+ Validator . assertNotEquals ( file . getFileData ( ) , fileClone . getFileData ( ) ) ;
42+ Validator . assertNotEquals ( file . getType ( ) , fileClone . getType ( ) ) ;
43+ Validator . assertNotEquals ( file . isPersistent ( ) , fileClone . isPersistent ( ) ) ;
44+ Validator . assertNotEquals ( file . isStaticIcon ( ) , fileClone . isStaticIcon ( ) ) ;
45+ Validator . assertNotEquals ( file . getOverwrite ( ) , fileClone . getOverwrite ( ) ) ;
46+
47+ const emptyFile = new SDL . manager . file . filetypes . SdlFile ( null , SDL . rpc . enums . FileType . BINARY , null , false ) ;
48+ const emptyClone = emptyFile . clone ( ) ;
49+
50+ Validator . assertTrue ( emptyFile !== emptyClone ) ;
51+ Validator . assertTrue ( emptyFile . equals ( emptyClone ) ) ;
52+ Validator . assertTrue ( emptyClone !== fileClone ) ;
53+ } ) ;
54+ } ) ;
55+ describe ( 'SdlArtworkTests' , function ( ) {
56+ it ( 'testFileEquality' , function ( ) {
57+ const fileName = 'testFile' ;
58+ const fileData = 'it is wednesday' ;
59+ const filePath = './doesnt_go_anywhere.txt' ;
60+ const file = new SDL . manager . file . filetypes . SdlArtwork ( fileName , SDL . rpc . enums . FileType . GRAPHIC_JPEG , fileData , true )
61+ . setFilePath ( filePath )
62+ . setStaticIcon ( true )
63+ . setOverwrite ( true )
64+ . setTemplateImage ( true ) ;
65+ const file2 = new SDL . manager . file . filetypes . SdlArtwork ( fileName , SDL . rpc . enums . FileType . GRAPHIC_JPEG , fileData , true )
66+ . setFilePath ( filePath )
67+ . setStaticIcon ( true )
68+ . setOverwrite ( true )
69+ . setTemplateImage ( true ) ;
70+ Validator . assertTrue ( file . equals ( file2 ) ) ;
71+
72+ const fileClone = file . clone ( ) ;
73+ Validator . assertTrue ( file !== fileClone ) ;
74+ Validator . assertTrue ( file . equals ( file2 ) ) ;
75+
76+ fileClone . setName ( 'something else' ) ;
77+ fileClone . setFilePath ( './goes_nowhere.txt' ) ;
78+ fileClone . setFileData ( 'my dudes' ) ;
79+ fileClone . setType ( SDL . rpc . enums . FileType . GRAPHIC_PNG ) ;
80+ fileClone . setPersistent ( false ) ;
81+ fileClone . setStaticIcon ( false ) ;
82+ fileClone . setOverwrite ( false ) ;
83+ fileClone . setTemplateImage ( false ) ;
84+
85+ Validator . assertTrue ( file !== fileClone ) ;
86+ Validator . assertTrue ( ! file . equals ( fileClone ) ) ;
87+ Validator . assertNotEquals ( file . getName ( ) , fileClone . getName ( ) ) ;
88+ Validator . assertNotEquals ( file . getFilePath ( ) , fileClone . getFilePath ( ) ) ;
89+ Validator . assertNotEquals ( file . getFileData ( ) , fileClone . getFileData ( ) ) ;
90+ Validator . assertNotEquals ( file . getType ( ) , fileClone . getType ( ) ) ;
91+ Validator . assertNotEquals ( file . isPersistent ( ) , fileClone . isPersistent ( ) ) ;
92+ Validator . assertNotEquals ( file . isStaticIcon ( ) , fileClone . isStaticIcon ( ) ) ;
93+ Validator . assertNotEquals ( file . getOverwrite ( ) , fileClone . getOverwrite ( ) ) ;
94+ Validator . assertNotEquals ( file . isTemplateImage ( ) , fileClone . isTemplateImage ( ) ) ;
95+
96+ const emptyFile = new SDL . manager . file . filetypes . SdlArtwork ( null , SDL . rpc . enums . FileType . GRAPHIC_JPEG , null , false ) ;
97+ const emptyClone = emptyFile . clone ( ) ;
98+
99+ Validator . assertTrue ( emptyFile !== emptyClone ) ;
100+ Validator . assertTrue ( emptyFile . equals ( emptyClone ) ) ;
101+ Validator . assertTrue ( emptyClone !== fileClone ) ;
102+ } ) ;
103+ } ) ;
104+ } ;
0 commit comments