Bug 1309466 - Add Test for the init value by constructor. r=froydnj

MozReview-Commit-ID: 9BguTY6dlRD

--HG--
extra : rebase_source : 8aef83263e8a406f6a4bb54f7cac6368cb75d904
This commit is contained in:
James Cheng 2016-10-19 18:12:11 +08:00
parent 6178d3ca29
commit 3bf8f58291
4 changed files with 80 additions and 0 deletions

34
mfbt/tests/TestArray.cpp Normal file
View File

@ -0,0 +1,34 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/Array.h"
void TestInitialValueByConstructor()
{
using namespace mozilla;
// Style 1
Array<int32_t, 3> arr1(1, 2, 3);
MOZ_RELEASE_ASSERT(arr1[0] == 1);
MOZ_RELEASE_ASSERT(arr1[1] == 2);
MOZ_RELEASE_ASSERT(arr1[2] == 3);
// Style 2
Array<int32_t, 3> arr2{5, 6, 7};
MOZ_RELEASE_ASSERT(arr2[0] == 5);
MOZ_RELEASE_ASSERT(arr2[1] == 6);
MOZ_RELEASE_ASSERT(arr2[2] == 7);
// Style 3
Array<int32_t, 3> arr3({8, 9, 10});
MOZ_RELEASE_ASSERT(arr3[0] == 8);
MOZ_RELEASE_ASSERT(arr3[1] == 9);
MOZ_RELEASE_ASSERT(arr3[2] == 10);
}
int
main()
{
TestInitialValueByConstructor();
return 0;
}

View File

@ -0,0 +1,42 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/EnumeratedArray.h"
enum class AnimalSpecies
{
Cow,
Sheep,
Pig,
Count
};
void TestInitialValueByConstructor()
{
using namespace mozilla;
// Style 1
EnumeratedArray<AnimalSpecies, AnimalSpecies::Count, int> headCount(1, 2, 3);
MOZ_RELEASE_ASSERT(headCount[AnimalSpecies::Cow] == 1);
MOZ_RELEASE_ASSERT(headCount[AnimalSpecies::Sheep] == 2);
MOZ_RELEASE_ASSERT(headCount[AnimalSpecies::Pig] == 3);
// Style 2
EnumeratedArray<AnimalSpecies, AnimalSpecies::Count, int> headCount2{5, 6, 7};
MOZ_RELEASE_ASSERT(headCount2[AnimalSpecies::Cow] == 5);
MOZ_RELEASE_ASSERT(headCount2[AnimalSpecies::Sheep] == 6);
MOZ_RELEASE_ASSERT(headCount2[AnimalSpecies::Pig] == 7);
// Style 3
EnumeratedArray<AnimalSpecies, AnimalSpecies::Count, int> headCount3({8, 9, 10});
MOZ_RELEASE_ASSERT(headCount3[AnimalSpecies::Cow] == 8);
MOZ_RELEASE_ASSERT(headCount3[AnimalSpecies::Sheep] == 9);
MOZ_RELEASE_ASSERT(headCount3[AnimalSpecies::Pig] == 10);
}
int
main()
{
TestInitialValueByConstructor();
return 0;
}

View File

@ -5,6 +5,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
CppUnitTests([
'TestArray',
'TestArrayUtils',
'TestAtomics',
'TestBinarySearch',
@ -16,6 +17,7 @@ CppUnitTests([
'TestCountPopulation',
'TestCountZeroes',
'TestEndian',
'TestEnumeratedArray',
'TestEnumSet',
'TestEnumTypeTraits',
'TestFastBernoulliTrial',

View File

@ -1,6 +1,7 @@
[ShowAlignments]
[ShowSSEConfig]
[TestAppShellSteadyState]
[TestArray]
[TestArrayUtils]
[TestAtomics]
[TestAudioBuffers]
@ -32,6 +33,7 @@ skip-if = os == 'b2g' || (os == 'android' && debug) # Bug 1054249
[TestDllInterceptor]
skip-if = os != 'win'
[TestEndian]
[TestEnumeratedArray]
[TestEnumSet]
[TestEnumTypeTraits]
[TestFastBernoulliTrial]