fixes
diff --git a/.travis.yml b/.travis.yml
index 497fe68..d41d3c2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,6 @@
 
 dart:
   - dev
-  - 2.8.1
 
 dart_task:
   - test: -p vm
@@ -10,14 +9,10 @@
 
 matrix:
   include:
-    - dart: dev
-      dart_task: dartfmt
-    - dart: dev
-      dart_task:
-        dartanalyzer: --fatal-warnings --fatal-infos .
-    - dart: 2.8.1
-      dart_task:
-        dartanalyzer: --fatal-warnings .
+    - script: pub run --enable-experiment=non-nullable test -p vm,chrome
+    - dart_task: dartfmt
+    - dart_task:
+        dartanalyzer: --enable-experiment=non-nullable --fatal-warnings --fatal-infos .
 
 # Only building master means that we don't run two builds for each pull request.
 branches:
diff --git a/lib/dom.dart b/lib/dom.dart
index bdbfb09..bcc535d 100644
--- a/lib/dom.dart
+++ b/lib/dom.dart
@@ -85,7 +85,8 @@
   /// are implemented. For example, nth-child does not implement An+B syntax
   /// and *-of-type is not implemented. If a selector is not implemented this
   /// method will throw [UniplmentedError].
-  Element? querySelector(String selector) => query.querySelector(this, selector);
+  Element? querySelector(String selector) =>
+      query.querySelector(this, selector);
 
   /// Returns all descendant nodes matching the given selectors, using a
   /// preorder traversal.
@@ -1018,7 +1019,8 @@
   @override
   Set<Element> toSet() => Set<Element>.from(this);
   @override
-  Element firstWhere(bool Function(Element) test, {Element Function()? orElse}) {
+  Element firstWhere(bool Function(Element) test,
+      {Element Function()? orElse}) {
     return _filtered.firstWhere(test, orElse: orElse);
   }
 
diff --git a/test/parser_feature_test.dart b/test/parser_feature_test.dart
index 5f75555..7825a23 100644
--- a/test/parser_feature_test.dart
+++ b/test/parser_feature_test.dart
@@ -134,8 +134,8 @@
     final doc = parse(text, generateSpans: true);
     final elem = doc.querySelector('foo')!;
 
-    expect(
-        elem.attributeSpans!['template']!.start.offset, text.indexOf('template'));
+    expect(elem.attributeSpans!['template']!.start.offset,
+        text.indexOf('template'));
     expect(elem.attributeValueSpans!.containsKey('template'), false);
   });