Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: Tools/DumpRenderTree/DumpRenderTreeCommon.cpp

Issue 16844004: Stop building DumpRenderTree and delete the files. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: merge Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 #include "config.h"
2 #include "DumpRenderTree.h"
3
4 #include <algorithm>
5 #include <ctype.h>
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <string>
9
10 class CommandTokenizer {
11 public:
12 explicit CommandTokenizer(const std::string& input)
13 : m_input(input)
14 , m_posNextSeparator(0)
15 {
16 pump();
17 }
18
19 bool hasNext() const;
20 std::string next();
21
22 private:
23 void pump();
24 static const char kSeparator = '\'';
25 const std::string& m_input;
26 std::string m_next;
27 size_t m_posNextSeparator;
28 };
29
30 void CommandTokenizer::pump()
31 {
32 if (m_posNextSeparator == std::string::npos || m_posNextSeparator == m_input .size()) {
33 m_next = std::string();
34 return;
35 }
36 size_t start = m_posNextSeparator ? m_posNextSeparator + 1 : 0;
37 m_posNextSeparator = m_input.find(kSeparator, start);
38 size_t size = m_posNextSeparator == std::string::npos ? std::string::npos : m_posNextSeparator - start;
39 m_next = std::string(m_input, start, size);
40 }
41
42 std::string CommandTokenizer::next()
43 {
44 ASSERT(hasNext());
45
46 std::string oldNext = m_next;
47 pump();
48 return oldNext;
49 }
50
51 bool CommandTokenizer::hasNext() const
52 {
53 return !m_next.empty();
54 }
55
56 NO_RETURN static void die(const std::string& inputLine)
57 {
58 fprintf(stderr, "Unexpected input line: %s\n", inputLine.c_str());
59 exit(1);
60 }
61
62 TestCommand parseInputLine(const std::string& inputLine)
63 {
64 TestCommand result;
65 CommandTokenizer tokenizer(inputLine);
66 if (!tokenizer.hasNext())
67 die(inputLine);
68
69 std::string arg = tokenizer.next();
70 result.pathOrURL = arg;
71 while (tokenizer.hasNext()) {
72 arg = tokenizer.next();
73 if (arg == std::string("--timeout")) {
74 std::string timeoutToken = tokenizer.next();
75 result.timeout = atoi(timeoutToken.c_str());
76 } else if (arg == std::string("-p") || arg == std::string("--pixel-test" )) {
77 result.shouldDumpPixels = true;
78 if (tokenizer.hasNext())
79 result.expectedPixelHash = tokenizer.next();
80 } else
81 die(inputLine);
82 }
83
84 return result;
85 }
OLDNEW
« no previous file with comments | « Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp ('k') | Tools/DumpRenderTree/chromium/DRTDevToolsAgent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698