diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin10_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin10_test.dart
index 68a4de6..361e98b 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin10_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin10_test.dart
@@ -12,7 +12,7 @@
   method1(a) => 'B$a';
 }
 
-class Mixin extends SuperA {
+mixin Mixin on SuperA {
   method1(a) => super.method1('M$a');
   method2(a) => 'M$a';
 }
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin1_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin1_test.dart
index 0189243..6f6d16a 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin1_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin1_test.dart
@@ -2,9 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// TODO(johnniwinther): Changes this and other supermixin tests to use the
-// new syntax when supported by CFE.
-
 import 'package:expect/expect.dart';
 
 class SuperA {
@@ -15,7 +12,7 @@
   method(a) => 'B$a';
 }
 
-class Mixin extends SuperA {
+mixin Mixin on SuperA {
   method(a) => super.method('M$a');
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin2_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin2_test.dart
index c8b0a59..846fe88 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin2_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin2_test.dart
@@ -12,7 +12,7 @@
   method(a) => 'B$a';
 }
 
-class Mixin extends SuperA {
+mixin Mixin on SuperA {
   method(a) => super.method('M$a');
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin3_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin3_test.dart
index 647b81f..c5bfca0 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin3_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin3_test.dart
@@ -12,7 +12,7 @@
   get getter => 'B';
 }
 
-class Mixin extends SuperA {
+mixin Mixin on SuperA {
   get getter => super.getter;
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin4_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin4_test.dart
index 219f917..a450c76 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin4_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin4_test.dart
@@ -12,7 +12,7 @@
   get getter => 'B';
 }
 
-class Mixin extends SuperA {
+mixin Mixin on SuperA {
   get getter => super.getter;
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin5_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin5_test.dart
index 79ed041..41ea90c 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin5_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin5_test.dart
@@ -14,7 +14,7 @@
   set setter(int a) => field = a + 1;
 }
 
-class Mixin extends SuperA {
+mixin Mixin on SuperA {
   set setter(int a) => super.setter = a;
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin6_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin6_test.dart
index 3e75b98..86a998f 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin6_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin6_test.dart
@@ -14,7 +14,7 @@
   set setter(int a) => field = a + 1;
 }
 
-class Mixin extends SuperA {
+mixin Mixin on SuperA {
   set setter(int a) => super.setter = a;
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin7_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin7_test.dart
index d4cb2d8..80e0a17 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin7_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin7_test.dart
@@ -12,7 +12,7 @@
   method() => T;
 }
 
-class Mixin<T> extends SuperA<T> {
+mixin Mixin<T> on SuperA<T> {
   method() => super.method();
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin8_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin8_test.dart
index 8e15ffe..42af785 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin8_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin8_test.dart
@@ -12,7 +12,7 @@
   method() => S;
 }
 
-class Mixin<T, S> extends SuperA<T, S> {
+mixin Mixin<T, S> on SuperA<T, S> {
   method() => super.method();
 }
 
diff --git a/tests/compiler/dart2js_extra/supermixin/supermixin9_test.dart b/tests/compiler/dart2js_extra/supermixin/supermixin9_test.dart
index c50be54..41a688f 100644
--- a/tests/compiler/dart2js_extra/supermixin/supermixin9_test.dart
+++ b/tests/compiler/dart2js_extra/supermixin/supermixin9_test.dart
@@ -12,7 +12,7 @@
   method() => String;
 }
 
-class Mixin<T> extends SuperA<T> {
+mixin Mixin<T> on SuperA<T> {
   method() => super.method();
 }
 
