Browse Source

Tests: Use pointers in TestHTMLTokenizer to avoid copying HTMLTokens

Max Wipfli 4 years ago
parent
commit
b6e995ca3c
1 changed files with 5 additions and 5 deletions
  1. 5 5
      Tests/LibWeb/TestHTMLTokenizer.cpp

+ 5 - 5
Tests/LibWeb/TestHTMLTokenizer.cpp

@@ -14,13 +14,13 @@ using Token = Web::HTML::HTMLToken;
 
 
 #define BEGIN_ENUMERATION(tokens)          \
 #define BEGIN_ENUMERATION(tokens)          \
     auto current_token = (tokens).begin(); \
     auto current_token = (tokens).begin(); \
-    Optional<Token> last_token;
+    [[maybe_unused]] Token* last_token;
 
 
 #define END_ENUMERATION() \
 #define END_ENUMERATION() \
     EXPECT(current_token.is_end());
     EXPECT(current_token.is_end());
 
 
-#define NEXT_TOKEN()             \
-    last_token = *current_token; \
+#define NEXT_TOKEN()              \
+    last_token = &*current_token; \
     ++current_token;
     ++current_token;
 
 
 #define EXPECT_START_TAG_TOKEN(_tag_name)                    \
 #define EXPECT_START_TAG_TOKEN(_tag_name)                    \
@@ -56,11 +56,11 @@ using Token = Web::HTML::HTMLToken;
     NEXT_TOKEN();
     NEXT_TOKEN();
 
 
 #define EXPECT_TAG_TOKEN_ATTRIBUTE(name, value) \
 #define EXPECT_TAG_TOKEN_ATTRIBUTE(name, value) \
-    VERIFY(last_token.has_value());             \
+    VERIFY(last_token);                         \
     EXPECT_EQ(last_token->attribute(#name), #value);
     EXPECT_EQ(last_token->attribute(#name), #value);
 
 
 #define EXPECT_TAG_TOKEN_ATTRIBUTE_COUNT(count) \
 #define EXPECT_TAG_TOKEN_ATTRIBUTE_COUNT(count) \
-    VERIFY(last_token.has_value());             \
+    VERIFY(last_token);                         \
     EXPECT_EQ(last_token->attribute_count(), (size_t)(count));
     EXPECT_EQ(last_token->attribute_count(), (size_t)(count));
 
 
 static Vector<Token> run_tokenizer(StringView const& input)
 static Vector<Token> run_tokenizer(StringView const& input)