日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mockito –带有注释和静态方法的额外接口

發布時間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mockito –带有注释和静态方法的额外接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在代碼中,我最近遇到了一段非常糟糕的代碼,這些代碼基于對對象執行某些操作的類轉換。 當然,代碼需要重構,但是如果您首先沒有對該功能進行單元測試,則有時您可能無法做到/或者不想這樣做(這應該是可以理解的)。 在下面的文章中,我將展示如何測試這種代碼,如何重構它以及實際上我對這種代碼的看法。

讓我們看一下項目結構:

如關于Mocktio的JAXB答復REPOSTS_DEEP_STUBS的帖子所述,在com.blogspot.toomuchcoding.model包中,我們再次使用JAXB編譯器生成了JAXB生成的類。 讓我們省略對pom.xml文件的討論,因為它與上一篇文章完全相同。

在com.blogspot.toomuchcoding.adapter包中,我們在JAXB PlayerDetails類上具有適配器,該類提供對Player接口的訪問。 有:

CommonPlayerAdapter.java

package com.blogspot.toomuchcoding.adapter;import com.blogspot.toomuchcoding.model.Player; import com.blogspot.toomuchcoding.model.PlayerDetails;/*** User: mgrzejszczak* Date: 09.06.13* Time: 15:42*/ public class CommonPlayerAdapter implements Player {private final PlayerDetails playerDetails;public CommonPlayerAdapter(PlayerDetails playerDetails){this.playerDetails = playerDetails;}@Overridepublic void run() {System.out.printf("Run %s. Run!%n", playerDetails.getName());}public PlayerDetails getPlayerDetails() {return playerDetails;} }

DefencePlayerAdapter.java

package com.blogspot.toomuchcoding.adapter;import com.blogspot.toomuchcoding.model.DJ; import com.blogspot.toomuchcoding.model.DefensivePlayer; import com.blogspot.toomuchcoding.model.JavaDeveloper; import com.blogspot.toomuchcoding.model.PlayerDetails;/*** User: mgrzejszczak* Date: 09.06.13* Time: 15:42*/ public class DefencePlayerAdapter extends CommonPlayerAdapter implements DefensivePlayer, DJ, JavaDeveloper {public DefencePlayerAdapter(PlayerDetails playerDetails){super(playerDetails);}@Overridepublic void defend(){System.out.printf("Defence! %s. Defence!%n", getPlayerDetails().getName());}@Overridepublic void playSomeMusic() {System.out.println("Oops I did it again...!");}@Overridepublic void doSomeSeriousCoding() {System.out.println("System.out.println(\"Hello world\");");} }

OffensivePlayerAdapter.java

package com.blogspot.toomuchcoding.adapter;import com.blogspot.toomuchcoding.model.OffensivePlayer; import com.blogspot.toomuchcoding.model.PlayerDetails;/*** User: mgrzejszczak* Date: 09.06.13* Time: 15:42*/ public class OffensivePlayerAdapter extends CommonPlayerAdapter implements OffensivePlayer {public OffensivePlayerAdapter(PlayerDetails playerDetails){super(playerDetails);}@Overridepublic void shoot(){System.out.printf("%s Shooooot!.%n", getPlayerDetails().getName());} }

好的,現在讓我們轉到更有趣的部分。 讓我們假設我們有一個非常簡單的玩家工廠:

PlayerFactoryImpl.java

package com.blogspot.toomuchcoding.factory;import com.blogspot.toomuchcoding.adapter.CommonPlayerAdapter; import com.blogspot.toomuchcoding.adapter.DefencePlayerAdapter; import com.blogspot.toomuchcoding.adapter.OffensivePlayerAdapter; import com.blogspot.toomuchcoding.model.Player; import com.blogspot.toomuchcoding.model.PlayerDetails; import com.blogspot.toomuchcoding.model.PositionType;/*** User: mgrzejszczak* Date: 09.06.13* Time: 15:53*/public class PlayerFactoryImpl implements PlayerFactory {@Overridepublic Player createPlayer(PositionType positionType) {PlayerDetails player = createCommonPlayer(positionType);switch (positionType){case ATT:return new OffensivePlayerAdapter(player);case MID:return new OffensivePlayerAdapter(player);case DEF:return new DefencePlayerAdapter(player);case GK:return new DefencePlayerAdapter(player);default:return new CommonPlayerAdapter(player);}}private PlayerDetails createCommonPlayer(PositionType positionType){PlayerDetails playerDetails = new PlayerDetails();playerDetails.setPosition(positionType);return playerDetails;} }

好的,我們有一家制造Player的工廠。 讓我們看一下使用工廠的服務:

PlayerServiceImpl.java

package com.blogspot.toomuchcoding.service;import com.blogspot.toomuchcoding.factory.PlayerFactory; import com.blogspot.toomuchcoding.model.*;/*** User: mgrzejszczak* Date: 08.06.13* Time: 19:02*/ public class PlayerServiceImpl implements PlayerService {private PlayerFactory playerFactory;@Overridepublic Player playAGameWithAPlayerOfPosition(PositionType positionType) {Player player = playerFactory.createPlayer(positionType);player.run();performAdditionalActions(player);return player;}private void performAdditionalActions(Player player) {if(player instanceof OffensivePlayer){OffensivePlayer offensivePlayer = (OffensivePlayer) player;performAdditionalActionsForTheOffensivePlayer(offensivePlayer);}else if(player instanceof DefensivePlayer){DefensivePlayer defensivePlayer = (DefensivePlayer) player;performAdditionalActionsForTheDefensivePlayer(defensivePlayer);}}private void performAdditionalActionsForTheOffensivePlayer(OffensivePlayer offensivePlayer){offensivePlayer.shoot();}private void performAdditionalActionsForTheDefensivePlayer(DefensivePlayer defensivePlayer){defensivePlayer.defend();try{DJ dj = (DJ)defensivePlayer;dj.playSomeMusic();JavaDeveloper javaDeveloper = (JavaDeveloper)defensivePlayer;javaDeveloper.doSomeSeriousCoding();}catch(ClassCastException exception){System.err.println("Sorry, I can't do more than just play football...");}}public PlayerFactory getPlayerFactory() {return playerFactory;}public void setPlayerFactory(PlayerFactory playerFactory) {this.playerFactory = playerFactory;} }

