Skip to content

Fix #652 - respect PopupDecimalPlaces in all cases #254

Fix #652 - respect PopupDecimalPlaces in all cases

Fix #652 - respect PopupDecimalPlaces in all cases #254

GitHub Actions / .NET Test Results succeeded Aug 3, 2023 in 1s

.NET Test Results ✅

Tests passed successfully

Report Passed Failed Skipped Time
test-results/_fv-az417-181_2023-08-03_01_51_17.trx 31✅ 9s
test-results/_fv-az417-181_2023-08-03_01_51_17[1].trx 181✅ 2⚪ 15s

✅ test-results/_fv-az417-181_2023-08-03_01_51_17.trx

31 tests were completed in 9s with 31 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
StackExchange.Profiling.Tests 12✅ 229ms
StackExchange.Profiling.Tests.Middleware 19✅ 959ms

✅ StackExchange.Profiling.Tests

✅ Middleware.BasicProfiling
✅ Middleware.StaticFileFetch
✅ Storage.MemoryCacheStorageTests.GetUnviewedIds
✅ Storage.MemoryCacheStorageTests.GetUnviewedIdsAsync
✅ Storage.MemoryCacheStorageTests.List
✅ Storage.MemoryCacheStorageTests.ListAsync
✅ Storage.MemoryCacheStorageTests.SaveAndLoad
✅ Storage.MemoryCacheStorageTests.SaveAndLoadAsync
✅ Storage.MemoryCacheStorageTests.SetUnviewed
✅ Storage.MemoryCacheStorageTests.SetUnviewedAsync
✅ Storage.MemoryCacheStorageTests.SetViewed
✅ Storage.MemoryCacheStorageTests.SetViewedAsync

✅ StackExchange.Profiling.Tests.Middleware

✅ Middleware.ResultsAuthorization(name: "All allowed - Async", auth: null, authAsync: True, listAuth: null, listAuthAsync: null, indexExpected: OK, listExpected: OK, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "All allowed - Both", auth: True, authAsync: True, listAuth: True, listAuthAsync: True, indexExpected: OK, listExpected: OK, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "All allowed - No config", auth: null, authAsync: null, listAuth: null, listAuthAsync: null, indexExpected: OK, listExpected: OK, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "All allowed - Sync", auth: True, authAsync: null, listAuth: null, listAuthAsync: null, indexExpected: OK, listExpected: OK, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "Denied - Async Wins", auth: True, authAsync: False, listAuth: null, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "Denied - Async", auth: null, authAsync: False, listAuth: null, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "Denied - Both", auth: False, authAsync: False, listAuth: False, listAuthAsync: False, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "Denied - Sync Wins", auth: False, authAsync: True, listAuth: null, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "Denied - Sync", auth: False, authAsync: null, listAuth: null, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "No lists because no single - Async", auth: null, authAsync: False, listAuth: null, listAuthAsync: True, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "No lists because no single - Both", auth: False, authAsync: False, listAuth: True, listAuthAsync: True, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "No lists because no single - Mix 1", auth: null, authAsync: False, listAuth: True, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "No lists because no single - Mix 2", auth: False, authAsync: null, listAuth: null, listAuthAsync: True, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "No lists because no single - Sync", auth: False, authAsync: null, listAuth: True, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: Unauthorized)
✅ Middleware.ResultsAuthorization(name: "ResultsAuthorize can only deny access - Async", auth: null, authAsync: True, listAuth: null, listAuthAsync: False, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "ResultsAuthorize can only deny access - Both", auth: True, authAsync: True, listAuth: False, listAuthAsync: False, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "ResultsAuthorize can only deny access - Mix 1", auth: null, authAsync: True, listAuth: False, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "ResultsAuthorize can only deny access - Mix 2", auth: True, authAsync: null, listAuth: null, listAuthAsync: False, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: OK)
✅ Middleware.ResultsAuthorization(name: "ResultsAuthorize can only deny access - Sync", auth: True, authAsync: null, listAuth: False, listAuthAsync: null, indexExpected: Unauthorized, listExpected: Unauthorized, singleExpected: OK)

✅ test-results/_fv-az417-181_2023-08-03_01_51_17[1].trx

183 tests were completed in 15s with 181 passed, 0 failed and 2 skipped.

Test suite Passed Failed Skipped Time
StackExchange.Profiling.Tests 99✅ 2⚪ 10s
StackExchange.Profiling.Tests.DbProfilerTests 6✅ 48ms
StackExchange.Profiling.Tests.RenderTests 18✅ 33ms
StackExchange.Profiling.Tests.SqlFormatterTests 58✅ 30ms

