Attribute Parsing

- Attributes do not contain spaces unless specifically quoted and
  escaped.
This commit is contained in:
Paul Beckingham 2011-07-31 15:19:06 -04:00
parent a171f6e4ac
commit a91b6d4564
2 changed files with 7 additions and 6 deletions

View file

@ -145,7 +145,7 @@ void A3::capture (int argc, const char** argv)
void A3::capture (const std::string& arg) void A3::capture (const std::string& arg)
{ {
std::vector <std::string> parts; std::vector <std::string> parts;
this->push_back (Arg (arg, "")); this->push_back (Arg (arg, ""));
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -1214,6 +1214,7 @@ bool A3::is_attr (Nibbler& n, std::string& result)
if (n.getQuoted ('"', value) || if (n.getQuoted ('"', value) ||
n.getQuoted ('\'', value) || n.getQuoted ('\'', value) ||
n.getName (value) || n.getName (value) ||
n.getUntilWS (value) ||
n.getUntilEOS (value) || n.getUntilEOS (value) ||
n.depleted ()) n.depleted ())
{ {

View file

@ -76,7 +76,7 @@ sleep 1;
qx{../src/task rc:oldest.rc add eleven}; qx{../src/task rc:oldest.rc add eleven};
$output = qx{../src/task rc:oldest.rc oldest}; $output = qx{../src/task rc:oldest.rc oldest};
like ($output, qr/one/, 'oldest: one'); like ($output, qr/one/, 'oldest: one'); # 10
like ($output, qr/two/, 'oldest: two'); like ($output, qr/two/, 'oldest: two');
like ($output, qr/three/, 'oldest: three'); like ($output, qr/three/, 'oldest: three');
like ($output, qr/four/, 'oldest: four'); like ($output, qr/four/, 'oldest: four');
@ -86,7 +86,7 @@ like ($output, qr/seven/, 'oldest: seven');
like ($output, qr/eight/, 'oldest: eight'); like ($output, qr/eight/, 'oldest: eight');
like ($output, qr/nine/, 'oldest: nine'); like ($output, qr/nine/, 'oldest: nine');
like ($output, qr/ten/, 'oldest: ten'); like ($output, qr/ten/, 'oldest: ten');
unlike ($output, qr/eleven/, 'no: eleven'); unlike ($output, qr/eleven/, 'no: eleven'); # 20
$output = qx{../src/task rc:oldest.rc oldest limit:3}; $output = qx{../src/task rc:oldest.rc oldest limit:3};
like ($output, qr/one/, 'oldest: one'); like ($output, qr/one/, 'oldest: one');
@ -98,7 +98,7 @@ unlike ($output, qr/six/, 'no: six');
unlike ($output, qr/seven/, 'no: seven'); unlike ($output, qr/seven/, 'no: seven');
unlike ($output, qr/eight/, 'no: eight'); unlike ($output, qr/eight/, 'no: eight');
unlike ($output, qr/nine/, 'no: nine'); unlike ($output, qr/nine/, 'no: nine');
unlike ($output, qr/ten/, 'no: ten'); unlike ($output, qr/ten/, 'no: ten'); # 30
unlike ($output, qr/eleven/, 'no: eleven'); unlike ($output, qr/eleven/, 'no: eleven');
$output = qx{../src/task rc:oldest.rc newest}; $output = qx{../src/task rc:oldest.rc newest};
@ -110,7 +110,7 @@ like ($output, qr/five/, 'newest: five');
like ($output, qr/six/, 'newest: six'); like ($output, qr/six/, 'newest: six');
like ($output, qr/seven/, 'newest: seven'); like ($output, qr/seven/, 'newest: seven');
like ($output, qr/eight/, 'newest: eight'); like ($output, qr/eight/, 'newest: eight');
like ($output, qr/nine/, 'newest: nine'); like ($output, qr/nine/, 'newest: nine'); # 40
like ($output, qr/ten/, 'newest: ten'); like ($output, qr/ten/, 'newest: ten');
like ($output, qr/eleven/, 'newest: eleven'); like ($output, qr/eleven/, 'newest: eleven');
@ -122,7 +122,7 @@ unlike ($output, qr/four/, 'no: four');
unlike ($output, qr/five/, 'no: five'); unlike ($output, qr/five/, 'no: five');
unlike ($output, qr/six/, 'no: six'); unlike ($output, qr/six/, 'no: six');
unlike ($output, qr/seven/, 'no: seven'); unlike ($output, qr/seven/, 'no: seven');
unlike ($output, qr/eight/, 'no: eight'); unlike ($output, qr/eight/, 'no: eight'); # 50
like ($output, qr/nine/, 'newest: nine'); like ($output, qr/nine/, 'newest: nine');
like ($output, qr/ten/, 'newest: ten'); like ($output, qr/ten/, 'newest: ten');
like ($output, qr/eleven/, 'newest: eleven'); like ($output, qr/eleven/, 'newest: eleven');