讓我們承認吧……這段代碼很糟糕。 在內部,當您查看它時(無論它是否使用了 operator 實例 ),您都認為它是邪惡的。 正如您在代碼中看到的那樣,我們正在進行一些類強制轉換……我們到底如何進行測試? 在大多數測試框架中,您無法對模擬進行此類類轉換,因為它們是使用CGLIB庫構建的,并且可能會拋出一些ClassCastExceptions。 您仍然無法返回模擬和真實的實現(假設這些模擬和構建不會在構建過程中執行任何丑陋的工作),并且它實際上可以工作,但仍然如此–這是錯誤的代碼

自帶的Mockito給救援(雖然你不應該過度使用此功能-事實上,如果你需要使用它,請考慮重構它)與其extraInterfaces特點:

extraInterfaces

MockSettings extraInterfaces (java.lang.Class <?>…接口)

指定模擬應實現的額外接口。 對于遺留代碼或某些極端情況可能很有用。 有關背景信息,請參見此處的問題51。此神秘功能應經常使用。 被測對象應該確切知道其協作者和依賴性。 如果您碰巧經常使用它,請確保您確實在生成簡單,干凈且可讀的代碼。

例子:

Foo foo = mock(Foo.class, withSettings().extraInterfaces(Bar.class, Baz.class));//now, the mock implements extra interfaces, so following casting is possible:Bar bar = (Bar) foo;Baz baz = (Baz) foo;

參數:

interfaces –應該實現的額外接口。

返回值:設置實例,以便您可以流暢地指定其他設置
現在讓我們看一下測試:

PlayerServiceImplTest.java