✅ StackExchange.Profiling.Tests

⚪ Async.AsyncRealTimeTests.Step_WithParallelTasks_RealTime
⚪ Async.AsyncRealTimeTests.Step_WithParallelThreads_RealTime
✅ Async.AsyncTests.SimpleAsync
✅ Async.AsyncTests.Step_WithParallelTasks_SimulatedTime
✅ DbProfilerTests.AlwaysWrapReaders
✅ DbProfilerTests.DataReader
✅ DbProfilerTests.DataReaderAsync
✅ DbProfilerTests.DataReaderViaProfiledDbCommandWithNullConnection
✅ DbProfilerTests.Errors
✅ DbProfilerTests.ErrorsAsync
✅ DbProfilerTests.NonQuery
✅ DbProfilerTests.NonQueryAsync
✅ DbProfilerTests.Scalar
✅ DbProfilerTests.ScalarAsync
✅ DbProfilerTests.ShimProfiler
✅ InternalErrorTests.StopErrorLogging
✅ ProtobufSerializationTests.CustomTimings
✅ ProtobufSerializationTests.Simple
✅ RenderTests.DefaultRender
✅ RenderTests.Nonce
✅ RenderTests.OptionsSet
✅ SerializationTests.ParentMapping
✅ ServerTimingTests.ServerTimingFormat
✅ SqlFormatterTests.EnsureVerboseSqlServerFormatterOnlyAddsInformation
✅ SqlFormatterTests.InlineParameterNamesInParameterValues
✅ SqlFormatterTests.InlineParameterValuesDisplayNullForStrings
✅ SqlFormatterTests.InlineSpacesAfterCommasDisabled
✅ SqlFormatterTests.InlineSpacesAfterCommasEnabled
✅ SqlFormatterTests.StoredProcedureCallWithoutParameters
✅ SqlFormatterTests.TabelQueryWithoutParameters
✅ SqlFormatterTests.VerboseSqlServerFormatterAddsTransactionInformation
✅ Storage.MongoDbStorageTests.GetUnviewedIds
✅ Storage.MongoDbStorageTests.GetUnviewedIdsAsync
✅ Storage.MongoDbStorageTests.List
✅ Storage.MongoDbStorageTests.ListAsync
✅ Storage.MongoDbStorageTests.RecreationHandling
✅ Storage.MongoDbStorageTests.SaveAndLoad
✅ Storage.MongoDbStorageTests.SaveAndLoadAsync
✅ Storage.MongoDbStorageTests.SetUnviewed
✅ Storage.MongoDbStorageTests.SetUnviewedAsync
✅ Storage.MongoDbStorageTests.SetViewed
✅ Storage.MongoDbStorageTests.SetViewedAsync
✅ Storage.MultiStorageProviderTests.Constructor_LoadStores_MaintainOrder
✅ Storage.MultiStorageProviderTests.Constructor_LoadWithNoStores_ThrowsError
✅ Storage.MultiStorageProviderTests.Constructor_LoadWithNullStores_ThrowsError
✅ Storage.MySqlStorageTests.GetUnviewedIds
✅ Storage.MySqlStorageTests.GetUnviewedIdsAsync
✅ Storage.MySqlStorageTests.List
✅ Storage.MySqlStorageTests.ListAsync
✅ Storage.MySqlStorageTests.SaveAndLoad
✅ Storage.MySqlStorageTests.SaveAndLoadAsync
✅ Storage.MySqlStorageTests.SetUnviewed
✅ Storage.MySqlStorageTests.SetUnviewedAsync
✅ Storage.MySqlStorageTests.SetViewed
✅ Storage.MySqlStorageTests.SetViewedAsync
✅ Storage.RavenDbStoreTests.GetUnviewedIds
✅ Storage.RavenDbStoreTests.GetUnviewedIdsAsync
✅ Storage.RavenDbStoreTests.List
✅ Storage.RavenDbStoreTests.ListAsync
✅ Storage.RavenDbStoreTests.SaveAndLoad
✅ Storage.RavenDbStoreTests.SaveAndLoadAsync
✅ Storage.RavenDbStoreTests.SetUnviewed
✅ Storage.RavenDbStoreTests.SetUnviewedAsync
✅ Storage.RavenDbStoreTests.SetViewed
✅ Storage.RavenDbStoreTests.SetViewedAsync
✅ Storage.RedisStorageTests.ConnectionOptions
✅ Storage.RedisStorageTests.ConnectionString
✅ Storage.RedisStorageTests.GetUnviewedIds
✅ Storage.RedisStorageTests.GetUnviewedIdsAsync
✅ Storage.RedisStorageTests.IDatabase
✅ Storage.RedisStorageTests.List
✅ Storage.RedisStorageTests.ListAsync
✅ Storage.RedisStorageTests.Multiplexer
✅ Storage.RedisStorageTests.SaveAndLoad
✅ Storage.RedisStorageTests.SaveAndLoadAsync
✅ Storage.RedisStorageTests.Serialization
✅ Storage.RedisStorageTests.SetUnviewed
✅ Storage.RedisStorageTests.SetUnviewedAsync
✅ Storage.RedisStorageTests.SetViewed
✅ Storage.RedisStorageTests.SetViewedAsync
✅ Storage.SqliteStorageTests.GetUnviewedIds
✅ Storage.SqliteStorageTests.GetUnviewedIdsAsync
✅ Storage.SqliteStorageTests.List
✅ Storage.SqliteStorageTests.ListAsync
✅ Storage.SqliteStorageTests.SaveAndLoad
✅ Storage.SqliteStorageTests.SaveAndLoadAsync
✅ Storage.SqliteStorageTests.SetUnviewed
✅ Storage.SqliteStorageTests.SetUnviewedAsync
✅ Storage.SqliteStorageTests.SetViewed
✅ Storage.SqliteStorageTests.SetViewedAsync
✅ Storage.SqlServerStorageTests.GetUnviewedIds
✅ Storage.SqlServerStorageTests.GetUnviewedIdsAsync
✅ Storage.SqlServerStorageTests.List
✅ Storage.SqlServerStorageTests.ListAsync
✅ Storage.SqlServerStorageTests.SaveAndLoad
✅ Storage.SqlServerStorageTests.SaveAndLoadAsync
✅ Storage.SqlServerStorageTests.SetUnviewed
✅ Storage.SqlServerStorageTests.SetUnviewedAsync
✅ Storage.SqlServerStorageTests.SetViewed
✅ Storage.SqlServerStorageTests.SetViewedAsync
✅ TimingInstrumentationTest.IsInstrumented

