diff --git a/src/ftxui/component/button_test.cpp b/src/ftxui/component/button_test.cpp
index a2e35f17cd40ea5f74359f4147ff60444c588c27..e4c770c6884dffb6ebaa1019aea5362b480bc008 100644
--- a/src/ftxui/component/button_test.cpp
+++ b/src/ftxui/component/button_test.cpp
@@ -94,6 +94,7 @@ TEST(ButtonTest, Basic) {
 }
 
 TEST(ButtonTest, Animation) {
+  Terminal::SetColorSupport(Terminal::Color::TrueColor);
   int press_count = 0;
   std::string last_press = "";
   auto option = ButtonOption::Animated();
@@ -123,23 +124,23 @@ TEST(ButtonTest, Animation) {
   {
     Screen screen(12, 3);
     Render(screen, container->Render());
-    EXPECT_EQ(
-        screen.ToString(),
-        "\x1B[1m\x1B[38;5;250m\x1B[48;5;16m      \x1B[22m      "
-        "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;5;250m\x1B[48;5;16m btn1 \x1B[22m "
-        "btn2 \x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;5;250m\x1B[48;5;16m      "
-        "\x1B[22m      \x1B[39m\x1B[49m");
+    EXPECT_EQ(screen.ToString(),
+              "\x1B[1m\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m      \x1B[22m     "
+              " \x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;2;192;192;192m\x1B[48;2;0;0;"
+              "0m btn1 \x1B[22m btn2 "
+              "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;2;192;192;192m\x1B[48;2;0;0;"
+              "0m      \x1B[22m      \x1B[39m\x1B[49m");
   }
   selected = 1;
   {
     Screen screen(12, 3);
     Render(screen, container->Render());
-    EXPECT_EQ(
-        screen.ToString(),
-        "\x1B[38;5;250m\x1B[48;5;16m      \x1B[1m      "
-        "\x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;5;250m\x1B[48;5;16m btn1 \x1B[1m "
-        "btn2 \x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;5;250m\x1B[48;5;16m      "
-        "\x1B[1m      \x1B[22m\x1B[39m\x1B[49m");
+    EXPECT_EQ(screen.ToString(),
+              "\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m      \x1B[1m      "
+              "\x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;2;192;192;192m\x1B[48;2;0;0;"
+              "0m btn1 \x1B[1m btn2 "
+              "\x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;2;192;192;192m\x1B[48;2;0;0;"
+              "0m      \x1B[1m      \x1B[22m\x1B[39m\x1B[49m");
   }
   animation::Params params(2s);
   container->OnAnimation(params);
@@ -148,11 +149,13 @@ TEST(ButtonTest, Animation) {
     Render(screen, container->Render());
     EXPECT_EQ(
         screen.ToString(),
-        "\x1B[38;5;250m\x1B[48;5;16m      \x1B[1m\x1B[38;5;231m\x1B[48;5;244m  "
-        "    \x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;5;250m\x1B[48;5;16m btn1 "
-        "\x1B[1m\x1B[38;5;231m\x1B[48;5;244m btn2 "
-        "\x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;5;250m\x1B[48;5;16m      "
-        "\x1B[1m\x1B[38;5;231m\x1B[48;5;244m      \x1B[22m\x1B[39m\x1B[49m");
+        "\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m      "
+        "\x1B[1m\x1B[38;2;255;255;255m\x1B[48;2;128;128;128m      "
+        "\x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m "
+        "btn1 \x1B[1m\x1B[38;2;255;255;255m\x1B[48;2;128;128;128m btn2 "
+        "\x1B[22m\x1B[39m\x1B[49m\r\n\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m    "
+        "  \x1B[1m\x1B[38;2;255;255;255m\x1B[48;2;128;128;128m      "
+        "\x1B[22m\x1B[39m\x1B[49m");
   }
   EXPECT_EQ(selected, 1);
   container->OnEvent(MousePressed(3, 1));
@@ -160,25 +163,29 @@ TEST(ButtonTest, Animation) {
   {
     Screen screen(12, 3);
     Render(screen, container->Render());
-    EXPECT_EQ(screen.ToString(),
-              "\x1B[1m\x1B[38;5;253m\x1B[48;5;238m      "
-              "\x1B[22m\x1B[38;5;231m\x1B[48;5;244m      "
-              "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;5;253m\x1B[48;5;238m btn1 "
-              "\x1B[22m\x1B[38;5;231m\x1B[48;5;244m btn2 "
-              "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;5;253m\x1B[48;5;238m      "
-              "\x1B[22m\x1B[38;5;231m\x1B[48;5;244m      \x1B[39m\x1B[49m");
+    EXPECT_EQ(
+        screen.ToString(),
+        "\x1B[1m\x1B[38;2;223;223;223m\x1B[48;2;64;64;64m      "
+        "\x1B[22m\x1B[38;2;255;255;255m\x1B[48;2;128;128;128m      "
+        "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;2;223;223;223m\x1B[48;2;64;64;64m "
+        "btn1 \x1B[22m\x1B[38;2;255;255;255m\x1B[48;2;128;128;128m btn2 "
+        "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;2;223;223;223m\x1B[48;2;64;64;64m  "
+        "    \x1B[22m\x1B[38;2;255;255;255m\x1B[48;2;128;128;128m      "
+        "\x1B[39m\x1B[49m");
   }
   container->OnAnimation(params);
   {
     Screen screen(12, 3);
     Render(screen, container->Render());
-    EXPECT_EQ(screen.ToString(),
-              "\x1B[1m\x1B[38;5;231m\x1B[48;5;244m      "
-              "\x1B[22m\x1B[38;5;250m\x1B[48;5;16m      "
-              "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;5;231m\x1B[48;5;244m btn1 "
-              "\x1B[22m\x1B[38;5;250m\x1B[48;5;16m btn2 "
-              "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;5;231m\x1B[48;5;244m      "
-              "\x1B[22m\x1B[38;5;250m\x1B[48;5;16m      \x1B[39m\x1B[49m");
+    EXPECT_EQ(
+        screen.ToString(),
+        "\x1B[1m\x1B[38;2;255;255;255m\x1B[48;2;128;128;128m      "
+        "\x1B[22m\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m      "
+        "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;2;255;255;255m\x1B[48;2;128;128;"
+        "128m btn1 \x1B[22m\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m btn2 "
+        "\x1B[39m\x1B[49m\r\n\x1B[1m\x1B[38;2;255;255;255m\x1B[48;2;128;128;"
+        "128m      \x1B[22m\x1B[38;2;192;192;192m\x1B[48;2;0;0;0m      "
+        "\x1B[39m\x1B[49m");
   }
 }