package com.blogspot.toomuchcoding.service;import com.blogspot.toomuchcoding.factory.PlayerFactory; import com.blogspot.toomuchcoding.model.*; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.invocation.InvocationOnMock; import org.mockito.runners.MockitoJUnitRunner; import org.mockito.stubbing.Answer;import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.mockito.BDDMockito.*;/*** User: mgrzejszczak* Date: 08.06.13* Time: 19:26*/ @RunWith(MockitoJUnitRunner.class) public class PlayerServiceImplTest {@MockPlayerFactory playerFactory;@InjectMocksPlayerServiceImpl objectUnderTest;@Mock(extraInterfaces = {DJ.class, JavaDeveloper.class})DefensivePlayer defensivePlayerWithDjAndJavaDevSkills;@MockDefensivePlayer defensivePlayer;@MockOffensivePlayer offensivePlayer;@MockPlayer commonPlayer;@Testpublic void shouldReturnOffensivePlayerThatRan() throws Exception {//givengiven(playerFactory.createPlayer(PositionType.ATT)).willReturn(offensivePlayer);//whenPlayer createdPlayer = objectUnderTest.playAGameWithAPlayerOfPosition(PositionType.ATT);//thenassertThat(createdPlayer == offensivePlayer, is(true));verify(offensivePlayer).run();}@Testpublic void shouldReturnDefensivePlayerButHeWontBeADjNorAJavaDev() throws Exception {//givengiven(playerFactory.createPlayer(PositionType.GK)).willReturn(defensivePlayer);//whenPlayer createdPlayer = objectUnderTest.playAGameWithAPlayerOfPosition(PositionType.GK);//thenassertThat(createdPlayer == defensivePlayer, is(true));verify(defensivePlayer).run();verify(defensivePlayer).defend();verifyNoMoreInteractions(defensivePlayer);}@Testpublic void shouldReturnDefensivePlayerBeingADjAndAJavaDev() throws Exception {//givengiven(playerFactory.createPlayer(PositionType.GK)).willReturn(defensivePlayerWithDjAndJavaDevSkills);doAnswer(new Answer<Object>() {@Overridepublic Object answer(InvocationOnMock invocationOnMock) throws Throwable {System.out.println("Hit me baby one more time!");return null;}}).when(((DJ) defensivePlayerWithDjAndJavaDevSkills)).playSomeMusic();doAnswer(new Answer<Object>() {@Overridepublic Object answer(InvocationOnMock invocationOnMock) throws Throwable {System.out.println("public static void main(String... args){\n}");return null;}}).when(((JavaDeveloper) defensivePlayerWithDjAndJavaDevSkills)).doSomeSeriousCoding();//whenPlayer createdPlayer = objectUnderTest.playAGameWithAPlayerOfPosition(PositionType.GK);//thenassertThat(createdPlayer == defensivePlayerWithDjAndJavaDevSkills, is(true));verify(defensivePlayerWithDjAndJavaDevSkills).run();verify(defensivePlayerWithDjAndJavaDevSkills).defend();verify((DJ) defensivePlayerWithDjAndJavaDevSkills).playSomeMusic();verify((JavaDeveloper) defensivePlayerWithDjAndJavaDevSkills).doSomeSeriousCoding();}@Testpublic void shouldReturnDefensivePlayerBeingADjAndAJavaDevByUsingWithSettings() throws Exception {//givenDefensivePlayer defensivePlayerWithDjAndJavaDevSkills = mock(DefensivePlayer.class, withSettings().extraInterfaces(DJ.class, JavaDeveloper.class));given(playerFactory.createPlayer(PositionType.GK)).willReturn(defensivePlayerWithDjAndJavaDevSkills);doAnswer(new Answer<Object>() {@Overridepublic Object answer(InvocationOnMock invocationOnMock) throws Throwable {System.out.println("Hit me baby one more time!");return null;}}).when(((DJ) defensivePlayerWithDjAndJavaDevSkills)).playSomeMusic();doAnswer(new Answer<Object>() {@Overridepublic Object answer(InvocationOnMock invocationOnMock) throws Throwable {System.out.println("public static void main(String... args){\n}");return null;}}).when(((JavaDeveloper) defensivePlayerWithDjAndJavaDevSkills)).doSomeSeriousCoding();//whenPlayer createdPlayer = objectUnderTest.playAGameWithAPlayerOfPosition(PositionType.GK);//thenassertThat(createdPlayer == defensivePlayerWithDjAndJavaDevSkills, is(true));verify(defensivePlayerWithDjAndJavaDevSkills).run();verify(defensivePlayerWithDjAndJavaDevSkills).defend();verify((DJ) defensivePlayerWithDjAndJavaDevSkills).playSomeMusic();verify((JavaDeveloper) defensivePlayerWithDjAndJavaDevSkills).doSomeSeriousCoding();}@Testpublic void shouldReturnCommonPlayer() throws Exception {//givengiven(playerFactory.createPlayer(null)).willReturn(commonPlayer);//whenPlayer createdPlayer = objectUnderTest.playAGameWithAPlayerOfPosition(null);//thenassertThat(createdPlayer, is(commonPlayer));} }

這里有很多測試,所以讓我們看一下最有趣的測試。 但是在開始之前,我們先:提供@RunWith(MockitoJUnitRunner.class)批注,它使我們能夠使用Mockito批注,例如@Mock和@InjectMocks 。

說到哪個@Mock注釋會創建一個Mock,而@InjectMocks則通過構造函數或setter注入所有模擬(這太棒了嗎?)。

對于防御性玩家,我們使用注解extraInterfaces的extra元素,該元素為給定的Mock提供其他接口。 您還可以編寫(可以在shouldReturnDefensivePlayerBeingADjAndAJavaDevByUsingWithSettings測試中找到的內容 ):

DefensivePlayer defensivePlayerWithDjAndJavaDevSkills = mock(DefensivePlayer.class, withSettings().extraInterfaces(DJ.class, JavaDeveloper.class));

讓我們仔細看看為與DefensivePlayer相關的功能和被測函數的轉換部分編寫的測試:

@Testpublic void shouldReturnDefensivePlayerBeingADjAndAJavaDev() throws Exception {//givengiven(playerFactory.createPlayer(PositionType.GK)).willReturn(defensivePlayerWithDjAndJavaDevSkills);doAnswer(new Answer<Object>() {@Overridepublic Object answer(InvocationOnMock invocationOnMock) throws Throwable {System.out.println("Hit me baby one more time!");return null;}}).when(((DJ) defensivePlayerWithDjAndJavaDevSkills)).playSomeMusic();doAnswer(new Answer<Object>() {@Overridepublic Object answer(InvocationOnMock invocationOnMock) throws Throwable {System.out.println("public static void main(String... args){\n}");return null;}}).when(((JavaDeveloper) defensivePlayerWithDjAndJavaDevSkills)).doSomeSeriousCoding();//whenPlayer createdPlayer = objectUnderTest.playAGameWithAPlayerOfPosition(PositionType.GK);//thenassertThat(createdPlayer == defensivePlayerWithDjAndJavaDevSkills, is(true));verify(defensivePlayerWithDjAndJavaDevSkills).run();verify(defensivePlayerWithDjAndJavaDevSkills).defend();verify((DJ) defensivePlayerWithDjAndJavaDevSkills).playSomeMusic();verify((JavaDeveloper) defensivePlayerWithDjAndJavaDevSkills).doSomeSeriousCoding();}

我們正在使用BDDMockito靜態方法,如給定(...)。willReturn(...)。willAnswer(...)等。然后,將空方法與自定義Anwsers結合使用。 在下一行中,您可以看到,為了存根另一個接口的方法,必須將模擬轉換為給定的接口。 這與驗證階段有關,在該階段,我不檢查是否已執行方法,您必須將模擬轉換為給定的接口。

您可以通過從工廠返回一個實際的實現來改進測試,或者如果創建一個繁瑣的操作,則可以返回這種實現的模擬。 我想在這里展示的是如何在Mockito中使用額外的接口(也許我的用例不是最好的用例)。 無論如何,測試中提出的實現都是不好的,所以我們應該考慮重構它的方法……

一種想法可能是,假設在Service中完成的附加邏輯是對象創建的一部分,將代碼原樣移至工廠:

PlayFactoryImplWithFieldSettingLogic.java

package com.blogspot.toomuchcoding.factory;import com.blogspot.toomuchcoding.adapter.CommonPlayerAdapter; import com.blogspot.toomuchcoding.adapter.DefencePlayerAdapter; import com.blogspot.toomuchcoding.adapter.OffensivePlayerAdapter; import com.blogspot.toomuchcoding.model.*;/*** User: mgrzejszczak* Date: 09.06.13* Time: 15:53*/public class PlayerFactoryImplWithFieldSettingLogic implements PlayerFactory {@Overridepublic Player createPlayer(PositionType positionType) {PlayerDetails player = createCommonPlayer(positionType);switch (positionType){case ATT:return createOffensivePlayer(player);case MID:return createOffensivePlayer(player);case DEF:return createDefensivePlayer(player);case GK:return createDefensivePlayer(player);default:return new CommonPlayerAdapter(player);}}private Player createDefensivePlayer(PlayerDetails player) {DefencePlayerAdapter defencePlayerAdapter = new DefencePlayerAdapter(player);defencePlayerAdapter.defend();defencePlayerAdapter.playSomeMusic();defencePlayerAdapter.doSomeSeriousCoding();return defencePlayerAdapter;}private OffensivePlayer createOffensivePlayer(PlayerDetails player) {OffensivePlayer offensivePlayer = new OffensivePlayerAdapter(player);offensivePlayer.shoot();return offensivePlayer;}private PlayerDetails createCommonPlayer(PositionType positionType){PlayerDetails playerDetails = new PlayerDetails();playerDetails.setPosition(positionType);return playerDetails;} }

這樣就沒有強制轉換代碼是真正干凈的。 現在,PlayerService如下所示:

PlayerServiceImplWIthoutUnnecessaryLogic.java

package com.blogspot.toomuchcoding.service;import com.blogspot.toomuchcoding.factory.PlayerFactory; import com.blogspot.toomuchcoding.model.*;/*** User: mgrzejszczak* Date: 08.06.13* Time: 19:02*/ public class PlayerServiceImplWithoutUnnecessaryLogic implements PlayerService {private PlayerFactory playerFactory;/*** What's the point in having this method then?* @param positionType* @return*/@Overridepublic Player playAGameWithAPlayerOfPosition(PositionType positionType) {return playerFactory.createPlayer(positionType);}public PlayerFactory getPlayerFactory() {return playerFactory;}public void setPlayerFactory(PlayerFactory playerFactory) {this.playerFactory = playerFactory;} }

隨之而來的問題是,您的代碼庫中是否甚至需要這種方法……

總結一下,我希望我能展示如何:

  • 使用MockitoJUnitRunner以干凈的方式注入模擬
  • 使用注釋或靜態方法添加可以被您的模擬使用的額外接口
  • 使用BDDMockito執行方法存根
  • 帶有自定義答案的存根無效方法
  • 附加接口的存根和驗證方法
  • 重構使用類強制轉換的代碼

這些源可在TooMuchCoding Bitbucket存儲庫和TooMuchCoding Github存儲庫中找到。

參考: Mockito –來自我們的JCG合作伙伴 Marcin Grzejszczak(位于Blog上)的 具有注釋和靜態方法的Extra Interfaces, 用于編碼癮君子博客。

翻譯自: https://www.javacodegeeks.com/2013/06/mockito-extra-interfaces-with-annotations-and-static-methods.html

總結

以上是生活随笔為你收集整理的Mockito –带有注释和静态方法的额外接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

五月婷亚洲 | 三级a毛片 | 国内少妇自拍视频一区 | 国产精品一区专区欧美日韩 | 视频二区 | 久草在线电影网 | 久久99久久99久久 | av在线最新 | 久久视频这里有久久精品视频11 | 日韩视频1区 | 亚洲精品网站在线 | 五月婷婷视频在线 | 欧美无极色| 亚洲色图av | 亚洲成人av影片 | 2020天天干天天操 | 国产午夜av| 96看片 | 99精品免费网| 美女视频黄在线观看 | 天天玩天天操天天射 | 超碰夜夜 | 在线 高清 中文字幕 | 黄色三级在线 | www夜夜操com | 天天做天天爱天天爽综合网 | 人人干狠狠操 | 国产精久久 | 国产高清精品在线 | 处女av在线 | 在线色视频小说 | 中文字幕 国产视频 | 91精品无人成人www | 在线观看免费黄视频 | 99在线精品视频观看 | 一本一本久久a久久精品牛牛影视 | 亚洲欧美日韩国产精品一区午夜 | 91精品国产99久久久久久久 | 天天操操操操操操 | www日| 亚洲国产日韩在线 | 美女网站色 | 亚洲国产电影在线观看 | 久久精品在线视频 | 国产精品嫩草影院9 | a国产精品 | 五月天天av | 日韩免费视频一区二区 | 久久国产精品二国产精品中国洋人 | 亚洲人成免费网站 | 三级黄色理论片 | 91尤物国产尤物福利在线播放 | 国产美女精品 | 精品国内自产拍在线观看视频 | 国产福利91精品 | 91热视频 | 欧美极品久久 | 欧美一级片免费 | 最近中文字幕国语免费av | 综合久久久久久久久 | 麻豆视频免费在线播放 | 免费97视频 | 美女视频久久久 | 国产在线2020 | 亚洲区视频在线 | 国产精品精品国产婷婷这里av | 久久看片网| 国产亚洲精品成人av久久影院 | 色a网| 国产精品嫩草在线 | 激情欧美一区二区三区免费看 | 97在线视频免费播放 | 99久久精品无码一区二区毛片 | 99久久激情 | 久久亚洲影视 | 色噜噜在线观看视频 | 一级片免费观看 | 日日夜夜狠狠操 | 免费无遮挡动漫网站 | 中文字幕首页 | 中文字幕影片免费在线观看 | 欧美在线aaa | 天天干天天操天天干 | 国产91精品一区二区麻豆网站 | 美女黄频| 亚洲欧美一区二区三区孕妇写真 | 91理论片午午伦夜理片久久 | 天天躁天天操 | 六月丁香婷婷在线 | 亚洲 欧美 另类人妖 | 国产精品白浆视频 | 久久久国产99久久国产一 | 欧美a级在线免费观看 | 色在线视频 | 91.dizhi永久地址最新 | 热九九精品 | 91欧美国产| 久久99最新地址 | 成人高清在线观看 | 97人人添人澡人人爽超碰动图 | 白丝av在线 | 日韩电影在线一区二区 | 久久亚洲美女 | 亚洲精品玖玖玖av在线看 | www国产亚洲 | 日韩午夜视频在线观看 | 97色国产 | 国产午夜在线观看视频 | 久草视频网 | 伊人影院99 | www.久久免费视频 | 久久永久免费视频 | 精品国产一区二区三区蜜臀 | 久久久久久久久久久电影 | 亚洲播放一区 | 三级小视频在线观看 | 日韩丝袜在线观看 | 亚洲午夜精品久久久久久久久久久久 | 欧美日韩国产亚洲乱码字幕 | 五月婷婷黄色 | 热久久影视 | 91九色蝌蚪视频在线 | 日韩欧美视频在线观看免费 | 日p视频 | 亚洲一区二区三区四区在线视频 | 天天操天天射天天爽 | 在线观看91久久久久久 | 精品在线观看免费 | 国产麻豆精品传媒av国产下载 | 国产特级毛片aaaaaaa高清 | 色小说av | 精品亚洲国产视频 | 亚洲精品中文在线观看 | 久久久久久久久电影 | 国产在线污 | 国产91综合一区在线观看 | 国产99久久久久 | 国内精品久久久久影院日本资源 | av资源免费看 | 视频一区二区精品 | 最近中文国产在线视频 | 日韩久久午夜一级啪啪 | 四虎永久免费网站 | 岛国精品一区二区 | 91人人在线 | 亚洲成a人片在线观看网站口工 | 在线播放 日韩专区 | 亚洲永久av | 中文字幕一区二区三区四区在线视频 | 婷婷福利影院 | 最近日本mv字幕免费观看 | 国产视频一区二区在线播放 | 手机色在线 | 国产女人18毛片水真多18精品 | 2022中文字幕在线观看 | 国产精品国产三级国产不产一地 | 久久麻豆视频 | 日韩电影一区二区在线观看 | 亚洲精品视频国产 | 精品久久久久久综合 | 91在线视频在线观看 | 色婷婷激情 | 国产精品久久亚洲 | 成人污视频在线观看 | 很黄很色很污的网站 | av亚洲产国偷v产偷v自拍小说 | 91片在线观看 | 国产二区视频在线观看 | 超碰成人网 | 亚洲精品午夜一区人人爽 | 亚洲精品在线观 | 国产精品电影一区二区 | 99这里都是精品 | 日批视频国产 | 国产 一区二区三区 在线 | 500部大龄熟乱视频使用方法 | 911精品美国片911久久久 | 国产精品视频专区 | 日韩一区二区三区不卡 | 久久人人爽人人爽人人片 | 国产视频久 | 国产成人精品综合 | 国产亚洲欧洲 | 亚洲成av人片在线观看香蕉 | 黄色精品网站 | 日韩电影在线观看一区二区三区 | 在线观看日韩免费视频 | 欧美国产日韩在线视频 | 三级黄色三级 | 国内精品久久久久影院优 | 探花视频免费观看 | 国产区在线看 | 亚洲五月婷 | 免费下载高清毛片 | 久久人人插 | 男女靠逼app | 国产一级特黄毛片在线毛片 | 黄色片网站 | 久久99免费视频 | 少妇啪啪av入口 | 免费国产在线精品 | 偷拍精偷拍精品欧洲亚洲网站 | 日韩两性视频 | 日韩精品中文字幕一区二区 | 黄色免费观看视频 | 在线观看你懂的网址 | 97在线免费| 97在线免费视频观看 | 成人黄色电影免费观看 | 精品免费视频. | 中文字幕一区二区在线观看 | 久久精品一二三区白丝高潮 | 久久综合久久伊人 | 激情影音| 韩日三级av | 1000部18岁以下禁看视频 | 三级在线播放视频 | 久久精品免费看 | 国产精品日韩欧美 | 少妇精品久久久一区二区免费 | 中文字幕人成乱码在线观看 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 久久污视频 | 99国产精品 | 免费看色视频 | 国产高清av| 欧美日韩亚洲精品在线 | 在线观看国产永久免费视频 | 日韩av有码在线 | 一区二区三区播放 | 天天色天天 | 亚洲精品国产综合久久 | 久久精品免视看 | 在线免费观看黄色小说 | 狠狠操综合网 | 美女精品网站 | 91成人黄色 | 国产一区二区免费看 | 免费一级特黄录像 | 综合视频在线 | 日韩精品三区四区 | 亚洲砖区区免费 | 在线看国产视频 | 一级黄色片毛片 | 精品国产一区二区在线 | 看污网站 | 久久99久久99精品 | 国产人成看黄久久久久久久久 | 夜夜高潮夜夜爽国产伦精品 | 欧美一区二区三区免费观看 | 国产精品久久久久久久久久久久 | 亚洲精品一区二区三区四区高清 | 97狠狠干 | 久久黄色免费视频 | 91麻豆网 | 日韩免费一级a毛片在线播放一级 | 五月婷婷丁香色 | 欧美日韩大片在线观看 | 久草视频中文 | 高清精品久久 | 精品国产欧美一区二区 | 欧洲视频一区 | 亚洲黄色在线观看 | 国产96在线 | 久久久免费视频播放 | 欧美a级成人淫片免费看 | 91麻豆精品国产 | 日日夜夜综合网 | 国产精品日韩欧美 | 黄色精品网站 | 中文字幕一区二区三区久久蜜桃 | 国产精品久久久久久久婷婷 | 少妇性aaaaaaaaa视频 | 六月激情网 | 操操操影院 | 极品嫩模被强到高潮呻吟91 | 久草在线视频新 | 在线国产一区二区 | 日韩在线免费不卡 | 狠狠躁日日躁夜夜躁av | 久久久久久久久久久影视 | 久人人| 日韩av成人在线 | 国产精品毛片久久久久久久久久99999999 | 成人观看视频 | 国产成人精品久久二区二区 | 欧美午夜视频在线 | 色av男人的天堂免费在线 | 国产精品综合在线观看 | 亚洲影院色| 91在线视频播放 | 丰满少妇对白在线偷拍 | 久久人人爽人人爽人人片av软件 | 天天干天天玩天天操 | 亚洲视频资源在线 | 国产伦精品一区二区三区免费 | 日本在线免费看 | 国产一区二区在线播放 | 久久综合国产伦精品免费 | 成人免费看片98欧美 | 91精品无人成人www | 日韩精品视频免费专区在线播放 | 黄色软件在线观看免费 | 狠狠伊人 | 99精品视频精品精品视频 | 日日日天天天 | 麻豆视频免费在线观看 | 久久资源在线 | 日韩在线免费小视频 | 在线观看亚洲免费视频 | 精品国产福利在线 | 在线视频日韩一区 | 久久99精品久久久久久久久久久久 | 日韩精品1区2区 | 久久五月婷婷丁香社区 | 中文字幕视频播放 | 亚洲精品国产精品国自产观看浪潮 | 久久久久久久久久久久久久电影 | 91.麻豆视频 | 国产精品久久久久久久免费 | 久久99久久99精品免观看粉嫩 | 亚洲欧美国产精品18p | 免费又黄又爽的视频 | 911精品美国片911久久久 | 在线视频 国产 日韩 | 中文字幕在线播放一区 | aaa日本高清在线播放免费观看 | 精品字幕| 久久午夜精品视频 | 国产一级淫片免费看 | 天天弄天天干 | 国产区av在线 | 亚洲精品久久久久久中文传媒 | 四虎国产免费 | 成人综合免费 | 日韩免费中文 | 国模一二三区 | 久久国产精品系列 | 中文网丁香综合网 | 中文字幕视频一区 | 中文亚洲欧美日韩 | 国产精品美女久久久久久 | 久久er99热精品一区二区三区 | 毛片888| 国产精品一区二区久久精品 | 性色av免费在线观看 | 国产精品美女毛片真酒店 | 天天射天天干天天插 | 天堂va在线高清一区 | 成人在线免费看 | 91毛片在线观看 | 成片免费 | 久久久久久久久久久久影院 | 国产日本在线观看 | 五月综合激情婷婷 | 亚洲专区 国产精品 | 欧美伦理电影一区二区 | 97视频中文字幕 | 久久久久久国产一区二区三区 | 亚洲精品国产麻豆 | 成人观看 | 激情文学综合丁香 | 精品亚洲午夜久久久久91 | 国产一级在线观看视频 | 午夜精品一区二区三区四区 | 成人久久久久久久久久 | 在线看片中文字幕 | av在线免费播放 | 国产精美视频 | 国产成人在线精品 | 99在线精品免费视频九九视 | 免费a级黄色毛片 | 综合影视 | 一区二区精品在线观看 | 青青河边草免费观看完整版高清 | 亚洲性少妇性猛交wwww乱大交 | 久久久精品免费观看 | 97精品视频在线 | 99欧美| 精品国产1区2区 | 免费一级特黄录像 | 成人avav| 成年人视频在线观看免费 | 国产精品久久久久久久久久直播 | 夜色资源站国产www在线视频 | 亚洲午夜精品一区 | 久久综合色播五月 | h久久| 久久久久中文 | 欧美另类69 | 国产a网站| 91精品啪在线观看国产线免费 | 日韩精品一区在线观看 | 中文字幕有码在线播放 | 麻豆一精品传二传媒短视频 | 国产欧美最新羞羞视频在线观看 | 久久精品一区二 | 99资源网 | 人人爽人人舔 | 91精品视频播放 | 成年人在线观看 | 三级性生活视频 | 四虎在线观看网址 | 99久久精品一区二区成人 | 天天天天干| 91伊人影院 | 成人av午夜 | 精品人妖videos欧美人妖 | 最新av电影网站 | 精品福利视频在线观看 | 国产成人综合在线观看 | 色香蕉视频 | 亚洲成av | 91视频免费看网站 | 毛片网站在线 | 在线观看视频免费大全 | 久久99国产精品久久99 | 五月婷婷激情五月 | 欧美久久久久久久久久久 | 国产视频高清 | 久久av电影 | 狠狠色狠狠色综合日日92 | 日日摸日日添日日躁av | 久香蕉 | 久久综合九色综合欧美就去吻 | 国产亚洲视频在线观看 | 日韩中文字 | 亚洲一区二区三区毛片 | 丝袜美女在线观看 | 91成人免费在线视频 | 四虎在线观看视频 | 手机看片午夜 | 国产一级视频在线观看 | 免费国产在线精品 | 国产97色| 操操操操网 | 91九色在线视频观看 | 欧美一级视频一区 | 美女免费视频网站 | 欧美美女激情18p | 成人动漫一区二区三区 | 久久亚洲综合色 | 五月婷婷激情 | 在线播放日韩av | 国产精久久久久久妇女av | 色噜噜狠狠狠狠色综合久不 | 超碰97中文 | 日韩精品专区在线影院重磅 | 欧美a在线免费观看 | 国产精品免费视频观看 | 伊人久久一区 | 成人h电影在线观看 | 国产高清免费 | 国产成人精品免高潮在线观看 | 99 久久久久 | 天堂av在线免费观看 | 视频在线一区二区三区 | 欧美少妇xx | 国产香蕉视频在线播放 | 国产亚洲视频系列 | 91av在线免费播放 | 欧美久久久影院 | 亚洲丁香久久久 | 91视频黄色 | 亚洲国产精品视频在线观看 | 亚洲精品www.| av在线播放观看 | 日韩大陆欧美高清视频区 | 91在线播放综合 | 国产午夜精品一区二区三区欧美 | 国内揄拍国内精品 | 九草视频在线 | 黄色91在线观看 | 国产一区黄色 | 香蕉在线影院 | 国产精品久久久久久麻豆一区 | 综合网五月天 | 亚洲精品午夜久久久 | 国产成人久久精品77777 | 久草在线一免费新视频 | 天天插综合网 | 中文字幕色网站 | 69精品人人人人 | 日韩午夜电影院 | 99在线看 | 午夜久久久久久久久 | 92国产精品久久久久首页 | 91视频在线免费下载 | 美女视频又黄又免费 | 亚洲另类视频在线观看 | 久久精品99北条麻妃 | 欧美,日韩| 中文有码在线 | 久久国内精品99久久6app | 色婷婷狠 | 精品国产aⅴ麻豆 | 狠狠狠色 | 日本三级大片 | 亚洲va韩国va欧美va精四季 | 超碰av在线 | 99久久综合国产精品二区 | 美女精品在线观看 | 久久人91精品久久久久久不卡 | 成人av av在线 | 中文超碰字幕 | 久久久久日本精品一区二区三区 | 黄色www免费| ,午夜性刺激免费看视频 | 久久久久97国产 | 亚州欧美视频 | 国产亚洲一区 | 久久精品国产久精国产 | 国产精品美女久久久网av | 91麻豆视频 | 国产精品美女久久久久久久久 | 亚洲午夜电影网 | 国产日韩在线看 | 午夜色大片在线观看 | 亚洲激情电影在线 | 亚洲干视频在线观看 | 97视频成人| 国产精品久久99综合免费观看尤物 | 国产精品专区h在线观看 | 成人在线免费观看视视频 | 超碰97在线看 | 日韩在线国产 | 国产视| 丁香婷婷色月天 | 欧美日韩高清国产 | 亚洲丁香久久久 | 91丨九色丨丝袜 | 免费观看完整版无人区 | 很黄很黄的网站免费的 | 日韩欧美综合在线视频 | 久久精品国产99国产 | 精品免费视频123区 午夜久久成人 | 欧美精品免费在线观看 | av免费电影网站 | 日韩视频一区二区三区在线播放免费观看 | 天堂激情网 | 又粗又长又大又爽又黄少妇毛片 | 亚洲理论在线观看电影 | 国产在线观看免费 | 美女精品网站 | 免费h视频 | 久久久久国产成人免费精品免费 | 蜜臀av在线一区二区三区 | 免费在线观看成人av | 久久视屏网 | 在线性视频日韩欧美 | 伊人亚洲精品 | 伊人影院得得 | 日韩不卡高清视频 | 久艹在线免费观看 | 丁香激情五月 | 中文字幕久久网 | 国产一级在线 | 天天操天天操 | 少妇高潮冒白浆 | 91传媒在线观看 | 久久电影国产免费久久电影 | 久久国产精品免费观看 | 97看片吧 | 午夜精品一区二区国产 | 日日爽天天爽 | 久久久久五月天 | 成年人黄色av | 中文字幕 国产视频 | 久久免费国产 | 欧美在线久久 | 在线看一区 | 又湿又紧又大又爽a视频国产 | 日韩视频1区 | 一区二区国产精品 | 一区二区精品在线 | 四虎影视8848aamm | 久久久久观看 | 精品国产片 | 黄色小说视频网站 | 日韩有码在线观看视频 | 久久久久久激情 | 九九色在线 | 国产糖心vlog在线观看 | 菠萝菠萝蜜在线播放 | 狠狠操夜夜 | 黄色亚洲精品 | 亚洲精品影视在线观看 | 日韩久久久久久久久久 | 特级西西444www大胆高清无视频 | 91 中文字幕| www国产亚洲| wwwav视频 | 国产精品精 | 在线视频 你懂得 | 日韩av电影免费观看 | 精品91视频 | 久草视频首页 | 在线日韩视频 | 四虎影视成人精品国库在线观看 | 成人av电影免费在线观看 | 国产一区二区中文字幕 | 夜夜爽夜夜操 | 国产黄色免费 | 五月婷亚洲| 五月婷婷开心中文字幕 | 日韩亚洲精品电影 | 91尤物在线播放 | 人人操日日干 | 99在线热播 | 免费看精品久久片 | 中文一区在线观看 | 精品人妖videos欧美人妖 | 91在线资源 | 国产精国产精品 | 精品久久网站 | 亚洲高清精品在线 | 成人一级片在线观看 | www.xxx.性狂虐 | 国产黄色av| 天天操综合网站 | 国产精品第一 | 精品国产乱码久久久久久浪潮 | 毛片的网址 | 99久久精品免费看国产麻豆 | 国产在线播放不卡 | 成人av日韩 | 在线之家免费在线观看电影 | 最近免费在线观看 | 亚洲综合在线一区二区三区 | 国产一区在线观看视频 | 久久精品日本啪啪涩涩 | 国产精品免费久久久久久久久久中文 | 日本久久免费视频 | 精品久久久久久久久久久久久 | 夜夜澡人模人人添人人看 | 国产精品2018| 国产午夜精品久久久久久久久久 | 一级精品视频在线观看宜春院 | 福利视频第一页 | aaa亚洲精品一二三区 | av电影 一区二区 | 天天拍天天爽 | 亚洲日日日 | 亚洲综合色视频在线观看 | 精品久久久久久亚洲综合网站 | 9999国产精品 | 欧美在线1 | 色a网 | 久久亚洲综合国产精品99麻豆的功能介绍 | 最近免费中文字幕mv在线视频3 | 狠狠狠狠狠狠天天爱 | 91桃色在线播放 | 婷婷激情影院 | 久久国产精品一二三区 | 欧美成人手机版 | 婷婷色综合色 | 久久色中文字幕 | 青青草在久久免费久久免费 | 国产精品久久久久久久久久妇女 | 亚洲人成影院在线 | 韩国精品视频在线观看 | 人人爽人人爱 | 国产精品视频资源 | 国产成人精品久久久久蜜臀 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | www夜夜操com| 久久国产精品小视频 | 亚洲精品国产第一综合99久久 | 色婷婷一区| 91九色蝌蚪国产 | 日韩av成人在线观看 | 亚洲精品小视频在线观看 | a爱爱视频| 激情视频在线观看网址 | 午夜精品久久久久久久99婷婷 | 久久精品毛片 | 日日躁夜夜躁aaaaxxxx | 免费三级骚 | 精品亚洲午夜久久久久91 | 国产尤物一区二区三区 | 天天操夜夜操夜夜操 | 欧美性色xo影院 | 在线观看91视频 | 69国产精品视频 | 精品国产欧美一区二区 | 有码中文在线 | 午夜久久美女 | 综合伊人久久 | 成人免费看片98欧美 | 亚洲 综合 激情 | 国产成人av电影在线观看 | 久久久夜色 | 又黄又色又爽 | 日韩精品免费一区 | 欧美日韩视频网站 | 日韩啪啪小视频 | 国产传媒中文字幕 | 天天噜天天色 | 久久亚洲欧美日韩精品专区 | 蜜臀精品久久久久久蜜臀 | a爱爱视频 | 亚洲欧美视屏 | av电影免费看 | 天天操天天舔天天爽 | 91视频亚洲| aaa亚洲精品一二三区 | 国产亚洲精品久久久久久移动网络 | 欧美在线资源 | 成人毛片a| 黄色网址国产 | 日韩网站一区二区 | av天天澡天天爽天天av | 狠狠色丁香婷婷综合最新地址 | 国产亚洲精品久久久久久 | 激情婷婷久久 | 婷婷av网 | 91九色蝌蚪视频网站 | 欧美日韩国产精品一区二区 | 99热超碰| 97精品国自产拍在线观看 | av资源免费观看 | 亚洲理论电影 | 欧美性视频网站 | 久久色视频 | 蜜臀av免费一区二区三区 | 亚洲最大在线视频 | 欧美三级免费 | 久久免费精品一区二区三区 | 日韩精品免费一区二区在线观看 | 日本不卡123区 | 久久久久国产精品免费网站 | 中文字幕乱码一区二区 | 2021国产在线 | 91豆花在线| 久草9视频| 久久久伦理 | 久久精品久久精品久久 | 91人人在线 | 在线观看麻豆av | 99色在线视频 | 一本色道久久综合亚洲二区三区 | 久久天天躁夜夜躁狠狠躁2022 | 青春草免费视频 | 免费一级黄色 | 久久久伊人网 | 色狠狠久久av五月综合 | 黄色在线免费观看网址 | 91福利社区在线观看 | 久久精品99国产国产 | 欧美成人精品在线 | 美女网站视频免费黄 | 99久久夜色精品国产亚洲 | 欧美日韩精品在线观看视频 | 99tvdz@gmail.com| 黄色一级在线视频 | 久久婷婷视频 | 国产中文视 | 激情网站网址 | 亚洲精品播放 | 91丨九色丨勾搭 | 国产视频一区二区在线观看 | 国产一区二区三区 在线 | 91大神精品视频在线观看 | 亚洲视频精选 | 不卡av在线 | 99久久国产免费看 | 国产精品一区免费观看 | 91中文字幕永久在线 | 国产亚洲视频在线免费观看 | 亚洲人成免费网站 | 国产黄色片在线免费观看 | 天天射天天搞 | av免费在线网站 | 国产精品99精品久久免费 | 久久国产综合视频 | 欧美精品国产综合久久 | 日韩精品一区二区三区免费观看视频 | 欧洲一区二区在线观看 | 国产成人av网 | 91视频高清| 麻豆视频在线观看免费 | 国产护士hd高朝护士1 | 免费99视频 | 免费日韩高清 | 在线免费视频一区 | 久久久久久蜜av免费网站 | 久久精品国产精品亚洲精品 | 碰超在线 | 天天视频色版 | 人人爽人人澡人人添人人人人 | 美女禁18| 少妇超碰在线 | 欧美极品xxx | 又污又黄网站 | 成人黄色片免费看 | 久久久久免费精品国产 | 久久精品综合 | 在线观看视频h | 精品国产三级a∨在线欧美 免费一级片在线观看 | 欧美日韩国产在线 | 波多野结衣在线视频一区 | 国产又粗又长又硬免费视频 | 中文字幕 成人 | 国产xxxxx在线观看 | 亚洲视频精选 | 激情久久综合 | 久久国产欧美日韩 | 激情五月婷婷激情 | 91在线看片 | 日韩网站免费观看 | 最新免费中文字幕 | 波多野结衣视频一区二区三区 | 日韩在线电影一区二区 | 成年人在线免费看片 | 久久99在线视频 | 亚洲有 在线| 欧美久久久久久久久久久久久 | 免费男女羞羞的视频网站中文字幕 | 99久热在线精品视频成人一区 | 久久久国产精品一区二区中文 | 人人草网站 | 在线成人小视频 | 成人影视免费看 | 久久久91精品国产一区二区三区 | 国产成人av网站 | 久久中文字幕在线视频 | 91久久人澡人人添人人爽欧美 | 欧美日本中文字幕 | 六月丁香激情综合 | 成人香蕉视频 | 亚洲艳情| 精品在线视频观看 | 国产精品国产三级国产专区53 | 美女视频黄在线 | 久草精品在线 | 欧美日韩在线电影 | 香蕉蜜桃视频 | 国内成人精品2018免费看 | 国产成人精品一区二区三区福利 | 国产在线视频一区二区 | 91麻豆精品国产91久久久无需广告 | 色综合久久网 | 涩五月婷婷 | 久久久久久久久久网站 | 久久精品视频网站 | 免费黄色在线网站 | 国产.精品.日韩.另类.中文.在线.播放 | 国产精品美女免费 | 国产一二区视频 | 91大片网站 | 日韩黄视频| 国产小视频在线免费观看视频 | 久草电影在线观看 | 欧美日韩一区二区久久 | 国产91精品一区二区麻豆网站 | 激情网站网址 | 国精产品999国精产 久久久久 | 国产一区在线看 | 国产亚洲精品久久久久久无几年桃 | 国产精品观看在线亚洲人成网 | 婷婷视频在线播放 | 中文字幕乱在线伦视频中文字幕乱码在线 | 日本韩国精品一区二区在线观看 | 欧美激情精品一区 | 狠狠操狠狠插 | 一区二区三区在线视频111 | 黄色在线观看免费 | 久久久免费观看视频 | 国产精品视频资源 | 国产精品一区在线观看你懂的 | 91porny九色91啦中文 | 久久九九影视 | 免费又黄又爽视频 | 三级黄免费看 | 国产精品不卡在线播放 | 精品久久久久一区二区国产 | 久久精品免费播放 | 亚洲一级片 | 青草草在线视频 | 午夜精品一区二区三区免费 | 亚洲国内精品在线 | av福利资源 | 国产精品 国内视频 | 国产精品中文久久久久久久 | 韩国精品在线观看 | 日韩免费一区 | 一区二区三区 亚洲 | 99精品在线观看视频 | 99视频偷窥在线精品国自产拍 | 亚洲专区在线视频 | 日韩av不卡在线 | 午夜av免费看 | 国产精品精品久久久 | 天天射天天干天天操 | 玖玖在线看 | 五月天婷婷免费视频 | 久久久96 | 日韩精品视频免费专区在线播放 | 91av视频在线观看免费 | 亚洲精品9 | 日本视频不卡 | 黄色免费大片 | 亚洲国产精品第一区二区 | 国产高清视频在线播放一区 | 一级特黄av | 欧美成人区 | 九九九九热精品免费视频点播观看 | 国产精品video爽爽爽爽 | 国产一区在线视频 | 日韩av伦理片 | 激情深爱.com | 亚洲成av人片在线观看香蕉 | 久久综合网色—综合色88 | 久草在线资源网 | 又黄又爽又湿又无遮挡的在线视频 | 色综合欧洲 | www91在线观看 | 午夜精品一区二区三区四区 | 久久99精品国产99久久 | 久久人人插 | 国产视频精品网 | 二区视频在线观看 | 欧美国产精品久久久久久免费 | 最新日韩精品 | 精品久久一二三区 | 天天天干| 久久国产精品99久久久久久丝袜 | 狠狠撸电影 | 亚洲激情在线观看 | 日本精品视频一区二区 | 免费情趣视频 | 久久不卡免费视频 | 狠狠躁夜夜av | 特级aaa毛片 | 欧美国产日韩在线观看 | 中文字幕在线日亚洲9 | 亚洲欧美日韩精品一区二区 | 国产一二三区av | 国产一区二区播放 | 在线观看免费成人av | 在线看日韩av | 久久免费观看视频 | 亚洲日本色 | 97视频在线免费播放 | 亚洲精品美女免费 | 超碰在线资源 | 最新国产在线观看 | 久久高清免费观看 | 天天看天天干 | 日韩电影黄色 | 在线免费观看国产视频 | 亚洲黄色网络 | 精品久久久久久久久久久久久久久久久久 | 久久99九九99精品 | 久久精品国产亚洲精品2020 | 97自拍超碰 | 久久综合综合久久综合 | 中文亚洲欧美日韩 | 五月花激情| 蜜桃视频色| 99av在线视频| 国产精品久久久久久高潮 | 毛片美女网站 | 国产精品久久久久影院日本 | 国产第一页在线观看 | 国产一及片 | 激情网在线观看 | 亚洲欧美国内爽妇网 | 国内外成人免费在线视频 | 偷拍视频一区 | 西西www4444大胆视频 | 91麻豆产精品久久久久久 | 狠狠狠色丁香综合久久天下网 | 99久久99久久精品国产片果冰 | 五月婷婷中文网 | 久久精品网站视频 | 777久久久| 国产免费不卡av | 中文在线免费视频 | 欧美午夜久久 | 久草观看视频 | 中文字幕观看av | 国产在线中文 | 91chinese在线 | 国产精品白丝av | 成年人免费在线观看网站 | 欧亚日韩精品一区二区在线 | mm1313亚洲精品国产 | 爱爱av网站| 在线视频 影院 | 亚洲成人中文在线 | 美女激情影院 | 国产品久精国精产拍 | 色噜噜噜| 少妇bbbb揉bbbb日本 | 亚洲精品人人 | 婷婷成人综合 | 国产一区二区在线免费播放 |