✅ StackExchange.Profiling.Tests.DbProfilerTests

✅ DbProfilerTests.TrackingOptions(track: False)
✅ DbProfilerTests.TrackingOptions(track: True)
✅ DbProfilerTests.TrackingOptionsAsync(track: False)
✅ DbProfilerTests.TrackingOptionsAsync(track: True)
✅ DbProfilerTests.TrackingOptionsExplicitClose(track: False)
✅ DbProfilerTests.TrackingOptionsExplicitClose(track: True)

✅ StackExchange.Profiling.Tests.RenderTests

✅ RenderTests.ColorSchemes(scheme: Auto, expected: "data-scheme=\"Auto\"")
✅ RenderTests.ColorSchemes(scheme: Dark, expected: "data-scheme=\"Dark\"")
✅ RenderTests.ColorSchemes(scheme: Light, expected: "data-scheme=\"Light\"")
✅ RenderTests.ColorSchemes(scheme: null, expected: "data-scheme=\"Light\"")
✅ RenderTests.DecimalPlaces(decimalPlaces: 0, expected: "data-decimal-places=\"0\"")
✅ RenderTests.DecimalPlaces(decimalPlaces: 1, expected: "data-decimal-places=\"1\"")
✅ RenderTests.DecimalPlaces(decimalPlaces: 2, expected: "data-decimal-places=\"2\"")
✅ RenderTests.DecimalPlaces(decimalPlaces: null, expected: "data-decimal-places=\"2\"")
✅ RenderTests.NonceEncoding(nonce: "\udadb\udca2L軾\udb7e\udf83\uda7a\udf1bŝ\udad6\udee4\ud9d3\uddcc\ud9db\udc03\ud93d\udd7a\udbdb\uddc0;鮡ƾ\udb51\udd75ԁf'\"&23", expected: "nonce=\"\udadb\udca2L軾\udb7e\udf83\uda7a\udf1bŝ\udad6\udee4\ud9d3\uddcc\ud9db\udc03\ud93d\udd7a\udbdb\uddc0;鮡ƾ\udb51\udd75ԁf'"&amp"...)
✅ RenderTests.NonceEncoding(nonce: "e31df82b-5102-4134-af97-f29bf724bedd", expected: "nonce=\"e31df82b-5102-4134-af97-f29bf724bedd\"")
✅ RenderTests.NonceEncoding(nonce: "f\"oo", expected: "nonce=\"f"oo\"")
✅ RenderTests.NonceEncoding(nonce: "foo!@#$%", expected: "nonce=\"foo!@#$%\"")
✅ RenderTests.NonceEncoding(nonce: "foo", expected: "nonce=\"foo\"")
✅ RenderTests.Positions(position: BottomLeft, expected: "data-position=\"BottomLeft\"")
✅ RenderTests.Positions(position: BottomRight, expected: "data-position=\"BottomRight\"")
✅ RenderTests.Positions(position: Left, expected: "data-position=\"Left\"")
✅ RenderTests.Positions(position: null, expected: "data-position=\"Left\"")
✅ RenderTests.Positions(position: Right, expected: "data-position=\"Right\"")

✅ StackExchange.Profiling.Tests.SqlFormatterTests

✅ SqlFormatterTests.StoredProcedureCallWithInOutputParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithInOutputParameter(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithNormalAndReturnParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithNormalAndReturnParameter(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithNormalAndReturnParameterDisabled(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithNormalAndReturnParameterDisabled(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithOneOutputParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithOneOutputParameter(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithOneOutputParameterAndOneReturnParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithOneOutputParameterAndOneReturnParameter(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithOneParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithOneParameter(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithOneReturnParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithOneReturnParameter(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithTwoOutputParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithTwoOutputParameter(at: "@")
✅ SqlFormatterTests.StoredProcedureCallWithTwoParameter(at: "")
✅ SqlFormatterTests.StoredProcedureCallWithTwoParameter(at: "@")
✅ SqlFormatterTests.TableQueryWithBit(at: "")
✅ SqlFormatterTests.TableQueryWithBit(at: "@")
✅ SqlFormatterTests.TableQueryWithCurrency(at: "")
✅ SqlFormatterTests.TableQueryWithCurrency(at: "@")
✅ SqlFormatterTests.TableQueryWithDate(at: "")
✅ SqlFormatterTests.TableQueryWithDate(at: "@")
✅ SqlFormatterTests.TableQueryWithDateTime(at: "")
✅ SqlFormatterTests.TableQueryWithDateTime(at: "@")
✅ SqlFormatterTests.TableQueryWithDateTime2(at: "")
✅ SqlFormatterTests.TableQueryWithDateTime2(at: "@")
✅ SqlFormatterTests.TableQueryWithDateTimeOffset(at: "")
✅ SqlFormatterTests.TableQueryWithDateTimeOffset(at: "@")
✅ SqlFormatterTests.TableQueryWithDecimal(at: "")
✅ SqlFormatterTests.TableQueryWithDecimal(at: "@")
✅ SqlFormatterTests.TableQueryWithDecimalNullable(at: "")
✅ SqlFormatterTests.TableQueryWithDecimalNullable(at: "@")
✅ SqlFormatterTests.TableQueryWithDecimalZeroPrecision(at: "")
✅ SqlFormatterTests.TableQueryWithDecimalZeroPrecision(at: "@")
✅ SqlFormatterTests.TableQueryWithDouble(at: "")
✅ SqlFormatterTests.TableQueryWithDouble(at: "@")
✅ SqlFormatterTests.TableQueryWithOneParameter(at: "")
✅ SqlFormatterTests.TableQueryWithOneParameter(at: "@")
✅ SqlFormatterTests.TableQueryWithOneParameterDisabled(at: "")
✅ SqlFormatterTests.TableQueryWithOneParameterDisabled(at: "@")
✅ SqlFormatterTests.TableQueryWithSingle(at: "")
✅ SqlFormatterTests.TableQueryWithSingle(at: "@")
✅ SqlFormatterTests.TableQueryWithSpacesAfterCommasDisabled(at: "")
✅ SqlFormatterTests.TableQueryWithSpacesAfterCommasDisabled(at: "@")
✅ SqlFormatterTests.TableQueryWithSpacesAfterCommasEnabled(at: "")
✅ SqlFormatterTests.TableQueryWithSpacesAfterCommasEnabled(at: "@")
✅ SqlFormatterTests.TableQueryWithTime(at: "")
✅ SqlFormatterTests.TableQueryWithTime(at: "@")
✅ SqlFormatterTests.TableQueryWithTwoParameters(at: "")
✅ SqlFormatterTests.TableQueryWithTwoParameters(at: "@")
✅ SqlFormatterTests.TableQueryWithTwoParametersDisabled(at: "")
✅ SqlFormatterTests.TableQueryWithTwoParametersDisabled(at: "@")
✅ SqlFormatterTests.TableQueryWithVarchar(at: "")
✅ SqlFormatterTests.TableQueryWithVarchar(at: "@")
✅ SqlFormatterTests.TableQueryWithXml(at: "")
✅ SqlFormatterTests.TableQueryWithXml(at: "@")