db76b1326d41382df72c71a49e419cffbe6ecf71
[ccsdk/features.git] /
1 describe("app.ut.byteSize_template", function() {
2
3         describe("byteSize_template()", function() {
4                 var byteSize_template = window.app.ut.byteSize_template;
5
6                 it("should postfix with a B and have not decimal for number less than 1000", function() {
7                         expect( byteSize_template( 0 ) ).toBe( "0B" );
8                         expect( byteSize_template( 1 ) ).toBe( "1B" );
9                         expect( byteSize_template( 10 ) ).toBe( "10B" );
10                         expect( byteSize_template( 100 ) ).toBe( "100B" );
11                         expect( byteSize_template( 999 ) ).toBe( "999B" );
12                 });
13
14                 it("should have 0.xxX for values between 1000 and 1023", function() {
15                         expect( byteSize_template( 1000  ) ).toBe( "0.98ki" );
16                         expect( byteSize_template( 1024 * 1000 ) ).toBe( "0.98Mi" );
17                 });
18
19                 it("should always have three significant digits", function() {
20                         expect( byteSize_template( 1023  ) ).toBe( "1.00ki" );
21                         expect( byteSize_template( 1024  ) ).toBe( "1.00ki" );
22                         expect( byteSize_template( 1025  ) ).toBe( "1.00ki" );
23                         expect( byteSize_template( 1024 * 5 ) ).toBe( "5.00ki" );
24                         expect( byteSize_template( 1024 * 55 ) ).toBe( "55.0ki" );
25                         expect( byteSize_template( 1024 * 555 ) ).toBe( "555ki" );
26                 });
27
28                 it("should have the correct postfix", function() {
29                         expect( byteSize_template( 3 * Math.pow( 1024, 1) ) ).toBe( "3.00ki" );
30                         expect( byteSize_template( 3 * Math.pow( 1024, 2) ) ).toBe( "3.00Mi" );
31                         expect( byteSize_template( 3 * Math.pow( 1024, 3) ) ).toBe( "3.00Gi" );
32                         expect( byteSize_template( 3 * Math.pow( 1024, 4) ) ).toBe( "3.00Ti" );
33                         expect( byteSize_template( 3 * Math.pow( 1024, 5) ) ).toBe( "3.00Pi" );
34                         expect( byteSize_template( 3 * Math.pow( 1024, 6) ) ).toBe( "3.00Ei" );
35                         expect( byteSize_template( 3 * Math.pow( 1024, 7) ) ).toBe( "3.00Zi" );
36                         expect( byteSize_template( 3 * Math.pow( 1024, 8) ) ).toBe( "3.00Yi" );
37                 });
38
39                 it("should show an overflow for stupidly big numbers", function() {
40                         expect( byteSize_template( 3 * Math.pow( 1024, 10) ) ).toBe( "3.00..E" );
41                 });
42         });
43
44         describe("count_template()", function() {
45                 var count_template = window.app.ut.count_template;
46
47                 it("should not postfix and not decimal for number less than 1000", function() {
48                         expect( count_template( 0 ) ).toBe( "0" );
49                         expect( count_template( 1 ) ).toBe( "1" );
50                         expect( count_template( 10 ) ).toBe( "10" );
51                         expect( count_template( 100 ) ).toBe( "100" );
52                         expect( count_template( 999 ) ).toBe( "999" );
53                 });
54
55                 it("should always have three significant digits", function() {
56                         expect( count_template( 1000  ) ).toBe( "1.00k" );
57                         expect( count_template( 1005  ) ).toBe( "1.00k" );
58                         expect( count_template( 1055  ) ).toBe( "1.05k" );
59                         expect( count_template( 1000 * 5 ) ).toBe( "5.00k" );
60                         expect( count_template( 1000 * 55 ) ).toBe( "55.0k" );
61                         expect( count_template( 1000 * 555 ) ).toBe( "555k" );
62                 });
63
64                 it("should have the correct postfix", function() {
65                         expect( count_template( 3 * Math.pow( 1000, 1) ) ).toBe( "3.00k" );
66                         expect( count_template( 3 * Math.pow( 1000, 2) ) ).toBe( "3.00M" );
67                         expect( count_template( 3 * Math.pow( 1000, 3) ) ).toBe( "3.00G" );
68                         expect( count_template( 3 * Math.pow( 1000, 4) ) ).toBe( "3.00T" );
69                         expect( count_template( 3 * Math.pow( 1000, 5) ) ).toBe( "3.00P" );
70                         expect( count_template( 3 * Math.pow( 1000, 6) ) ).toBe( "3.00E" );
71                         expect( count_template( 3 * Math.pow( 1000, 7) ) ).toBe( "3.00Z" );
72                         expect( count_template( 3 * Math.pow( 1000, 8) ) ).toBe( "3.00Y" );
73                 });
74
75                 it("should show an overflow for stupidly big numbers", function() {
76                         expect( count_template( 3 * Math.pow( 1000, 10) ) ).toBe( "3.00..E" );
77                 });
78         });
79
80
81 });