diff --git a/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php b/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php
index 8b1b339..af4f550 100644
--- a/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php
@@ -82,6 +82,9 @@ protected function setUp() {
       ->method('getLibrariesWithDependencies')
       ->willReturnArgument(0);
     $this->moduleHandler = $this->getMock('\Drupal\Core\Extension\ModuleHandlerInterface');
+    $this->moduleHandler->expects($this->any())
+      ->method('getImplementations')
+      ->willReturn(['system']);
     $this->themeManager = $this->getMock('\Drupal\Core\Theme\ThemeManagerInterface');
     $active_theme = $this->getMockBuilder('\Drupal\Core\Theme\ActiveTheme')
       ->disableOriginalConstructor()
@@ -151,6 +154,27 @@ public function providerAttachedAssets() {
     ];
   }
 
+  /**
+   * @covers ::getJsAssets
+   * @dataProvider providerAttachedAssetsSettings
+   */
+  public function testGetJsAssetsSettings(AttachedAssetsInterface $assets_a, AttachedAssetsInterface $assets_b, $expected_cache_item_count) {
+    $result_a = $this->assetResolver->getJsAssets($assets_a, FALSE);
+    $result_b = $this->assetResolver->getJsAssets($assets_b, FALSE);
+    $this->assertCount($expected_cache_item_count, $this->cache->getAllCids());
+  }
+
+  public function providerAttachedAssetsSettings() {
+    $time = time();
+    return [
+      'same libraries, different timestamps' => [
+        (new AttachedAssets())->setAlreadyLoadedLibraries(['core/jquery'])->setLibraries(['core/drupal', 'core/drupalSettings', 'core/drupal.ajax', 'core/jquery'])->setSettings(['currentTime' => $time]),
+        (new AttachedAssets())->setAlreadyLoadedLibraries([])->setLibraries(['core/drupal', 'core/drupalSettings', 'core/drupal.ajax'])->setSettings(['currentTime' => $time + 100]),
+        1
+      ],
+    ];
+  }
+
 }
 
 if (!defined('CSS_AGGREGATE_DEFAULT')) {
