1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

decoupling activesupport performance testing from actionview and adding tests

This commit is contained in:
Andrew Mutz 2012-05-28 20:09:54 -07:00
parent 3d4ede2959
commit 598f8bdda1
2 changed files with 44 additions and 4 deletions

View file

@ -3,7 +3,8 @@ require 'rails/version'
require 'active_support/concern' require 'active_support/concern'
require 'active_support/core_ext/class/delegating_attributes' require 'active_support/core_ext/class/delegating_attributes'
require 'active_support/core_ext/string/inflections' require 'active_support/core_ext/string/inflections'
require 'action_view/helpers/number_helper' require 'active_support/core_ext/module/delegation'
require 'active_support/number_helper'
module ActiveSupport module ActiveSupport
module Testing module Testing
@ -195,8 +196,7 @@ module ActiveSupport
end end
class Base class Base
include ActionView::Helpers::NumberHelper include ActiveSupport::NumberHelper
include ActionView::Helpers::OutputSafetyHelper
attr_reader :total attr_reader :total
@ -240,7 +240,7 @@ module ActiveSupport
class Amount < Base class Amount < Base
def format(measurement) def format(measurement)
number_with_delimiter(measurement.floor) number_to_delimited(measurement.floor)
end end
end end

View file

@ -0,0 +1,40 @@
require 'abstract_unit'
require 'active_support/testing/performance'
module ActiveSupport
module Testing
class PerformanceTest < ActiveSupport::TestCase
def test_amount_format
amount_metric = ActiveSupport::Testing::Performance::Metrics[:amount].new
assert_equal "0", amount_metric.format(0)
assert_equal "1", amount_metric.format(1.23)
assert_equal "40,000,000", amount_metric.format(40000000)
end
def test_time_format
time_metric = ActiveSupport::Testing::Performance::Metrics[:time].new
assert_equal "0 ms", time_metric.format(0)
assert_equal "40 ms", time_metric.format(0.04)
assert_equal "41 ms", time_metric.format(0.0415)
assert_equal "1.23 sec", time_metric.format(1.23)
assert_equal "40000.00 sec", time_metric.format(40000)
assert_equal "-5000 ms", time_metric.format(-5)
end
def test_space_format
space_metric = ActiveSupport::Testing::Performance::Metrics[:digital_information_unit].new
assert_equal "0 Bytes", space_metric.format(0)
assert_equal "0 Bytes", space_metric.format(0.4)
assert_equal "1 Byte", space_metric.format(1.23)
assert_equal "123 Bytes", space_metric.format(123)
assert_equal "123 Bytes", space_metric.format(123.45)
assert_equal "12 KB", space_metric.format(12345)
assert_equal "1.2 MB", space_metric.format(1234567)
assert_equal "9.3 GB", space_metric.format(10**10)
assert_equal "91 TB", space_metric.format(10**14)
assert_equal "910000 TB", space_metric.format(10**18)
end
end
end
end