123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- var numberUtils = require('utils/number_utils');
- describe('', function() {
- describe('#bytesToSize', function() {
- describe('check bytes', function() {
- var tests = Em.A([
- {
- bytes: null,
- precision: null,
- parseType: null,
- multiplyBy: null,
- e: 'n/a',
- m: '"n/a" if bytes is null'
- },
- {
- bytes: undefined,
- precision: null,
- parseType: null,
- multiplyBy: null,
- e: 'n/a',
- m: '"n/a" if bytes is undefined'
- },
- {
- bytes: 200,
- precision: null,
- parseType: undefined,
- multiplyBy: null,
- e: '0 Bytes',
- m: '0 if multiply is `null`'
- },
- {
- bytes: 200,
- precision: null,
- parseType: undefined,
- multiplyBy: undefined,
- e: '200 Bytes',
- m: '"200 Bytes" if `multiplyBy` and `parseType` are `undefined`'
- },
- {
- bytes: 200,
- precision: null,
- parseType: undefined,
- multiplyBy: 1,
- e: '200 Bytes',
- m: '`200 Bytes` if `parsetype` is `undefined`'
- }
- ]);
- tests.forEach(function(test) {
- it(test.m, function() {
- expect(numberUtils.bytesToSize(test.bytes, test.precision, test.parseType, test.multiplyBy)).to.equal(test.e);
- });
- });
- });
- describe('check sizes', function() {
- var tests = Em.A([
- {
- bytes: 12,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: 'Bytes',
- m: 'Bytes'
- },
- {
- bytes: 1024 + 12,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: 'KB',
- m: 'KB'
- },
- {
- bytes: 1024 * 1024 + 12,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: 'MB',
- m: 'MB'
- },
- {
- bytes: 1024 * 1024 * 1024 + 12,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: 'GB',
- m: 'GB'
- },
- {
- bytes: 1024 * 1024 * 1024 * 1024 + 12,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: 'TB',
- m: 'TB'
- },
- {
- bytes: 1024 * 1024 * 1024 * 1024 * 1024 + 12,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: 'PB',
- m: 'PB'
- }
- ]);
- tests.forEach(function(test) {
- it(test.m, function() {
- expect(numberUtils.bytesToSize(test.bytes, test.precision, test.parseType, test.multiplyBy).endsWith(test.e)).to.equal(true);
- });
- });
- });
- describe('check calculated result', function() {
- var tests = Em.A([
- {
- bytes: 42,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: '42',
- m: 'Bytes'
- },
- {
- bytes: 1024 * 12,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: '12',
- m: 'KB'
- },
- {
- bytes: 1024 * 1024 * 23,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: '23',
- m: 'MB'
- },
- {
- bytes: 1024 * 1024 * 1024 * 34,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: '34',
- m: 'GB'
- },
- {
- bytes: 1024 * 1024 * 1024 * 1024 * 45,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: '45',
- m: 'TB'
- },
- {
- bytes: 1024 * 1024 * 1024 * 1024 * 1024 * 56,
- precision: null,
- parseType: 'parseInt',
- multiplyBy: 1,
- e: '56',
- m: 'PB'
- }
- ]);
- tests.forEach(function(test) {
- it(test.m, function() {
- expect(numberUtils.bytesToSize(test.bytes, test.precision, test.parseType, test.multiplyBy).startsWith(test.e)).to.equal(true);
- });
- });
- });
- });
- describe('#validateInteger()', function() {
- var tests = [
- {
- str: null,
- min: null,
- max: null,
- m: 'all params null to' + Em.I18n.t('number.validate.empty'),
- e: Em.I18n.t('number.validate.empty')
- },
- {
- str: "string",
- min: null,
- max: null,
- m: 'try to validate `string` should return ' + Em.I18n.t('number.validate.empty'),
- e: Em.I18n.t('number.validate.notValidNumber')
- },
- {
- str: "string",
- min: null,
- max: null,
- m: 'try to validate `string` should return ' + Em.I18n.t('number.validate.notValidNumber'),
- e: Em.I18n.t('number.validate.notValidNumber')
- },
- {
- str: "1abc",
- min: null,
- max: null,
- m: 'try to validate `1abc` should return ' + Em.I18n.t('number.validate.notValidNumber'),
- e: Em.I18n.t('number.validate.notValidNumber')
- },
- {
- str: "1",
- min: null,
- max: null,
- m: 'try to validate `1` should return ' + Em.I18n.t('number.validate.moreThanMaximum').format(null),
- e: Em.I18n.t('number.validate.moreThanMaximum').format(null)
- },
- {
- str: "1",
- min: 2,
- max: 0,
- m: 'try to validate `1` with max = 0 and min = 2 should return ' + Em.I18n.t('number.validate.lessThanMinumum').format(2),
- e: Em.I18n.t('number.validate.lessThanMinumum').format(2)
- }
- ];
- tests.forEach(function(test) {
- it(test.m, function(){
- expect(numberUtils.validateInteger(test.str, test.min, test.max)).to.eql(test.e);
- });
- });
- });
- });
|