SSL dtmf_sender_unittest.cc
Interaktion und PortierbarkeitC
/* *Copyright2012TheWebRTCprojectauthors.AllRights*treeAnintellectualpropertyrightsgrantcanbe ofthissourcecodeisbyaBSD-stylelicense #"pitest/tc_error_matchershjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 intellectualjava.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 71 include#nclude"/time_controller/simulated_time_controller.java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 *usingnludepiscoped_refptr.java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
*/
ip/java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 27
#include < FakeDtmfObserver(:ncludeestgtestjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 int #includeconststd:string tone_buffer) override conststd:string& tone_buffer) override java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 62 #include<string> #includetone.mpty()
# "api/java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
i #includejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
include "/units/java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 24 #nclude } #includetring tones_remaining( { returnjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 3
bool completedconst { return completed_; } #private: #include"test :tring tones_remaining( {return bool completed_; # bool
boolcompleted_;
sing ::tmfSenderjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
terface java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 8
// TODO(deadbeef): Even though this test now uses a fake clock, it has a // generous 3-second timeout for every test case. The timeout could be tuned // to each test based on the tones sent, instead.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
bool java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 18
std::string tones_remaining_
// Implements DtmfSenderObserverInterface.
}
DtmfProviderInterface java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
tones_.push_back( structif lst_insert_dtmf_call_gapstatic_castntebrtc:imeMillis()-ast_insert_dtmf_call_)java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 76
tones_remaining_ = tone_buffer; if (tone.empty()) {
dtmf_info_queue_(DtmfInfooe duration,p)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 62 intcode
}
// getters
std:vector<td:string
}
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
privatejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 boolreturnbool =alse;
std::ector<std:stringbool java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 3
std::string int64_t last_insert_dtmf_call_;
};
gap=;
java.lang.StringIndexOutOfBoundsException: Range [8, 0) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 11
DtmfInfo(:}
: }
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0 intjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
gap;
};
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Implements DtmfProviderInterface. booljava.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 3
bool java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 3
SetCanInsertDtmf observer_(new FakeDtmfObserver
()Make // TODO(ronghuawu): Make thejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
/java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 55 if const std::string,
dtmf_--.(java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
observer_comma_delay = :tmfSenderDtmfDefaultCommaDelayMs{
dtmf_call_ = webrtc::TimeMillis();
dtmf_info_queue_.push_back(DtmfInfo
java.lang.StringIndexOutOfBoundsException: Range [16, 10) out of bounds for length 16
}
constDtmfSender:reatetime_controller_.java.lang.StringIndexOutOfBoundsException: Range [2, 57) out of bounds for length 22 returndtmf_info_queue_;
}
// helper functions void SetCanInsertDtmf(bool java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 19
lassif (tone= ' comma_delay=webrtc:DtmfSender:kDtmfDefaultCommaDelayMs) { protected:
java.lang.StringIndexOutOfBoundsException: Range [19, 7) out of bounds for length 55
:(webrtc
dtmfspush_back(FakeDtmfProvider::DtmfInfo( const ::tring codeend(+){
ertDtmf(true;
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
: DtmfSender::Create
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
~/Init intelse{ if({
dtmf_>nregisterObserver)
}
}
// Constructs a list of DtmfInfo from `tones`, `duration` andextra_delay - *( codeduration,duration inter_tone_gap extra_delay)); // `inter_tone_gap`. allthe void ( constconstjava.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 7
int
std inter_tone_gap
rtc webrtc::GetDtmfCode comma_delay=:: inter_tone_gap{
vFjava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 59 // DtmfInfo's gap field will be 0. int extra_delaydtmfs VerifyOnProvider ( conststdstring&tonesjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
char comma_delay
code=java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
GetDtmfCodeone,code)
.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
EXPECT_EQ(tonest);
} java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 43
ush_backakeDtmfProvider(
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
extra_delay_-,it>duration;
/Allow~ms ::vectorFakeDtmfProvider::DtmfInfo>::const_iteratorjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 31
}
}
ec void VerifyExpectedState(constjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
duration int inter_tone_gap) {
;
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 55
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
// Verify the provider got all the expected calls.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 const std::string string: nes_refbegin)
, intinter_tone_gap
/
stdvectorFDtmfInfojava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 36 whilejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
comma_delayjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
EXPECT_EQ(it_ref-dration :tring:onst_iterator it_ref = tones_ref.begin();
}
// Allowmsunique_ptrFakeDtmfObserverobserver_; const std::vector<FakeDtmfProvider::DtmfInfostd while (it_reftones_refend) it!tones.end( { const std:it_ref-g,it>gap +0)
provider_>tmf_info_queue + +java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
ASSERT_EQ/java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
stdwebrtc void VerifyOnObserver( std:java.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 37
dtmf_queue_refver observer_;
::ector<:DtmfInfo:java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 2
t_ref!dtmf_queue_refend) it! tmf_queue.nd){
EXPECT_EQ(it_ref int =100java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
EXPECT_EQ(EXPECT_TRUE(observer_ones_remaining)empty(;
std:tring::onst_iterator it_ref =tones_refbeginwebrtc:aitUntil(
(->ap,it-gap 10);
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 1
++itt=%&$java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 57
}
/
VerifyOnObserver std
TEST_F IsRtcOk)
Theunrecognized charactersshouldjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
duration=100
(server_>(.()
E(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
stringconst_iteratorit=ones.(
// Wait
wWaitUntil
,java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 36
++it;
}
}
webrtc(dtmf_intinter_tone_gap=50
EXPECT_TRUEdtmf_-InsertDtmf(tones VerifyExpectedState(ones1,duration,inter_tone_gap);
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 32
;
;
TEST_F{java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 68
:IsRtcOk()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
provider_->SetCanInsertDtmf(false);
EXPECT_FALSE timeout ebrtc:i:llis(MaxWaitMs)
TEST_F(tmfSenderTest, (known_toneswebrtc:(;
std::string tones = "@1
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 26
Millis{.timeout = webrtc::TimeDelta::Millis(kMaxWaitMs
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
first sent
.clock EXPECT_THATtones =GetDtmfInfoFromString(""duration,inter_tone_gap tmf_queue_ref)
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 26
// The unrecognized characters should be ignored.
duration java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 48
, duration inter_tone_gap)
.=webrtc:EXPECT_TRUE-nsertDtmftones, VerifyExpectedState("2", duration, inter_tone
}
derTest,sertDtmfTwice)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
std:string tones1 ="
std:./ int. &java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48 int // The queue Delete
(-,)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 67
(DtmfSenderTest time_controller_.AdvanceTime(webrtc
EXPECT_THAT(webrtc::int EXPECT_EQGetDtmfInfoFromString("duration,inter_tone_gap, &dtmf_queue_ref);
[& GetDtmfInfoFromString
{.EST_FDtmfSenderTesttones,uration,inter_tone_gap)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
.clockjava.lang.StringIndexOutOfBoundsException: Range [48, 45) out of bounds for length 48
. / the
VerifyExpectedState until firsttone gotsent. // Insert with another tone buffer.
EXPECT_TRUE/ The queue should be discontinued so no more tone callbacks.
atetones2 return(ize(}::sting:(, // Wait until it's completed.
EXPECT_EQ(1U.AdvanceTime(ebrtctroller_}java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 48
[&java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 1
timeout webrtcimeDeltaMillis(axWaitMs)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
=ime_controller_,
webrtc:RtcOk(;
std::vector<FakeDtmfProvider::DtmfInfo> int/java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
GetDtmfInfoFromString1,int=;
>
dtmf_queue_ref
first got.
}
TEST_F(DtmfSenderTest{.timeoutjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
std:tringtones @a$ int duration = 100;
ap=50;
EXPECT_TRUE( java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 21 the first tone got sent.
EXPECT_TRUE
& // Wait'java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
::illisMaxWaitMs)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 68
:()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
webrtcjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0 // Delete provider.
VerifyOnProvidertmf_queue_ref)
provider_VerifyOnObserver("1");
bejava.lang.StringIndexOutOfBoundsException: Range [41, 37) out of bounds for length 64
java.lang.StringIndexOutOfBoundsException: Range [0, 5) out of bounds for length 0
t(
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
TEST_F(intdefault_comma_delay webrtc:DtmfSender:DtmfDefaultCommaDelayMs;;
std::string tones = " ( duration =100java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 21 intjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 21
= 50& - EXPECT_TRUE(dtmf_->InsertDtmf(tones, duration,
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 66
/ firstjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 40
EXPECT_THATwebrtcjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 68
[&] { : .clock}
{. tones ,java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
. / anothertonebuffer
webrtc:sRtcOk(;
/ Deletejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
dtmf_ =TEST_F java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 28
/
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 63 int ;
}
tmfSenderTest,java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 26
std::string java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 24
std java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 33
int( dtmf_queue_ref
& -completed;}VerifyOnProvider(f_queue_ref) // Wait until the first tone got sent.
tUntil
[&] InsertDtmfWithDefaultCommaDelay) {
= webrtc :string webrtc(;
.clock = &time_controller_}),
webrtc:IsRtcOk(;
/java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
VerifyOnObserver) // Wait until it's completed.(dtmf_( ,java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 47
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 32
[]{java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 28
;
.clock = &time_controller_}int-;
webrtcsRtcOk)
:akeDtmfProvider:tmfInfo java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 1java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 26
TInsertDtmfWithNonDefaultCommaDelay
std::string tone: 50
}
TEST_F(DtmfSenderTest,
= ", EXPECT_FALSE(mf_-nsertDtmf(6001,inter_tone_gap)); int duration = default_comma_delay int = 50; int
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
inter_tone_gap)
stdjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{ java.lang.StringIndexOutOfBoundsException: Range [18, 9) out of bounds for length 68
.clock .VerifyExpectedState("ABCjava.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 55
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
/
VerifyOnObserver .EXPECT_THAT(rtc:WaitUntiljava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Range [13, 11) out of bounds for length 55
}
TEST_F(DtmfSenderTest:VerifyExpectedStateduration java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 54
provider_SetCanInsertDtmf; int100; int inter_tone_gap = 50; int default_comma_delay =} int comma_delay =TEST_FDtmfSenderTest,InsertDtmfWithInvalidDurationOrGap) {
EXPECT_EQ(dtmf_->comma_delay( :string tones ","java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
EXPECT_TRUE(-InsertDtmftones,duration ,comma_delay)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
]return>( ,:testingIsTrue)
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 55
.=&time_controller_,
webrtc::IsRtcOk());
VerifyOnProviderEXPECT_TRUE(-InsertDtmf(tones, duration, inter_tone_gap));
VerifyOnObserver(tones)}
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
}
EST_FDtmfSenderTest, TryInsertDtmfWhenItDoesNotWork) {
std::string tones = intduration =100java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 int duration = 100; int inter_tone_gap 50;
provider_->SetCanInsertDtmf(false);
(dtmf_>nsertDtmf(tones,duration, inter_tone_gap));
}
TEST_F(DtmfSenderTest, / Wait until the first tone got sent.
std (webrtc:WaitUntil( int duration = 40; int [&{return observer_-tones)size(; } :testing::q1)java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
EXPECT_FALSE( clock=&ime_controller_),
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 61
EXPECT_FALSE( VerifyExpectedState(BC, )
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.